Platform voor API-beheer over de volledige levenscyclus. APIM biedt:
- API-gateway: Eén toegangspunt voor alle backenddiensten
- Ontwikkelaarsportaal: Self-service API-documentatie en testen
- Policy-engine: Rate limiting, caching, transformatie, authenticatie
- Analytics: Gebruiksstatistieken, prestatiemonitoring en inzichten
Strategieën voor API Management
Policyframework
APIM-policies zijn XML-configuraties die op verschillende niveaus worden toegepast (globaal, product, API, bewerking):
Een verzoek door de policy-pipeline
Inkomend
- validate-jwt
- rate-limit-by-key
- cache-lookup
- rewrite-uri
Uitgaand
- set-header (remove)
- set-body (liquid)
- cache-store
Illustratief voorbeeld
Inbound policies
Toegepast voordat het request naar de backend wordt doorgestuurd:
- Rate limiting en afdwingen van quota
- JWT-validatie en OAuth 2.0-authenticatie
- Requests transformeren en headers aanpassen
- IP-filtering en CORS-configuratie
Backendpolicies en backendresources
De communicatie met de backend aansturen:
- Service-URL's herschrijven en load-balanced pools (eigenschap van de backendresource)
- Circuit breaker voor fouttolerantie (eigenschap van de backendresource, geen policy)
- Retrypolicies met exponentiële back-off
- Authenticatie naar de backend (certificaat, credentials)
Outbound policies
Toegepast voordat de response naar de client teruggaat:
- Responses transformeren en data maskeren
- Responses cachen voor betere prestaties
- Headers filteren en CORS-headers
- Zoeken en vervangen in de body van de response
Geavanceerde APIM-functies
- API-versiebeheer: Versiebeheer via URL-pad, queryparameter of header
- API-revisies: API-wijzigingen veilig testen voordat ze actief worden
- Self-hosted gateway: De gateway on-premises of in andere clouds uitrollen
- Synthetische GraphQL: GraphQL-API's maken van bestaande REST-endpoints
- Validatiepolicies: Validatie van requests/responses tegen het OpenAPI-schema
- Mock responses: Voorbeeldresponses teruggeven tijdens de API-ontwikkeling
Het ontwikkelaarsportaal aanpassen
- Branding: Eigen thema's, logo's en opmaak
- Contentbeheer: Eigen pagina's en documentatie
- Interactieve console: API-bewerkingen uitproberen met echte credentials
- Abonnementsbeheer: API-sleutels aanmaken via selfservice
- Codevoorbeelden: Automatisch gegenereerde voorbeelden in meerdere programmeertalen
API-led integratie
We structureren API's in drie lagen, zodat backendsystemen kunnen wijzigen zonder de kanalen erboven te breken.
Experience-API's
Kanaalspecifieke API's op maat van specifieke afnemers (mobiele apps, webportalen, chatbots). Ze bieden geoptimaliseerde datastructuren en bewerkingen voor elk kanaal.
Process-API's
Een laag met bedrijfslogica die meerdere system-API's orkestreert. Hier zitten de bedrijfsprocessen, data-aggregatie en transformatielogica.
System-API's
Low-level API's die rechtstreeks verbinden met backendsystemen (databases, SaaS, legacysystemen). Ze bieden gestandaardiseerde toegang tot de onderliggende databronnen.