Multi-Tier Architecture Design with API-Led Connectivity for EU
Scalefocus leveraged the MuleSoft Anypoint platform to reboot our customer’s overall API lifecycle, including the design, implementation, deployment, and monitoring stages. The company’s inability to keep up with the snowballing demand for new APIs was a problem we solved by utilizing a three-tier layer architecture design. This put an end to their struggles with some of their systems’ functionalities, which benefited hugely from the increased reliability our work brought. We also developed multiple new features and enabled automated testing and deployment using CI/CD.
30% increase in efficiency and productivity
Upgrade of 20
existing outdated features
Founded over 150 years ago, this German enterprise provides vehicle inspection and certification that is recognized throughout the European Union. Its activities also include testing, evaluations, checks, analyses, measurements, assessments, and monitoring of installations, equipment, and various other products and services. The company has multiple branches across Europe that utilize separate systems to handle operations, licensing, billing, invoicing, etc.
Depending on the market demand, there were constantly new APIs to be exposed as our customer has over 20 branches. Each branch needed the APIs at different times, and quite a few of these interfaces had to be implemented from scratch. As test results were literally flooding all the branches’ systems, the primary purpose was to store them simultaneously.
Therefore, our team had to expose the APIs, get those results, and store them in all the customer’s systems and databases. Besides the test results APIs, there were also APIs for orders, order cancellations, order details, changes in order status, etc.
The sheer number of branches with separate systems was always going to be a challenge. Naturally, the more different systems you work with, the more complicated the storage process becomes, as it was sometimes parallel in multiple systems, and at times, we had to do it sequentially – one system after another, depending on the requirements and business logic. Technical documentation was also insufficient, which did not exactly accelerate the process.
The Scalefocus team had to add new functionalities and develop numerous APIs to provide integration for connecting all the customer’s systems. Each new system inclusion required the addition of different APIs. An integration with, for example, Audatex was an entirely new flow. We also added reliability or retry mechanisms in some of the flows.
Our customers were experiencing severe difficulties supporting administrative processes like invoicing, handling orders, payment arrangements, scheduling appointments, and processing test results. Our team linked new channels to flows that had already been implemented and systems already in place, such as the payment and invoicing system. Scalefocus included those channels in the entire process, especially with corner case scenarios where specific mappings needed to be changed or a system required to be invoked for a particular channel. As testing in our environment was complex and insufficient, we had to do a lot of testing with non-technical end users.
Scalefocus used a three-tier layer architecture design to reuse the APIs, simplify system replacement, and provide a structured API network. This made sense as API-led connectivity is the most popular architectural design for MuleSoft, and applications are designed to be organized in a three-layer system with Experience, Process, and System layers.
The Experience layer is related to the client experience, and depending on the system where we integrated King, we had separate Experience APIs to leverage all benefits provided by the microservice architecture. We used the Process API to orchestrate, handle the logic, and gather results from different system APIs. And, finally, we communicated with the end system utilizing the System APIs
Scalefocus utilized the MuleSoft Anypoint platform as one of the most advanced platforms for designing, developing, and managing API and Integrations. Anypoint helped us to accelerate delivery and automate security and governance. It also enabled us to build in reliability, scalability, and visibility to achieve resilient operations and a future-proof foundation. As a deployment model, we used RTF, which is a container service that allowed us to run MuleSoft applications and composite APIs and API gateways across any environment with centralized management via the Anypoint Platform.
Scalefocus specified the contracts for all the APIs as the first step, facilitating the data sharing before development. Receiving the feedback from the client, we invoked the APIs with the mock data before our development to quickly start the integration. As APIs are discoverable, we could search for all existing APIs specific to the organization and reuse all applications depending on the logic and the requirements.
Most of the APIs were connected to an extent, but their relation to conducting technical tests turned out to be one of the main flaws. The test results contained vast amounts of vehicle data with numerous images and PDFs – from plate number, model, and number of tires to air conditioning availability or if it is damaged.
Our team exposed APIs for transmitting the test results from one system to another. As a result, this enabled the customer to conduct technical tests on vehicles in the fleets of various systems from the public and private sectors. While transmitting the test results for each system, we sent them to three other systems and maintained the notification systems so some of the results could also be sent by e-mail. We also exposed the APIs for transmitting reports related to the test results as they collected information related to the vehicles.
Scalefocus also improved the customer’s system reliability and added new features to processes like online payments, scheduling appointments, handling orders, and processing test results. To increase system reliability, our team utilized the circuit bracket pattern. To avoid losing any messages, we used patterns that improved the reliability. In case messaging was not an option, we added click reliability with external system caching and then had schedulers retrigger those reports and resend them to the systems. Overall, Scalefocus delivered over 50 functionalities for multi-tenant purposes, at least 30 of them being completely new, while the remaining ones were existing features that we updated and upgraded.
Another significant achievement is the automation of testing and deployment using CI/CD. Working with Azure DevOps, there was a CI/CD pipeline in the background providing continuous integration and delivery. This means that there was an automatic deployment to the development environment after raising and approving a peer request. Then, we could easily move it to the QA environment, and with the scheduled deployments, everything was automatic and depended on the process owner’s approval.
Each project had a separate CI/CD doing the deployment to the environment. We also secured all the properties so that production in the QA property is encrypted, and usually, the developer is not aware of higher environment values. With regard to automated testing, our team did separate MUnit tests for each deployment, so there were multiple MUnit tests for all possible scenarios. In terms of automated testing, our team performed separate MUnit tests that covered various scenarios and were run prior to each deployment.
Reusability, accelerated development, and cost reduction are among the most significant achievements, and they are all due to the API-led connectivity approach and the microservice architecture. We had separate applications explicitly related to one functionality, which facilitates modification. This means that if we are about to do an integration and that system already has an SAP API, we can reuse and invoke the existing system’s API.
In the network context, the more the applications are, the less there is to develop from scratch and the higher the reusability is. This is due to the microservice and discoverability – since all applications are discoverable and have contracts, one can easily see what functionalities are exposed per API and do the included mappings. Besides contract reusability, Scalefocus has created data types that can be reused as fragments. As a result, we can reuse contract account orders in all contracts, facilitating contract maintenance.
Process automation for a wide variety of business solutions was also pivotal. Many of the processes that we implemented had previously been manual, and process automation vastly increased their efficiency. We utilized a logging system to track all issues and easily address them in the future. The exposure of new implementation typically helps the efficiency and the speed of the processes, and Scalefocus managed to make them smoother than ever.
The business solutions that we automated include the processes for transmitting test results and reports, scheduling appointments, canceling orders and appointments, contact creation, account creation, flows where leads were included, opportunities, etc.
The reduced system complexity resulted in increased productivity and easier maintenance. The standardization also helped efficiency and productivity to increase by 30% – not a mean feat given how challenging it was to collaborate with that many branches all over Europe.
The entire project consisted of:
- Over 50 APIs
- Over 20 Connected systems
- Over 60 Interfaces
Scalefocus worked on 15 APIs and exposed 30 multi-tenant functionalities/integration/operations scenarios. We also upgraded roughly 20 existing outdated features that the customer could not fully leverage.
We have a global client base that includes Fortune 500 companies, innovative startups and industry leaders in Information Technology, E-Commerce, Insurance, Healthcare, Finance and Energy & Utilities.