API Management

439 Aufrufe

Veröffentlicht am

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?

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
439
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
34
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • 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 bei 3Scale & 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
  • Kombinierte onpremise / Cloud Lösung
  • API Management Player
  • Ich bin der Thomas
  • API Management

    1. 1. API Management Thomas Bayer bayer@predic8.de @thomasub predic8 GmbH Moltkestr. 40 53177 Bonn predic8.de
    2. 2. API bietet Funktionen über das Netz an
    3. 3. Ca. 15.000 öffentliche APIs
    4. 4. API, brauche ich das?
    5. 5. Apps brauchen APIs
    6. 6. HTML5
    7. 7. B2B Integration
    8. 8. APIs in Action MembraneFirewall Technische Security Validierung ERGO Direkt Erweiterung Backend Pflege & Reports Service Proxy Service Proxy B2B Mobile Web
    9. 9. Bank mit REST API!
    10. 10. Ein API ermöglicht ...
    11. 11. ... neue Apps, Sites & Anwendungen. Also Folge ...
    12. 12. ... wächst die Plattform und erschließt ...
    13. 13. ... neue Vertriebskanäle
    14. 14. Internet of Things
    15. 15. Steuerung von Drohnen über API
    16. 16. ImplementierungClient Schnittstelle
    17. 17. ImplementierungAPIClient
    18. 18. ImplementierungAPIClient DMZ
    19. 19. ImplementierungAPIClient Abo Developer Portal Admin Konsole Client Entwickler API Entwickler Admin
    20. 20. API Gateway
    21. 21. Gateway bei apigee 23
    22. 22. <serviceProxy port=“80"> <rateLimiter requestLimit=“1000" requestLimitDuration="PT1H“ /> <target host=“api.predic8.de“ /> </serviceProxy>
    23. 23. API Security
    24. 24. ImplementierungAPIClient Developer Portal Admin Konsole Entwickler Username Passwort
    25. 25. API Keys bei 3Scale & Tyk
    26. 26. Key Policy1* User 1 1 Permission 1 *Ressource 1 *
    27. 27. policies: - policy: id: "Customer" serviceProxy: - "Order API" - policy: id: "FreeTrail" rateLimit: requests: 100 interval: 3600 serviceProxy: - "Order API" keys: - key: "afdhetertwe45sgsretrtrejsdf" policies: - "Customer" - key: "sfdgh32522114affaawer324gre" policies: - "FreeTrail"
    28. 28. Developer Portal
    29. 29. Bestandteile eines Developerportals Developer Portal Dashboard API Explorer Analytics Katalog
    30. 30. 33
    31. 31. API Management != SOA Governance
    32. 32. Service Discovery  SOA  Lookup in Registry ( UDDI)  API  Katalog im Developer Portal  Lookup in Registry ( REST, JSON)
    33. 33. Katalog anstatt Registry
    34. 34. API Explorer
    35. 35. https://developers.exlibrisgroup.com/alma/apis/bibs
    36. 36. Developer Dashboard
    37. 37. API Beschreibung mit Swagger
    38. 38. API Dokumentation
    39. 39. Request/Response Tracing mit Membrane
    40. 40. Created Published Deprecated Blocked Analyse Design Implementierung Test API Lifecycle Service Lifecycle
    41. 41. Deployment
    42. 42. Service Cloud Developer Portal Admin Portal On premise API Gateway Service Service Service API Gateway Service Service Service API Gateway Service Service
    43. 43. Service Cloud SaaS Developer Portal SaaS Admin Portal On premise API Gateway Service Service Service API Gateway Service Service Service API Gateway Service Service
    44. 44. Service Service Service Service Service Service Cloud SaaS Developer Portal SaaS Admin Portal On premise API Gateway Service Service Service API Gateway API Gateway
    45. 45. Service Service Service Service Service Service Cloud SaaS Developer Portal SaaS Admin Portal On premise API Gateway Service Service Service API Gateway API Gateway API Gateway API Gateway API Gateway
    46. 46. 49
    47. 47. Beispiel Akana 50
    48. 48. Managed API ist gesichert, wird überwacht und kann „abonniert“ werden.
    49. 49. 52 Danke! Thomas Bayer bayer@predic8.de blog.predic8.de http://membrane-soa.org @thomasub
    50. 50. Ihr Sprecher 53 Thomas Bayer @thomasub Programmierer, Copter Pilot, Maker Schwerpunkte APIs Microservices Integration

    ×