TechEd2018 Revisited - API-First Referenzarchitektur

Detlev Belser - 07.01.2019

SAP TechEd Session CNA241

buco Business Consulting GmbH präsentierte zusammen mit Wolfgang Hiemisch von Globus SBW Warenhaus GmbH & CoKg auf der TechEd die Cloud und API-first Referenzarchitektur.

Session CNA241: How Globus leverages Gigya & SAP Cloud Platform for its API-first strategy

Wir präsentierten folgende Themen:

  • Globus Cloud und API-First Architektur
  • Verwendung von Gigya und API Management
  • Umsetzung der Sicherheitsstrategien mit Json Web Tokens (JWT)

Architektur Herleitung

IT Architekturen und IT Strukturen müssen im Kundenumfeld andere Anforderungen erfüllen als die in der klassischen "System of Records" IT.

Die klassische IT ist optimiert auf Kosteneffizienz und Optimierung des Betriebs. Die "Kunden-IT" hingegen muss auf Innovation und Kunden-Erlebnis ausgerichtet sein.

Die Kunden-IT muss dynamisch, flexibel und agil sein. Hierzu benötigt es eine digitale Transformation.

Um die verschiedenen Kunden Kanäle, z.B. Mobile App, In-Store oder Website zu bedienen bedarf es zwei zentraler Komponenten. Zum einen müssen die Kunden Identitäten Kanal übergreifend zur Verfügung gestellt werden. Dies wird wird durch zentrales Identity und Access Management möglich. Zum anderen müssen Daten und Services zentral über API Management und Integration für alle Kanäle bereitgestellt werden.

Einige dieser Services müssen über Systeme der "System of Record" IT bereitgestellt werden. Diese Systeme sind oft vorhandene on-premise Systeme, die z.B. via Cloud Connector über das API Management sicher and widerstandsfähig (Resilence) exponiert werden müssen.

Um zusätzliche innovative Services, exponiert via API Management, anzubieten, bedarf es weiterer flexibler Cloud Systeme. Hierbei kann entweder auf Services von externen Anbieten wie z.B. Amazon SES zurückgreifen oder für abgrenzende, innovative Services auf eigene Entwicklungen.

Ein Beispiel für eigene Entwicklung von Microservices ist das FuelAPI von Globus. Im Blog TechEd2018 Revisited - FuelAPI wird hierauf näher eingegangen.

Umsetzung

Die Umsetzung bei Globus erfolgte mittels der SAP Cloud Platform und Gigya, das mittlerweile ja auch von SAP übernommen wurde.

Das SAP API Management und die Cloud Platform Integration (CPI) sind zentralen Komponenten zur Bereitstellungen von Services. Gigya dient als zentrales Identity und Access System, in dem alle Kunden Identitäten verwaltet werden.

Das SAP API Management und Gigya stellen alle benötigte Services als Restful (JSON) API's bereit. Die SAP Cloud Platform Integration übernimmt die Verarbeitung von asynchronen (Hintergrund) Services.

Die Lösung, die schon seit über sechs Monaten erfolgreich betrieben wird, hat aber auch schon einige Erkenntnisse aufgezeigt, die möglicherweise in eine weitere Optimierung münden werden. So ist es z.B. ratsam die Gigya API's nicht direkt von Kanälen zu konsumieren, sondern das API Management zu nutzen um die Gigya API bereitzustellen. Der Gründe hierfür sind z.B. Sicherheitsaspekte bei der Verwendung durch die verschiedenen Kanäle.

Ein sehr wichtiger Aspekt für die erfolgreiche Umsetzung war auch die Verfügbarkeit des SAP Cloud Connectors. Der Cloud Connector erlaubt es sicher und skalierbar auf die On-Premise Systeme via API Management und CPI zuzugreifen. Auch hier haben sich im Betrieb schon einige, wichtige Erkenntnisse durchgesetzt, z.B. die Verwendung separater Cloud Connector Instanzen für die Development, Test und Produktion um die Ausfallsicherheit zu erhöhen, aber gleichzeitig agil und flexibel zu bleiben.

JSON Web Token

Ein ganz besonders Rolle in der Kunden-IT müssen die Sicherheitsaspekte der Lösung einnehmen. Kundendaten sind im höchsten Maße zu schützen und die Datenschutzverordnung gibt hier einen sehr strengen Rahmen und mögliche Sanktionen vor.

Die Herausforderung in der Globus Architektur ist, dass die Kunden außerhalb von Gigya nicht als Benutzer in den Systemen vorliegen, sondern eben nur als Daten. Es muss nun sichergestellt werden, dass ein Kunde nur auf seine Daten Zugriff hat.

Die Lösung hierfür sind die Json Web Token (JWT).

  • JSON Web Token entsprechen dem offenen Standard RFC 7519
  • Methode zum sicheren Zugriff zwischen zwei Systemen
  • JWT ist mit dem privaten Gigya Schlüssel signiert
  • JWT Signatur Prüfung via dem Gigya öffentlichen Schlüssel
  • JWT Payload beinhaltet Kunden Attribute, z.B. die Kartennummer

Im API Management wird über Polices das JWT ausgewertet und validiert. Nur valide JWT's ermöglichen den Zugriff auf die Kunden Services. Nicht valide JWT's werden vom API Management abgewiesen.

Falls Sie Interesse in eine detaillierte Präsentation zum Thema JSON Web Token und API Management oder Fragen zum Blog Beitrag haben, können Sie mich gerne per E-Mail an d.belser@buco-consulting.de kontaktieren.

Zurück zur Übersicht