Vortrag von der HK 2015 bei OIO in Mannheim, der die folgenden Fragen beantwortet:
- Was ist API Management?
- Welche Anforderungen und Aufgaben werden ans API Management gestellt?
- Wie ist eine API Management Lösung aufgebaut
- Welche Produkte gibt es am Markt?
53. Ihr Sprecher
53
Thomas Bayer @thomasub
Programmierer, Copter Pilot, Maker
Schwerpunkte
APIs
Microservices
Integration
Notas del editor
Was ist ein API, Versuch einer einfachen Erklärung:
API bietet Funktionen über das Netz an
Beispiel für ein API: Openweathermap.org
Im Hintergrund: die Webseite
Im Vordergrund: Abfrage des aktuellen Bonner Wetter
Öffentliche APIs wie das von Open Weather Map gibt es laut Programmable Web knapp 15000
Programmable Web ist ein populäres Verzeichnis für APIs
API, brauche ich das?
Apps brauchen APIs
Eine App ohne Backend ist oft nutzlos
selbst Spiele greifen auf Server zu.
HTML5 Anwendungen kommunizieren für APIs mit einem Backend
Auf der Amazon Webseite erscheint das Angebot eines Partners für eine Geräteversicherung. Die Anbindung erfolgt über APIs.
Bank mit REST API!
Ein API ermöglicht ...
... neue Apps, Sites & Anwendungen. Also Folge ...
... wächst die Plattform und erschließt ...
... neue Vertriebskanäle
Internet of Things
Auch für IoT & Homeautomation gibt es APIs
Drohnen Steuerung über API
Was ist ein API? Fangen wir vorne an: Was ist eine Schnittstelle?
Über eine Schnittstelle kann auf eine Komponente zugegriffen werden. Die Details der Implementierung sind verborgen.
Datenstrukturen und Befehle werden festgelegt.
Herausforderungen:
Sicherheit, Dokumentation
Überwachung, Versionierung
Im Sinne des API Management ist ein API eine
Virtualisierung der Schnittstelle.
Über ein API Gateway oder Proxy wird ein
virtueller Endpunkt für eine Komponente zur Verfügung gestellt.
Zusätzliche Eigenschaften: Sicherheit, Zugriff, Analyse, ...
Gateways oder Proxies, die ein API anbieten werden oft in der DMZ plaziert.
So sieht API Management bei den meisten Herstellern aus:
Es gibt einen API Proxy, ein Developer Portal und einen Admin Bereich.
API Gateway
Beispiel:
API Proxy der API Management Lösung von CA (Proxy war früher von Layer7)
Beispiel: API im Membrane Service Proxy
Definition eines Proxys mit Membrane
API Security
Ein Mensch läßt sich einen API Key ausstellen. Der Key kann immer wieder erneuert werden aber der
Username und Passwort des Entwicklers bleibt meist gleich.
Es gibt keine Sessions. Passwörter gehen nie über das Netz.
Mögliche API Keys:
- OAuth 1 oder 2
- JWT
- OpenID Connect
- SAML
API Keys bei3Scale & Tyk
Exemplarisches Objektmodell mit User, Key, Policy, Resource und Permission
Policy Beschreibung beim Membrane
Developer Portal
API Katalog bei Tyk und Mule.
Der Client Entwickler wählt API aus, das er nutzen möchte
API Management != SOA Governance
SOA: Service Nutzungsbeziehung in Registry
API: Registrien auf dem Portal
Katalog ist jetzt weniger technisch, Unterstützung durch API Explorer
SOA Governance
Wir schreiben in einer Registry auf, welcher Client welchen Service nutzt
Wer macht das wirklich?
API Management
Ohne Anmeldung am Portal kein Key, ohne Key keine API Nutzung
Im Portal wird EULA Vertrag geschlossen
Best Practice: Hinweis wann alte Versionen abgeschaltet werden
API Explorer am Beispiel der Swagger UI
CA Developer Portal mit UI vom Kunden verpackt
Developer Dashboard von Tyk
Funktion für API Entwickler
API Blueprint
RAML
Swagger
(WADL)
Sowohl Entwickler / Admin
Versioning
API Lifecycle != Service Lifecycle
Erst im API anlegen, wenn er fertig und „deployt“ ist
On premise Lösung hinter einer Firewall?
Cloud basiertes API Management mit onpremise API Gateways
Cloud basiertes API Management mit onpremise Services