Our client, a global retailer provides over 200+ internal domain-specific services, that are used to run its global business. Each service serves a particular purpose and often requires collaboration with other domain service offerings. At the core of the services network, one of service exists to provide key information relating to brick-and-mortar store locations and virtual locations worldwide, such as websites.
Every store possesses unique features from which insight can be derived such as opening hours, geo-coordinates, addresses, formats, and also a list of in-store services.
These Location services feed various frontend and backend applications that in turn support almost 170 internal departments through a dedicated custom enterprise API, providing universal access to both data warehouses & data lakes. This enables each customer using the service to combine location data with other variables to provide business-critical value through these services.
The challenge
Our customer had created an initial version of a system that was narrow in scope and enabled basic navigation. This had been a web-based application that presented some XML data using an API-friendly method. The information had been stored individually within third-party applications instead of an internal database.
The use of third-party software has made it difficult to process and share data easily. This was one of the reasons that tech security and data management actively pushed to industrialize the service.
During the implementation phase of this project, certain scalability issues came up, and it proved nearly impossible to achieve the ideal solution since everything was written in legacy Java code and atop the mainframe infrastructure.
The solution
VirtusLab (VL) first connected a new version of the solution, atop the existing mainframe, to stabilize the solution. Gradually VL rewrote the entire system to mitigate the risk of system failure or downtime.
The new enterprise API now supports essential business operations with a continuous flow of trustworthy information.
VL created a NoSQL document database to store the information in-house and introduced a modern infrastructure that included a backup system, increased security capability and wrote frontend applications with React. These web applications enabled users to log into the system to browse and modify the location data.
The enterprise API gained its reliability due to the change from an old Java version to Kotlin, introducing the most up-to-date tech stack into the system. Using reactive programming enabled the reduction of latency, high throughput, and scalable applications and made it more scalable without affecting the infrastructure budget.
The language change also helped to improve stability. VirtusLab introduced an automated release pipeline infrastructure (CI/CD) to work in a cloud environment and to allow for thousands of automated tests. We ensured that everything ran smoothly and that the data was always up-to-date.
The results
VirtusLab created a stable and reliable enterprise API that handles large amounts of location data and fuels over 150 business-critical internal systems and external applications.
The enterprise API ensures enough insights for employees to run business-critical processes dependent on this data type and provides built-in security for this data. Meanwhile, these processes have proven to be solid and scalable and have helped the retailer keep up with its strong growth.