Open Source API Gateway
Über ein API-Gateway kann Funktionalität von internen Enterprise Anwendungen externen Nutzern zur Verfügung gestellt werden. Zu den Anwendungsgebieten zählen:
- Cloud Computing
- Soziale Netzwerke
- Mobile Anwendungen
Ein API Gateway kann zur Veröffentlichung von Schnittstellen die folgenden Aufgaben übernehmen:
Anpassung der Schnittstelle
Öffentliche APIs, die von externen Clients angesprochen werden können unterscheiden sich oft von internen Schnittstellen. Öffentliche Schnittstellen verwenden wesentlich häufiger JSON, YAML oder POX anstatt SOAP. Oft wird auch nur ein Teil der Funktionalität nach außen angeboten oder ein Teil der Daten aus einer Antwort herausgefiltert. API Gateways oder XML Appliances können die externen Schnittstellen entsprechend adaptieren und eine Anpassung z.B. von XML und SOAP auf JSON und REST vornehmen.
Absicherung gegen externe Angreifer
Ein API Gateway kann als zentraler Kontrollpunkt dienen, der interne Resourcen gegen Angreifer aus dem Internet schützt. Zu den Security Features von API Gateways gehören:
- XML Attack Protection
- Zugriffskontrolle über Access Control Lists (ACL)
- Validierung von XML und JSON gegen Schema Definitionen.
Monitoring
Da die Kommunikation mit Externen über das API Gateway läuft, können dort alle Nachrichten zentral protokolliert werden.
Membrane API Gateway
Für das Routing von API und HTTP Aufrufen haben wir Membrane API Gateway entwickelt. Membrane ist Open Source und bietet zahlreiche Funktionen für Routing, Transformation, Monitoring und Sicherheit.
Neben Membrane sind weitere Open Source API Gateways wie z.B. Apache APISIX im Web verfügbar.