API first integration for enhances availability and reservation of stocks

Client background and business context 

Client profile: Electronics retail company with €21.4 billion in revenue (2017).

Project: API-first integration for enhanced availability and reservations of stocks.

Challenges

For this client, API monitoring checks to see if one or more resources are available (and therefore responding to calls) or not. Receiving notifications about any possible breaks in the chain of dependence allows companies to act appropriately in order to ensure that the main platform stays online even if other connected assets and platforms do not. 

Enhance availability for order processing: Availability is one of the most requested information during the order taking process. Availability is not a fixed value, but in this case, it needed to be calculated for better predictions and responses to the eventual critical situations. 

Connect different touchpoints from different locations: Create a way in which different locations can provide information in a unitary way. 

Create the ability to add new touchpoints: As the working locations and the company’s services increased, the system must act accordingly and be able to respond to the new business needs. 

Increase system performance:  The company’s system should’ve been scalable and able to handle at least 1.000 queries per second. 

Time to market: Release the system in a short period of time, without affecting the company’s processes and normal data flow.

Technologies

MongoDB

Apache Tomcat

Docker

Java

Spring by Pivotal

Gradle

Git

Kafka

Our approach

In a consultative approach, together with the clients we started mapping the requirement and the needs of the existing ecosystem. 

The company had different services, each with a collection of different APIs. Each service describes a specific capability, with well-defined scope and entities. To increase the efficiency of the system, we used a decoupled architecture that allows the company’s users to move, replace services, as well as their underlying persistence systems. 

After thoroughly researching the company’s needs, we have defined the APIs needed, together with their methods, restrictions, and pre-conditions. To ensure the correctitude of the implementation, we set up API blueprint testing, as well as API automation tests. These tests were done while building logic downstream. Our teams managed to enable in parallel different systems which were ready for requests, in a record time. 

The company has different touchpoints in different locations. As the company is in continuous growth and diversification, together with our clients we have decided to create a future-ready solution that would address all the business requirements. We focused on defining the services in a microservices platform. In parallel, we ensured the integration of different touchpoints, as well as the creation of new touchpoints.

Results

Our teams managed to release in time a future-ready solution with positive business impact. We delivered an on-premise infrastructure at the beginning which is extended to a cloud-based solution, to enhance scalability during peak times. 

The solution provides a single source for availability information which ensures a consistent stream of data across all touch points. Additional touch points and consumers can be enabled easily by consuming standard APIs.  We implemented an independently deployable module that enables fast changes and has enhanced resilience support in terms of compensation in case of failure, and caching.  

In terms of business benefits, the solution offers an increased number of availability calls provided with 3 instances. This may be summed up in: 

Approx. 2200 calls/second availability calls, with an estimated response time of 0.04 seconds.

Number of reservation calls: 33 calls/second.

Number of RTAM updates: 50.000 messages/hour.

This availability level ensures a high level of performance for the system and a better response to critical situations. 

Other success stories:

TIBCO integration for enhanced continuity
TIBCO
integration