WSO2 API Management

Von: Thomas Bayer
Datum: 2018-05-09

Der WSO2 API Manager ist eine Komplettlösung vom Entwurf eines APIs, über das Deployment bis zur Pflege einer Developer Community.

Architektur

Das Produkt von WSO2 ist mit Java realisiert und läuft auf einer OSGi Runtime. Die einzelnen Komponenten sind als OSGi Bundles realisiert.

Installation

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.

Komponenten

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.

Middleware Plattform Carbon

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: WSO2 Middleware Plattform Carbon

API Publisher

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: WSO2 API Publisher

API Designer

Neue APIs können von Hand erstellt oder aus einer Swagger Beschreibung generiert werden.


Abbildung 3: WSO2 API Designer

Der Dialog unten dient zum Editieren einer Ressource.


Abbildung 4: Editieren einer Ressource im WSO2 API Designer

API Manager Eclipse Plug-In

Ein grafischer Editor erlaubt die Entwicklung von APIs in Eclipse.

API Katalog

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: WSO2 API Store

API Gateway

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.

Key Manager

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.

Analytics

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.

Dokumentation

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: Interaktives Tutorial im WSO2 API Manager

Einschränkungen der Open Source Version

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.

Fazit

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.

Vorteile

  • ASF 2 Lizenz
  • Großer Funktionsumfang
  • Einfache Installation trotz der Größe des Produktes
  • Umfangreiche Unterstützung für SOAP basierte Web Services
    • SAML2
    • XACML
  • Interaktives Tutorial direkt in der Web Konsole
  • Ausgereiftes und durchdachtes Produkt
  • Unterstützung für mehrere getrennte Kunden ( Multi Tenant Support)
  • API Lifecycle und Versioning ist durchdacht

Nachteile

  • Keine Updates in der Open Source Variante
  • Komplexes Produkt mit vielen Komponenten
  • Noch wenige API spezifische Funktionen
  • Basiert auf dem veralteten Apache Synapse und Apache Axis2


Im Juni 2018 wird der dritte Teil zu den kommerziellen Produkten erscheinen.

Weitere Produkte

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