API Gateway Configuration for Microservices Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The migration of traditional monolithic applications to a microservices-based architecture often requires substantial changes to the front-end UI application, leading to increased testing time and potential regressions, as well as a significant increase in API requests needed to render UI pages, due to the decoupling of APIs and data.
Innovation Solution
The use of configuration files, such as API configuration files, which allow for transparent migration of monolithic application modules to microservices, enabling the front-end UI application to execute a single API call and receive a single result set, while managing calls to multiple APIs, thereby decoupling monolithic application modules from microservices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If monolithic application modules are migrated to microservices, then system flexibility and independence of deployment are improved, but the number of API requests required to render UI pages increases significantly
Solution Approach 1:
The patent segments the monolithic backend into independent microservices, each handling specific functionalities. This allows independent deployment and maintenance of individual services while maintaining the overall system functionality through coordinated API calls between services.
Solution Approach 2:
The patent introduces an API gateway that merges multiple microservice API calls into a single unified interface for the frontend. This consolidation reduces the number of API requests the frontend must make while still accessing data from multiple microservices, effectively combining the benefits of microservices with simplified client-side interaction.
2Adaptability or versatility
If monolithic application modules are migrated to microservices, then system flexibility and independence of deployment are improved, but front-end UI application requires substantial changes leading to increased testing time and regressions
Solution Approach 1:
The API gateway serves as an intermediary layer between the frontend UI application and the microservices backend. This mediator absorbs the complexity of microservice interactions, presenting a stable, unified API interface to the frontend. As a result, the frontend requires minimal changes during migration, and testing time is reduced since the frontend interacts with a consistent interface regardless of backend restructuring.
Solution Approach 2:
The API gateway provides universal access to multiple microservices through a single unified interface. It handles routing, aggregation, and coordination of calls to various microservices, allowing the frontend to interact with a consistent, multi-functional gateway rather than dealing with individual microservice APIs directly.
3Adaptability or versatility
If APIs are decoupled from data in microservices architecture, then system flexibility is improved, but the complexity of managing multiple API calls increases
Solution Approach 1:
The API gateway merges multiple scattered API calls to different microservices into a single coordinated request from the frontend. It consolidates the complexity of managing multiple API endpoints, authentication, routing, and data aggregation into a single unified component, thereby reducing the apparent complexity for the frontend application while maintaining the flexibility benefits of decoupled microservices.
Data Source
AI summary
Systems and methods provide reception of a call to a first function, determination of a first configuration file associated with the first function, the first configuration file indicating a primary function, a secondary function and a relationship between a first property of the primary function and a second property of the secondary function, calling of the primary function and reception of a corresponding first result set, calling of the secondary function, the call to the secondary function including a filter on the second property based on values of the first result set associated with the first property, reception of a second result set corresponding to the call to the secondary function, generation of a composed result set based on the first result set, the second result set, and the relationship, and return of the composed result set in response to the call to the first function.


