Aufbau des API-Gateways

Das API-Gateway ist der zentrale Zugangspunkt zum Aufruf von Services von IT-Systemen einer Systemlandschaft von außen, sowie zum Aufruf von Services von externen Systemen von innerhalb der Systemlandschaft. Es stellt eine klare technische Grenze zur Systemlandschaft dar, indem es die internen Systeme von externen Systemen entkoppelt. Es überbrückt dabei Schnittstellentechnologien und nimmt querschnittliche Aufgaben wahr, insbesondere in den Bereichen Authentifizierung, Autorisierung, Monitoring und Protokollierung.

1. Gliederung des API‑Gateways

Das API-Gateway gliedert sich in drei Bereiche, die jeweils eine andere Funktionalität bereitstellen, aber im Kern jeweils eine Brücke zwischen der Außenwelt einer Systemlandschaft und ihren internen Systemen bilden. Diese drei Bereiche stehen für:

  • Zugriff auf Services,

  • Zugriff auf externe Ressourcen,

  • Aufgaben im Bereich des IAM.

Das folgende Diagramm verdeutlicht den Aufbau des API-Gateways noch einmal grafisch und zeigt, wie die drei Bereiche durch IT-Systeme umgesetzt werden können. Alle IT-Systeme im API-Gateway sind vom Typ Gateway.

api gateway aufbau.dn
Abbildung 1. Aufbau des API-Gateways
Legende

Die Komponenten entsprechen IT-Systemen. Farbverläufe kennzeichnen, dass ein IT-System mehr als eine Form der Umsetzung besitzt. Die Verbindungen zwischen den Komponenten sind gerichtete Aufrufbeziehungen. Die Bezeichnungen an den Verbindungen beschreiben das Kommunikationsprotokoll.

1.1. Zugriff auf Services

Der Bereich "Services" umfasst IT-Systeme, sogenannte Service-Gateways, die den Zugriff externer Systeme auf interne Services, sowie den Zugriff interner Systeme auf externe Services, ermöglichen. Zum Zugriff auf interne Systeme dient ein Ingress-Gateway, zum Zugriff auf externe Services ein Egress-Gateway. Neben der Bereitstellung eines Gateways können auch mehrere, hintereinandergeschaltete Gateways den Zugriff realisieren, wenn sie jeweils auf einen Teilbereich der Aufgaben spezialisiert sind.

Im Aufbau des API-Gateways sind Service-Gateways mit Farbverläufen zu sehen. Dies bedeutet, dass die Service-Gateways sowohl in Form einer Eigenentwicklung als auch einer Querschnittsanwendung umgesetzt sein können.

Service-Gateways kommunizieren zu internen Systemen immer über REST-Schnittstellen. Die Kommunikation zu externen Systemen richtet sich nach den Anforderungen der externen Systeme. Explizit unterstützt werden aktuell REST- sowie SOAP-Schnittstellen.

1.2. Zugriff auf externe Ressourcen

Der Bereich "Ressourcen" umfasst Gateways, die den einheitlichen Zugriff auf externe Ressourcen, wie Dateien oder E-Mails, ermöglichen. Diese IT-Systeme sind ausschließlich Egress-Gateways. Sie authentifizieren den Benutzer am externen Server und übersetzen dessen Protokoll in eine REST-Schnittstelle, die von internen Systemen verstanden wird.

Genauso wie beim Zugriff auf Services können die Egress-Gateways sowohl in Form einer Eigenentwicklung als auch einer Querschnittsanwendung umgesetzt sein können.

1.3. IAM

Der Bereich "IAM" umfasst Gateways, die zur Authentifizierung und Autorisierung von Anwendern und Systemen dienen. Er umfasst im Wesentlichen das als Querschnittsanwendung umgesetzte Authentication Gateway. Das Authentication Gateway wird über OAuth 2.x angesprochen und kommuniziert auf demselben Weg mit dem in der Systemlandschaft liegenden IAM-Service.

2. Architekturvarianten

Neben dem oben beschriebenen Aufbau des API-Gateways als Systemverbund aus eigens entwickelten Gateways und Querschnittsanwendungen, gibt es die Möglichkeit, das API-Gateway auf Basis der Betriebsplattform zu implementieren.

api gateway aufbau plattform.dn
Abbildung 2. Aufbau des API-Gateways auf Basis einer Plattform

Moderne Betriebsplattformen können einen Großteil der Aufgaben eines API-Gateways übernehmen. Dies betrifft insbesondere die Aufgaben Routing, Authentifizierung & Autorisierung, Protokollierung & Monitoring sowie Sicherheit. Es verbleiben Gateway-Systeme, welche nach dem Passieren der Anfrage durch das API-Gateway die Transformation von Schnittstellenformaten und -technologien vornehmen.