Integration

API Management – Der Untergang der SOA?

APIManagement_Header

Was sind APIs überhaupt?

APIs sind wichtige Bausteine im Zeitalter der digitalen Transformation aber auch keine neue Erfindung. Sobald es mehr als ein IT-System in einer Unternehmenslandschaft gibt, stellt sich die Frage wie diese miteinander interagieren müssen, um die Geschäftsprozesse effizient abbilden zu können. Der Einsatz von APIs und die Methodik bewährt sich bis heute. Lediglich der Fokus hat sich mit der Zeit verändert. In der Vergangenheit wurden APIs überwiegend technisch betrachtet und nur bei Bedarf realisiert. Mittlerweile haben fachliche Aspekte einen deutlich grösseren Einfluss auf die Gestaltung und Implementierung von APIs. Ferner sind APIs integraler Bestandteil eines Systems.

Ich vergleiche sehr gerne Türen mit APIs. Türen ermöglichen den Zugang zu unterschiedlichen Räumen. Was sich hinter einer Tür verbirgt ist zunächst noch nicht ersichtlich. Türen sind unterschiedlich gestaltet und verziert. Beispielsweise sind große, dicke und schwere Türen optimal, um den Zugang zu sensiblen Dingen zu erschweren. Ähnlich verhält es sich mit APIs. System und Daten erhalten dadurch die benötigen Zugriffsmöglichkeiten. Je nach Schutzbedarf sind die Hürden beim Zugriff auf Daten stärker oder schwächer ausgeprägt.

Innovation durch APIs

Durch die Bereitstellung von APIs ergeben sich vielerlei neue Nutzungsmöglichkeiten. APIs helfen bei der schnelleren Umsetzung von Projekten und damit in der Erzeugung von Innovationen. Grund ist vor allem, dass bei der Integration von Systemen die langwierige Abstimmung von Formaten und die zusätzliche Implementierung entfällt. Diese sind integraler Bestandteil eines Systems und decken häufig den gesamten Funktionsumfang ab. APIs sind nicht mehr nur auf einen spezifischen Anwendungsfall hin modelliert und implementiert. Somit können Daten sich schnell und einfach zwischen den Systeme bewegen und helfen manuelle Arbeitsschritte zu reduzieren. 

Ein weitere interessanter Aspekt von APIs ist die Monetarisierung. Betrachtet man APIs als Produkt, kann  man mit deren Einsatz Umsatz erzielen. Ob nun jede Transaktion oder ein definiertes Volumen Geld kostet, hängt selbstverständlich vom Geschäftsprozess ab. APIs bieten hier mitunter die Möglichkeit eben solche Szenarien zu unterstützen. Diese werden als wichtiger und integraler Bestandteil betrachtet, um Systeme zu integrieren und neue Ideen und Projekte zu implementieren und damit Innovation zu fördern. Auch zukünftig verlieren APIs nicht an Bedeutung.

Mit zunehmender Anzahl und Variationen APIs in Unternehmen benötigt es eine jedoch ausgeklügelte Lösung, um den Überblick und die Kontrolle über die Vielzahl an APIs gewährleisten zu können. Dies ist mitunter einer der Gründe für die Entwicklung von API-Management-Systemen, die nicht nur für die Veröffentlichung von APIs zuständig sind, sondern auch deren Optimierung und Kontrolle ermöglichen.

In diesem Blogpost beschreibe ich, worum es sich bei API-Management-Systemen handelt und welche Funktionalitäten diese mit sich bringen. 

API Management

Kurz gesagt können mittels API Management Systemen APIs kontrolliert auf einer Plattform von Nutzern zur Verfügung gestellt und konsumiert werden. Im Rahmen der Plattform lässt sich der Lebenszyklus von APIs vollständig verwalten. 

API-Management-Systeme können APIs erstellen, die Verbindung zwischen APIs und Anwendungen steuern und über den gesamte Lebenszyklus einer API überwachen. Mit der Erstellung von APIs ist im Kontext von API Management Systemen nicht die komplette Entwicklung der Backend-Schnittstelle zu verstehen. Es muss ein Eintrittspunkt auf der Management Plattform konfiguriert werden (ggf. mit Security Policies), der letztlich die gewünschten Aufrufe an die tatsächlichen Backend Services weiterleitet. 

Dadurch bietet sich für Unternehmen die Möglichkeit, die digitale Transformation der eigenen Prozesse voranzutreiben, damit zwischen der Unternehmens-IT und den Fachspezialisten ein gemeinsames Verständnis zu den Prozessen entsteht. APIs die auf API Management Plattformen veröffentlicht werden, dienen hier als API Proxys, die die realen Backend APIs geregelt und gesichert für die Nutzung nach Außen exponieren. Die Management Lösungen bieten weiterhin den Vorteil, dass API Nutzer und API Anbieter voneinander entkoppelt werden und führt dazu, dass die Entwicklung beider Parteien losgelöster stattfinden kann als bei konventionellen Punkt-zu-Punkt Verbindungen. Beispielsweise beim Betrieb von mehreren Versionen einer einzigen API ergibt sich die Möglichkeit, die API Nutzer auf jeweilige Versionen zugreifen zu lassen, die eine saubere Verarbeitung ermöglichen. Diese können dann im Nachgang auf die neueste Version migrieren, während parallel andere Nutzer die neueste Version ansprechen können.  

API Management Bereiche

