Automated API Selection System for Microservice Development
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In microservice development, there is a challenge in efficiently selecting and managing APIs to meet rapidly changing customer needs, as existing methods require extensive manual work to associate functional and non-functional requirements with APIs, leading to increased man-hours and inefficiencies in API selection and integration.
Innovation Solution
A dynamic API selection system that includes an API repository, a save processing unit for inputting API requests, and a candidate API extraction processing unit to automatically match and extract APIs based on functional requirements, facilitating the correspondence between API requirements and definitions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual API selection and verification methods are used, then developers can thoroughly evaluate each API, but the development cycle becomes extremely long and man-hours become enormous
Solution Approach 1:
The API selection process is segmented into automated extraction of candidate APIs based on functional requirements, and manual verification phases. The system automatically segments and filters APIs from the repository that match the functional requirements, reducing the burden on developers to manually evaluate every API while maintaining thoroughness in the verification of selected candidates.
Solution Approach 2:
An intermediary system (the API selection system) is introduced between the functional requirements and the API repository. This intermediary automatically extracts candidate APIs that match the requirements, acting as a mediator that reduces the manual work burden on developers while ensuring accurate matching between requirements and available APIs.
2Manufacturing precision
If developers conduct detailed surveys on each API including document confirmation and operation tests, then API selection accuracy improves, but the process becomes extremely time-consuming
Solution Approach 1:
The system performs partial automated action by extracting candidate APIs that match functional requirements, which is sufficient to narrow down the selection pool. Detailed surveys including document confirmation and operation tests are then performed only on these extracted candidates, not on all APIs in the repository. This partial automation maintains selection accuracy while significantly improving integration speed.
Solution Approach 2:
The system performs preliminary automated extraction of candidate APIs based on functional requirements before the detailed survey phase. This preliminary action filters out incompatible APIs in advance, so developers only need to conduct detailed surveys on pre-selected candidates, thereby maintaining accuracy while accelerating the overall process.
3Adaptability or versatility
If the API marketplace provides a wide variety of APIs, then developers have more choices to meet changing needs, but the difficulty of associating requirements with appropriate APIs increases
Solution Approach 1:
The system introduces an intermediary processing unit that automatically extracts candidate APIs from the marketplace repository based on functional requirements. This intermediary handles the complexity of matching diverse APIs with specific requirements, allowing developers to benefit from API variety without being overwhelmed by the complexity of selection. The intermediary filters and presents only relevant candidates.
Solution Approach 2:
The manual mechanical process of associating requirements with APIs is replaced by an automated information processing system. The system automatically extracts and matches APIs based on functional requirements using computational methods, substituting the manual cognitive effort with automated processing. This maintains adaptability to various API types while reducing selection complexity for developers.
Data Source
AI summary
An API selection system that selects an API (Application Programming Interfaces) includes an API repository that accumulates an API in association with a functional requirement of the API, a save processing unit that receives, from an application developer, an input of an API request definition that defines the functional requirement and a non-functional requirement required for an API with which an application developed by the application developer is linked and saves the input in a storage unit, and a candidate API extraction processing unit that executes a candidate API extraction process of extracting, from the API repository, a plurality of candidate APIs having a functional requirement which matches or is similar to a functional requirement of the API request definition saved in the storage unit by the save processing unit.


