Azure API Management (APIM) in modernen Integrationsarchitekturen

Carsten MeyerCloud Computing, Integration mit Logic Apps, Microsoft Azure, Sunato-Press

Azure APIM Übersicht

In zwei vorherigen Blog-Posts haben wir uns mit modernen Integrationstechnologien und -architekturen auf der Basis von Microsoft-Lösungen befasst (Moderne Integration in der Cloud mit Logic AppsWann sich der Einsatz von Logic Apps rechnet). In diesem Artikel stellen wir das Azure API Management vor, das sich optimal zur Ergänzung Cloud-basierter Integrationsszenarien eignet.

Bevor das Azure API Management (APIM) genauer beschrieben wird, hier eine kurze Einführung in die grundsätzliche Thematik: Ein APIM dient dazu, über einen einheitlichen und abgesicherten Zugang den Aufruf von APIs zu kontrollieren und zu steuern. Dazu gehören z. B. die Festlegung einer maximalen Aufruf-Anzahl pro API-Nutzer oder die Umwandlung eines XML-Requests in JSON.

Bei der Einführung eines APIMs in der eigenen Organisation stellt sich insbesondere die Frage, ob sämtliche Calls zu Services über das APIM laufen sollen. Dies ist mit beträchtlichem Aufwand verbunden – alle APIs müssen in das APIM integriert und sämtliche Aufrufe in bestehenden Applikationen über das APIM geschleift werden. Aus diesem Grund beschränkt sich der APIM-Einsatz häufig auf Schnittstellen, deren Nutzer sich außerhalb des eigenen Unternehmens befinden und über deren Zugriffsverhalten keine organisatorische Kontrolle besteht. Dies ist bspw. bei Kunden und Lieferanten oder auch Tochtergesellschaften mit autonomer IT-Abteilung der Fall.

Die folgende Darstellung zeigt den Aufbau und die wichtigsten Elemente des Azure APIMs.

Azure APIM Übersicht

Die zentralen Komponenten des Azure APIMs sind

  • das Publisher Portal – Bereitstellung von APIs
  • das Developer Portal – (Externe) Entwickler können Zugriff auf APIs erhalten
  • die API Gateways – API-Aufrufe werden an Zielsysteme geleitet

Microsoft ist gerade dabei, sämtliche Funktionalitäten des APIMs in das Azure Portal zu integrieren und die „alten“, eigenständigen Portale für Publisher und Developer abzulösen:

APIM im Azure Portal

Der im obigen Bild gezeigte Bereich „APIs“ befindet sich als Public Preview bereits im Azure Portal. Hierin können die APIs angelegt werden, die danach zu Produkten zusammengefasst und über das Publisher Portal veröffentlicht werden. Die Anlage einer API bedeutet in diesem Zusammenhang immer die Integration eines bereits bestehenden Dienstes in das APIM. Es findet im APIM keine Entwicklungstätigkeit zur Erstellung eines neuen Services statt. Der erste Schritt zur Integration einer API ist in der folgenden Darstellung zu sehen.

API-Erstellung Schritt 1

Hierbei stehen verschiedene Typen von bereitzustellenden APIs zur Verfügung: Von offenen Standards wie OpenAPI über SOAP bis hin zu Microsofts Logic Apps. Diese APIs müssen nicht bei Azure gehostet sein. Es ist möglich, Dienste beliebiger Anbieter zu integrieren, solange Protokolle und Formate kompatibel sind. Nach dem Hinzufügen einer API (in diesem Fall eine Logic App) können diese und ihre einzelnen Operationen über die entsprechenden Settings konfiguriert werden.

API-Erstellung Schritt 2

Im nächsten Schritt steht die Erstellung eines Produktes an. Ein Produkt enthält eine oder mehrere APIs und kann später von Nutzern „abonniert“ werden. Zur Zeit ist die Erstellung eines Produkts nur über das Publisher Portal möglich.

Publisher Portal

In der Produktübersicht sind zwei Default-Produkte zu sehen, die bei der Erstellung einer Azure APIM-Instanz automatisch angelegt werden.

Produkte im APIM

Das Produkt „Sunato Logic Apps“ haben wir erstellt; es enthält die in einem früheren Schritt erstellte Logic App-API.

Beispielprodukt "Sunato Logic Apps"

Über die produktspezifischen Einstellungen in den Bereichen „Settings“ und „Visibility“ kann z.B. bestimmt werden, ob der Nutzer-Zugriff auf das Produkt einer Erlaubnis durch den APIM-Administrator bedarf oder welche Benutzergruppen das Produkt überhaupt sehen dürfen. Die Auflistung „Subscribers“ enthält alle aktuellen Nutzer. In den „Subscription requests“ sind die „Antragsteller“ für den Zugriff auf ein Produkt aufgeführt.

Über die Policies wird die weitere Konfiguration des Produkts vorgenommen. Dort kann z.B. eingestellt werden, wie oft ein Dienst innerhalb eines Zeitraums von einem Nutzer aufgerufen werden darf oder auf welche interne URL ein Aufruf gemappt wird. Policies gibt es für drei Granularitätsebenen (Produkt, API, Operation), wobei für unterschiedliche Detaillierungsgrade teilweise verschiedene Policies zur Auswahl stehen.

APIM Policies "Sunato Logic Apps"

Nach der Beschreibung der API-Anlage und des Publisher Portals wechseln wir nun den Blickwinkel: Aus Sicht eines (externen) API-Nutzers ist der Einstiegspunkt das Developer Portal, welches die verfügbaren APIs und Produkte auflistet. Die Registrierung für das Developer Portal erfolgt über Benutzername/Passwort. Danach ist es möglich, Produkte zu abonnieren bzw. einen Antrag auf deren Nutzung zu stellen.

Registrierung für das Developer Portal

Danach kann sich der Nutzer einen Überblick über die bestehenden Produkte verschaffen.

Produkt-Übersicht

Über die Produktdefinition oder die API-Auflistung gelangt man zur detaillierten Beschreibung einzelner API-Operationen, hier beispielhaft für die neu integrierte Logic App:

API-Beschreibung

Über den Button „Try it“ kann man (bei ausreichender Berechtigung) die API im Developer Portal ausprobieren:

Test-Aufruf der Logic App

Als API-Nutzer hat man über die eigene Profilansicht jederzeit einen kompletten Überblick über alle abonnierten Produkte und Schlüssel:

Profilansicht API-Nutzer

Über das Azure API Management gibt es natürlich noch mehr zu berichten, als in einen Blog-Post passt. Wenn Sie gerne erfahren möchten, wie man mit API Management und weiteren Technologien (Logic Apps, Functions, Service Bus, BizTalk) moderne Integrationsarchitekturen realisieren kann, wenden Sie sich gerne jederzeit an uns.

 

SUNATO verbindet: Wir integrieren Enterprise Applikationen (EAI/ EDI/ API Management), schaffen Apps für den mobilen Zugriff (Mobile Apps) und unterstützen die Digitalisierung unserer Kunden durch Innovationen. Wir sind Azure, BizTalk, .NET und Xamarin Experten an den Standorten Hamburg, München, Stuttgart.