BIO Thema Middleware/Use case End-to-End integratie met API gateway
Alle hoofdstukken bij BIO Thema-uitwerking Middleware:
|
In de wereld, waarbij in toenemende mate functionaliteit wordt aangeboden via webservices voor allerlei verschillende clients (gebruikersapparaten) en de situatie, waarin delen van applicaties worden vervangen door zogenaamde microservices, spelen API’s een steeds belangrijkere rol. De huidige uitwisseling van data via internet zou volgens het Akamai State of the Internet Security Report 2019, voor meer dan 80% via API’s geregeld worden. De centrale vraag daarbij is: ‘Hoe kunnen verschillende soorten clients toegang krijgen tot de functionaliteit die door de microservices (of applicaties) geleverd worden?’.
Problematiek
De granulariteit van API's die door microservices geleverd wordt, wijkt vaak af van wat een bepaalde client nodig heeft. Microservices bieden doorgaans fijnmazige API's, wat betekent dat clients met meerdere services moeten communiceren. Als een lezer van een webpagina bijvoorbeeld de details van een product nodig heeft, dan deze moet zijn client-gegevens ophalen bij een reeks van services. Verder hebben verschillende clients voor dezelfde pagina verschillende gegevens nodig om pagina’s goed weer te geven op een display. Een desktopversie van een productdetailpagina is bijvoorbeeld uitgebreider dan de mobiele versie. Verder verschillen de netwerkprestaties per client. Ook de netwerkprestaties kunnen per client sterk verschillen. Webapplicaties aan de serverzijde kunnen daardoor meer verzoeken doen aan backend-services zonder de gebruikerservaring te beïnvloeden dan een mobiele client.
Oplossing
Implementeer een of meerdere API-gateway(s) die het enige toegangspunt vormen voor alle clients, zoals afbeelding 15 of één gateway per specifieke client, zie afbeelding 15. De API-gateway verwerkt verzoeken op twee manieren:
- Sommige verzoeken worden een-op-een geproxyd of gerouteerd naar de juiste service.
- De gateway behandelt andere verzoeken door deze uit te waaien naar meerdere achterliggende services.
Proces A maakt veilig gebruik van de geboden functionaliteit.
Kenmerken zijn:
- Communicatie van gelijkwaardige functies in één richting: van applicatie/service naar de client
- Functionaliteit en performance van gateway afgestemd op de gemiddelde client