Modernization and reliability improvement of the GEODIS enterprise Bus monitoring and supervision application

Duration
5 months
Team
3 persons

The project

As trust in this key tool was eroding, GEODIS launched a modernization project to improve the reliability of its Enterprise Bus monitoring and supervision application, turning it once again into a daily ally.

GEODIS is a global leader in transport and logistics. A subsidiary of SNCF, the company operates in more than 60 countries, offering services in freight forwarding, contract logistics, distribution, and express delivery.

Geobus Watcher is a central component for the administration, monitoring, and supervision of the GEODIS Enterprise Bus. Initially developed as a proof of concept with a technical stack that was not suitable for the company, the tool quickly revealed its limitations: uncertain reliability and growing technical obsolescence. As a result, every evolution or modification of the application became a dreaded event for both development and Ops teams, leading to a loss of confidence in the tool.

GEODIS was faced with a difficult strategic choice:

  • Completely rewrite the application (an option with high costs, long timelines, and significant risks),
  • Or modernize it (without clear visibility on the feasibility or benefits of such an approach).

Other service providers just do what they're told without really digging in. With you, when something's wrong, we're immediately alerted, we investigate, and we get proposals. There's much more interaction with exFabrica than with other providers.

Czernich Nicolas, Application domain manager at GEODIS

Methodological approach

1. 360° audit to clarify the solution

GEODIS engaged exFabrica to clarify the situation: should they start from scratch, or build on the existing application?

Over six days, an exFabrica architect conducted a thorough audit of the Geobus Watcher application. The goal: to evaluate the architecture, technical choices, points of weakness, and identify concrete levers for modernization.

Audit Conclusion: a complete rewrite was not necessary
The existing application, although technically outdated, provided a usable foundation. The audit outlined nine key modernization areas to transform the application progressively while minimizing risks.

2. A targeted modernization guided by the audit results

Following this analysis phase, GEODIS decided to embark on the application redesign based directly on the audit's recommendations.

The modernization plan leveraged several key areas identified during the audit, including:

  • An API-first approach to decouple the backend and frontend in a sustainable way
  • Migration to a relational database to: Optimize relationships between assets, facilitate the addition of integrity rules and align with the group's standards
  • Upgrade of SpringBoot (from version 1.5.2 to 3.3.0)
  • Deployment automation and containerization of the application
  • Enhanced security through the integration of OAuth

Thanks to these improvements, GEODIS teams were able to fully take ownership of the tool across the entire chain (development, testing, deployment, etc.). The application is now reliable, maintainable, and scalable, with much smoother production cycles and clear governance of data and features, providing GEODIS with a powerful tool to monitor its critical flows.

Technical proposal

The project began with a thorough analysis of the existing code, followed by the setup of a local test environment (Docker, devcontainer, etc.) to run the application and understand its behavior.

Some functionalities were mocked/stubbed (notably calls to MQSeries), while others were added to facilitate work, such as deployment on embedded Tomcat or the automatic generation of Swagger documentation from annotations.

Based on this initial interface contract, we cross-referenced this information with the call logs to classify and prioritize the endpoints.

In collaboration with the client, a comprehensive review of the Swagger documentation was conducted. This improved its quality by adding comments, providing more precise data model typing, and removing obsolete endpoints. This specification then served as the basis for the automatic generation of controller code during each build in the new version.

This work enabled us to start, more confidently, the backend redesign. The repository layer was progressively migrated to PostgreSQL, with the creation of the associated entities. The data model, initially very complex due to poor use of the document model, was significantly improved (readability, maintainability, relationships, and constraints).

Interactions with the machines to be controlled were made more reliable through better exception management.

The business rules were centralized, and violation cases are now easily testable and manageable directly from the database.

Finally, health checks were added to enable monitoring of the system's status and related components.

Technical stack

  • Java (1.8 à 17)
  • Spring Boot (1.5.2 à 3.3.0)
  • MongoDb
  • IBM DB2
  • PostgreSQL
  • Gitlab
  • OAuth 2
  • AngularJS
  • NodeJS
  • Sonar
  • Kubernetes
  • Openshift

Intervention areas

  • Architecture
  • Backend Development
  • Frontend Development
  • Delivery Manager
  • DevOps
  • Operability

This project was complicated. Moving from a completely non-relational MongoDB database to something fully relational required a deep understanding of how everything worked.

Czernich Nicolas, Application domain manager at GEODIS

Results

Number of monitored flows
1 million/day
Number of servers to manage
12
Number of SQL tables
+/- 30
Number of endpoints
20

Client testimonial

Nicolas CzernichApplication domain manager at GEODIS

exFabrica is not just an executor: the team challenges our ideas, suggests alternatives, and brings the expertise we lack.

On GEOBUS Watcher, they brilliantly led the migration of a complex Mongo database to a robust relational architecture while providing daily technical leadership.

Their partner-like approach — responsive, transparent, and free of contractual heaviness — saves us precious time. In the end, we come away with a better product... and a better team.

Our exFabrica touch

We adopted an agile approach, favoring short cycles and a rapid feedback loop to maximize responsiveness and ensure continuous improvements.

We mobilized an expert and cross-functional team capable of addressing the entire technical scope: CI/CD, backend, frontend, security, and monitoring.

To ensure a smooth and secure deployment, we assembled a dedicated task force, ensuring close coordination and full control over the production rollout.

Beyond the technical modernization, we also provided a thorough knowledge transfer to the GEODIS teams, enabling them to take ownership of the solution and ensure its sustainability.