Please leave your contacts, we will send you our whitepaper by email
I consent to process my personal data in order to send personalized marketing materials in accordance with the Privacy Policy. By confirming the submission, you agree to receive marketing materials
Thank you!

The form has been successfully submitted.
Please find further information in your mailbox.

Innowise is an international full-cycle software development company founded in 2007. We are a team of 1600+ IT professionals developing software for other professionals worldwide.
About us
Innowise is an international full-cycle software development company founded in 2007. We are a team of 1600+ IT professionals developing software for other professionals worldwide.

Modernizing logistics software with a Java upgrade: 30% faster order processing

Innowise has modernized the obsolete user interface and software components that had technical deficits.

Customer

Industry
Logistics
Region
Europe
Client since
2022

Our client is one of the most successful logistics companies in Europe, renowned for their unparalleled supply chain management solutions. Their vast operational footprint spans numerous countries, offering a gamut of services that cater to a diverse clientele.

Detailed information about the client cannot be disclosed under the terms of the NDA.

Challenge

Modernizing logistics software to meet tomorrow's challenges

Our client’s existing architecture had begun showing its age. The following challenges were identified:
  • Critical security vulnerabilities: in the fast-paced world of logistics, any security loophole can result in significant breaches, compromising sensitive data and operations.
  • Obsolete technology: being based on outdated tech stacks, their systems lacked the speed, efficiency, and features that modern logistics operations demand.
  • Maintenance issues: several components of their software were so antiquated that maintaining them was becoming an uphill battle, if not impossible in some cases.
Recognizing these issues, the client turned to us with high expectations. They sought not just a solution to these problems but a complete overhaul, ensuring their software was ready for future challenges.

Solution

Migrating the software to the most recent version of Java

At Innowise, we undertook a comprehensive evaluation of the logistics software. Through our detailed analysis, we recognized the core modules that were operating on the outdated Java 6 platform. With our expertise and efficient methods, we were able to quickly and smoothly migrate those modules to Java 17.

Discovery and planning

The initial phase of our modernization project was the discovery and planning stage. This pivotal phase involved two key activities: requirements gathering and architecture analysis. Subsequently, we provided the client with comprehensive vision & scope documentation.

Requirements elicitation

We engaged stakeholders through interviews and workshops to understand their business needs. As a result, we formed a comprehensive list of features, business needs, stakeholder expectations, and technical requirements.

Architecture analysis

Our professionals analyzed the current technology landscape, considering existing systems, data sources, and infrastructure. In addition, we scrutinized the third-party entities integral to the logistics company’s operations, ensuring seamless continuity in their interactions.

Furthermore, we examined the company’s strategic goals, functional and non-functional requirements to understand their unique needs and challenges. This holistic approach allowed us to develop a tailored roadmap that aligned closely with their long-term objectives.

Throughout this phase, we engaged experts, including a database engineer, to assess the data architecture and devise a preliminary migration plan. The feasibility of the proposed solution was evaluated, considering the technology stack, integration, and risks.

The discovery and planning phases served as a dynamic foundation, shaping the course of the software modernization journey. Through requirements gathering and architecture analysis, we ignited a transformation that would redefine the logistics company’s technological landscape.

Migration from Java 6 to Java 17

With a comprehensive roadmap in hand, we transitioned to the pivotal task of migrating the logistics software from Java 6 to Java 17. This endeavor was more than a simple update; it was a strategic transformation that involved thorough planning, skilled execution, and a commitment to ensuring a seamless transition.

Strategy formulation

Drawing on our experience, we devised a comprehensive strategy for the migration process. The strategy addressed the technical intricacies while also accounting for potential disruptions to the business operations. The goal was not just to migrate the codebase but also to leverage the new capabilities offered by Java 17 to enhance the software’s performance and features.

Codebase migration

Recognizing the foundational changes between these two Java versions, our initial step was a comprehensive audit of the existing codebase, followed by creating a robust backup as a fail-safe measure. Leveraging an isolated migration environment, our engineers upgraded the software dependencies to ensure seamless compatibility with Java 17’s enhanced features and performance metrics.

A critical aspect of our migration strategy was enhancing the system’s logging mechanisms. Drawing on our expertise, we fortified the application modules to capture a wide range of data – from user activities and exceptions to security threats like improper operations and incorrect login attempts. These advanced logging measures were not mere additions but were integral to the client’s overarching security and compliance requirements.

The software’s architecture was another focal point. Given the client’s need for agility and scalability, and based on our own experience with evolving tech landscapes, our team transitioned the software to a microservices architecture pattern. This decoupled, modular design facilitated independent deployment of services, better fault isolation, and scalability – a requisite for a logistics entity with expansive operations.

However, the true challenge lays in code modernization. It was imperative to integrate the Stream API and lambda expressions from Java 8 so that the code became both concise and easily understandable. Meanwhile, we examined all collections to ensure alignment with Java 17 standards. Adopting the ‘var’ keyword was another step to contemporize our codebase. Additionally, string operations were revamped to match Java 17 specifications, and wherever feasible, we transitioned from chains of if/else statements to the more versatile switch statements introduced in the newer Java version. Ensuring all these changes had no unintended consequences was our utmost priority, underscored by rigorous testing of all public methods’ logic.

