Dieser Artikel ist Teil einer Reihe über API Management in der Open Source und kommerzielle Lösungen vorgestellt werden.
Lese auch die API Management Einführung
Von: Thomas Bayer
Datum: 9. Mai 2018
Aktualisiert: 25. Jan. 2019
Der WSO2 API Manager ist eine Komplettlösung vom Entwurf eines APIs, über das Deployment bis zur Pflege einer Developer Community.
Das Produkt von WSO2 ist mit Java realisiert und läuft auf einer OSGi Runtime. Die einzelnen Komponenten sind als OSGi Bundles realisiert.
Für die Installation gibt es bei WSO2 zahlreiche Optionen: Java VM, Docker Container, Docker Compose, Vagrant und WSO2 Managed Cloud.
Der Download für Java ist als Zipfile über 400 MByte groß. Nach dem Download und dem Ausführen des Startskriptes ist der API Manager sofort einsatzbereit.
Ein Betrieb ist on-premise oder hybrid in der Cloud möglich. Bei einer hybriden Installation arbeiten die Microgateways on-premise beim Kunden und das API Management mit Developer Portal, Management Konsole und Analytics läuft in der Cloud.
Das Produkt von WSO2 besteht aus einer Reihe von Bausteinen speziell für das API Management, die auf der WSO2 Middleware Platform aufsetzen wie z.B. der API Store oder API Publisher. Einige Funktionen wie z.B. Analytics sind die der WSO2 Plattform oder kommen vom WSO2 ESB.
Das API Management von WSO2 setzt auf der Middleware Plattform Carbon auf. In Carbon werden Konfigurationen, User, Identitiy Provider und vieles mehr verwaltet. Ab der Version 5.1.0 ist für die Verwaltung von APIs der API Store bzw. der API Publisher vorgesehen.
Abbildung 1:
Im API Publisher können APIs erstellt, neue Versionen erzeugt, Statistiken eingesehen und Subscriptions verwaltet werden. Die Abbildung unten zeigt das API Lifecyclemanagement des API Publishers.
Abbildung 2:
Neue APIs können von Hand erstellt oder aus einer Swagger Beschreibung generiert werden.
Abbildung 3:
Der Dialog unten dient zum Editieren einer Ressource.
Abbildung 4:
Ein grafischer Editor erlaubt die Entwicklung von APIs in Eclipse.
Der API Katalog heißt bei diesem Produkt API Store. Benutzer können sich selbst registrieren,Application anlegen und für diese Subscriptionen eingehen. Eine Subscription erfolgt über die Auswahl eines Planes.
Abbildung 5:
Das API Gateway ist mit dem WSO2 Enterprise Service Bus realisiert. Der ESB basiert selbst auf Apache Synapse. Synapse ist eine Middleware, die primär auf die Verarbeitung von XML Nachrichten und SOAP ausgelegt ist, die aber auch andere Protokolle und Technologien wie z.B. TCP, SMTP, JMS und XMPP unterstützt. Für jedes API wird automatisch eine XML Konfiguration für Synapse erzeugt, welches auch die Verarbeitung der Nachrichten übernimmt. Die Funktionalität des API Gateways kann mit eigenen Handlern erweitert werden. Die Handler werden von einer Synapse Basisklasse abgeleitet und über XML eingebunden.
WSO2 nennt seine API Gateway Komponente API Microgateway. Ein Microgateway arbeitet autonom und kann Anfragen weiterleiten, ohne dafür eine zentrale Management Komponente um Erlaubnis zu fragen. WSO2 verkauft die Trennung von API Trafic und API Management Trafic als großen Vorteil. Meines Wissens arbeiten fast alle Produkte auf diese Weise. Das Microgateway ist daher sicher kein Alleinstellungsmerkmal der WSO2 Lösung.
Die Erzeugung und Validierung von Access Tokens ( z.B. OAuth2 ) übernimmmt der Key Manager. Die API Gateways können sich für die Validierung mit dem Key Manager verbinden.
Die WSO2 Analytics Platform dient auch für das API Management zum Sammeln von Metriken und deren Visualisierung. Für das Speichern der Werte kann jede Datenbank mit JDBC Treiber verwendet werden. Als Default wird die H2 Datenbank mitgeliefert. Alerts können bei Auffälligkeiten Administratoren alarmieren. Statistiken mit Geo Location geben Auskunft über die örtliche Verteilung der Consumer.
In die Oberfläche ist ein interaktives Tutorial integriert, das den Einstieg wesentlich erleichtert. Das Tutorial führt den Einsteiger durch die Einrichtung und die anschließende Subscription eines einfachen Services.
Abbildung 6:
Die Open Source Version von WSO2 steht unter der liberalen ASF 2 Lizenz. Selbst der Einbau der Software in eigene kommerzielle Produkte ist mit dieser Lizenz möglich. Die Open Source Variante hat aber die Einschränkung, dass es keine Updates gibt. Nach einiger Zeit kann aber eine neue Open Source Version heruntergeladen werden, die die Updates enthält.
Das WSO2 API Management setzt auf dem kompletten Middleware Stack des Herstellers auf. Einige Funktionen und Aufgaben wie z.B. das Einrichten eines Identity Provider für die Sicherheit müssen in der komplexem Carbon Oberfläche gepflegt werden. Die API Gateway Komponente läuft auf dem WSO2 ESB. Selbst für wenige einfache APIs muss der komplette Stack betrieben und verstanden werden. Dafür bekommt der Anwender ein mächtiges Produkt mit vielen Funktionen aus dem WSO2 Stack.
Das WSO2 Produkt kann seine Entwicklung von den Web Services hin zu REST basierten APIs nicht verleugnen. Für komplexere Aufgaben wie z.B. die Transformation von Nachrichten sind Funktionalitäten aus Apache Synapse und Axis2 notwendig. Wer neben REST auch eine umfangreiche SOAP Unterstützung benötigt, für den ist das WSO2 Produkt interessant. Die Web-Oberfläche und die Features für das API Management wie z.B. der Store oder der Publisher sind modern und zeitgemäß. Die API spezifischen Funktionen sind im Vergleich mit den Funktionen der gesamten Plattform spärlich und einfach mit wenigen Optionen. Die zusätzliche Unterstützung für SOAP basierte Services ist bei einfachen Aufgaben nicht im Weg.
Die Lösung von WSO2 ist für Unternehmen interessant, die neben REST APIs auch noch SOAP basierte Web Services anbieten möchtem, oder die bereits den WSO2 ESB einsetzten.
Dieser Artikel ist Teil einer Reihe über API Management in der Open Source und kommerzielle Lösungen vorgestellt werden.
Lese auch die API Management Einführung