Vereinfacht lassen sich drei Bereiche innerhalb einer API Management Plattform identifizieren, die herstellerunabhängig enthalten sind. Diese Bereiche sind das Developer Portal, API Gateway und API Analytics. Diverse Anbieter bieten weitere produktspezifische Bereiche an, um den API Lebenszyklus zu unterstützen und zu erweitern.

API Developer-Portal

Das API-Developer-Portal ist bei den meisten Produkten eine Webanwendung. App Entwickler können im Developer Portal ihre eigenen Applikationen registrieren und die Nutzung von bereitgestellten APIs beantragen. Das API Team besteht aus API Administratoren, deren Rolle es ist, bereitgestellte APIs zu verwalten und neue APIs auf der Plattform bereitzustellen. Weiterhin wird in den meisten Lösungen für jede API eine zusätzliche Dokumentationsseite bereitgestellt, die entweder manuell oder automatisch erstellt werden kann. Mithilfe der Dokumentation können beispielsweise Entwickler schneller die gewünschte APIs in die eigenen Applikationen eingebunden werden.

API Gateway

Zentralen Verteilpunkte von API-Management-Systemen sind API Gateways. Gateways stellen die Kommunikation von den bereitgestellten APIs auf der Management Plattform vorstellungsgemäß sicher und überwachen diese. Die Konfiguration kann dabei als Einzel- oder Multiinstanz vorgenommen werden. Weiterhin lassen sich bei Bedarf diverse Deploymentoptionen von Gateways wie Microgateways für Microservices oder Mobilegateways für Mobile und IoT Services konfigurieren und umsetzen. Die Einhaltung von Security Policies ist durch Daten Validierung und Nachrichten Transformation gewährleistet.

API Analytics

API Management Lösungen sind jedoch nicht nur für die technische Vernetzung von Unternehmenssysteme interessant. Die Transaktionen und Vorgänge, die über eine solche Plattform laufen, können auch Potenzial für Analyse und Optimierungen der umgesetzten Prozesse bieten. Genau dafür eignet sich der Bereich API Analytics. Mittels API Analytics lassen sich individuelle Performancekennzahlen wie beispielsweise Traffic Zuwachs über die APIs, Anzahl angebotener APIs, Anzahl Consumer-Anwendungen aufzeigen. Ebenfalls können Reports und Dashboards auf Basis gewünschter Daten erzeugt werden. Mit diesen Informationen können sowohl Business als auch Technik Vorgehensprozesse und Konfigurationen optimieren, um die Qualität und Effizienz der API-Management Plattform kontinuierlich zu steigern.

Abhängig von der Wahl des Herstellers gibt es unterschiedliche Möglichkeiten für das Hosting der API Management Plattform. Die marktführenden Hersteller bieten Cloud Hosting für ihre Plattformen an. Darunter befinden sich die gängigen Variationen wie Private-, Public- und Hybrid-Cloud. Bestimmte Hersteller bieten auch ihre Lösungen als On-Premise Variante an. Damit lassen sich Plattformen nur im Unternehmenskontext betreiben. Dadurch lassen sich die meisten Systemarchitekturen und Sicherheitsrichtlinien von Unternehmen bedienen.

Bedeutet API Management das Ende der SOA? 

Es stellt sich die provokante Frage: Ist die SOA tot? Die Antwort darauf ist nein, sie ist es nicht. SOA und API-Management Lösungen nutzen beide die gleichen Ansätze und Muster und prinzipiell gibt es kaum Unterschiede zwischen den beiden.

Viele Unternehmen nutzen bereits etablierte SOA Architekturen, um interne System miteinander zu vernetzen und externe Systeme in Prozesse zu integrieren. SOA-Lösungen verfolgen vor allem das Ziel bestehende Altsysteme von Unternehmen in den modernen Systemlandschaften zugänglich zu machen. Die meisten SOA Architekturen sind über Systemgrenzen hinweg konzipiert, sodass für mehrere Technologien ein gemeinsames Modell geschaffen werden muss. Dadurch verläuft die Kommunikation untereinander reibungslos. Außerdem handelt es sich fast ausschließlich immer, um proprietäre Lösungen die spezialisierte Entwickler erfordern. APIs hingegen sind häufiger auf ein bestimmtes Systeme zugeschnitten, um die angebotenen Funktionen für API Nutzer verwendbar zu machen. Somit ist der einzige spürbare Unterschied zwischen beiden die Granularität in der Umsetzung von Geschäftsfunktionen. SOA zielt auf eine höhere Granularität hin um komplexe Geschäftsfunktionen darstellen zu können. API Management Lösungen hingegen haben eine niedrigere Granularität, um gezielt spezifische Funktionen schnell anbieten zu können.

Gerade weil SOA und API Management fast keine Unterschiede haben, ergänzen sich die beiden Lösungen. SOA integriert weiterhin Altsysteme in die moderne Systemlandschaft und API Management verwaltet die Schnittstellen moderner Applikationen. Die Lernerfahrungen mit SOA dienen als Basis, um im API Management Kontext innovative Projekte effizienter zu realisieren.

Wie geht es weiter?

Wir vom Geschäftskreis Integration befassen uns mit innovativen Technologien und Methoden, um die digitale Transformation weiter zu unterstützen. In einer Blogpost-Serie möchten wir unterschiedliche Produkte von Softwareherstellen betrachten und evaluieren, um einen Eindruck dazu zu vermitteln, welche Möglichkeiten sich ergeben können.