Rigorous testing was a cornerstone of our migration process. Every migrated module underwent comprehensive testing to ensure that it not only met functional requirements but also integrated seamlessly with other components. Our tests have shown that this stringent examination approach minimized the risk of post-migration issues.

Here’s a breakdown of how we tested this transition across our environments:

  • Development environment (DEV): in this initial stage, our developers adapted the code specifically for logistics functionalities. They ran basic tests, focusing on route optimizations, cargo tracking, and fleet management to ensure fundamental features worked seamlessly.
  • Production test environment (IPT): This was our advanced testing zone. We simulated real-world scenarios, like high-volume cargo bookings and peak-time route searches, to check for any hitches. This environment helped ensure that our software communicated flawlessly with other logistics systems, such as warehousing databases and transportation management tools.
  • Subject test environment (IFT): Whenever we encountered a unique logistics challenge or bug, we turned to IFT. This environment was also instrumental in training our logistics teams, verifying software security amidst sensitive cargo data, and applying targeted technical fixes.
  • Production environment (PROD): With confidence from our IPT results, we launched the updated software in PROD. This was where we observed its performance in a live logistics setting, with real users, cargo, and transportation routes.

Data migration

Data migration stood at the forefront of our software modernization project. Recognizing its pivotal role, we engaged our seasoned database developers right from the project’s initiation. He embarked on an in-depth review of the existing data structures and patterns. Armed with this knowledge, we crafted a precise plan aimed at seamlessly migrating every byte of data while preserving its integrity. This wasn’t just about moving records; it was about ensuring that every linkage, configuration, and relational structure was perfectly mirrored in the new environment.
Furthermore, our overhaul was underpinned by the integration of the Hibernate framework, a strategic move made by the Innowise. Through this persistence layer, we ensured that our software modules could interact fluidly with databases without being strictly tied to the Oracle database. This deliberate integration was geared towards future-proofing our solution, making it adaptable and compatible with a plethora of database technologies. Upon completion of the migration, our engineers undertook a rigorous verification process, ensuring the newly structured database aligned with our architectural blueprint and was primed for optimal performance in all forthcoming endeavors.

Deployment

As the software transitioned through its migration stages and began to evolve into its more advanced form, every step of the deployment phase was approached with meticulous care and precision. To ensure continuity and minimal interference in the client’s daily operations, we implemented a staggered deployment strategy. 
This approach allowed us to systematically introduce the new functionalities and features, ensuring that each addition integrated seamlessly without causing unexpected challenges or disruptions to the client’s ongoing processes. Our primary goal was to offer an enhanced software experience while ensuring business as usual for our client’s team.

Technologies & tools

Front-end

Angular 15, RxJs, TypeScript, Material UI

Back-end

Java 17, Groovy; Spring Boot (3.1.3)

DevOps/Cloud

Phase 1: Jenkins, SonarQube Apache Tomcat, Ansible;

Phase 2: Google Cloud Run, Google Cloud Functions, Google Kubernetes Engine, Terraform, Google Cloud Build

Team

4
Java Engineers
4
Angular Engineers
2
QA
2
AQA
2
BA
2
DBD
1
DevOps
1
Project Manager
team-innowise

Results

30% efficiency gain, security enhancement, and future-proofing the software for market dominance

Innowise undertook a comprehensive overhaul of the software, delivering a remarkable 30% decrease in order processing which directly elevated customer satisfaction. Our efforts encompassed more than just enhancing operational efficiency, we eliminated all the security vulnerabilities, ensuring the company’s critical data remains shielded.

What’s truly commendable is that amidst these substantial upgrades, we ensured a smooth transition that allowed employees to perform their tasks without any disruptions. But our vision extended beyond addressing immediate concerns. By transitioning to Java 17 and integrating state-of-the-art technologies, the software is now adeptly future-proofed. We’ve built a robust foundation catering to:

  • Scalability to manage increasing data volume.
  • Capacity to support concurrent use by at least 500 users without sacrificing responsiveness.
  • Flexibility to introduce or adapt interfaces.
  • Enhanced security measures, complemented by fully encrypted communication via HTTPS/TLS 1.3.
  • The capability for professional augmentation of application features.

The software overhaul places the company in a dominant position, ready to navigate and capitalize on the ever-evolving market dynamics.

Project duration
  • January 2022 - Ongoing

30%

faster order processing

100%

known vulnerabilities resolved

Contact us!

Book a call or fill out the form below and we’ll get back to you once we’ve processed your request.

    Please include project details, duration, tech stack, IT professionals needed, and other relevant info
    Record a voice message about your
    project to help us understand it better
    Attach additional documents as needed
    Upload file

    You can attach up to 1 file of 2MB overall. Valid files: pdf, jpg, jpeg, png

    Please be informed that when you click the Send button Innowise will process your personal data in accordance with our Privacy Policy for the purpose of providing you with appropriate information.

    What happens next?

    1

    Having received and processed your request, we will get back to you shortly to detail your project needs and sign an NDA to ensure the confidentiality of information.

    2

    After examining requirements, our analysts and developers devise a project proposal with the scope of works, team size, time, and cost estimates.

    3

    We arrange a meeting with you to discuss the offer and come to an agreement.

    4

    We sign a contract and start working on your project as quickly as possible.

    Thank you!

    Your message has been sent.
    We’ll process your request and contact you back as soon as possible.

    Thank you!

    Your message has been sent.
    We’ll process your request and contact you back as soon as possible.

    arrow