API Management
Digitalisierung durch APIs Quelle: http://www.forbes.com/sites/anthonykosner/2015/02/04/google-cabs-and-uber-bots-will-challenge-jobs-below-the-api/ 2
Energiewende in Deutschland 3
Digitalisierung + Energiewende Digitalisierung und Energiewende verbindet das Element der Ablösung von großen monolithischen Systemen durch kleinerer dezentrale aber stark vernetzte Systeme Jeremy Rifkin; Die dritte Industrielle Revolution ; 2011 Bedarf an feingranularer Integration von Prozessen steigt APIs sind ein Werkzeug dafür regiocom ist IT-Dienstleister für prozessuale Integration in der Energiewirtschaft 4
VORTSTELLUNG REGIOCOM 5
Kurzprofil regiocom-verbund mit über 2.000 Mitarbeitern System-Dienstleistungen Service Center regiocom GmbH, Magdeburg Inhabergeführt: K.Gutmann / S.Kerz / J.Schlieker - SAP-BPO-Partner, führend in der Energiebranche - Lösungen für EVU-Abrechnung, Portale, Einspeiser, Regulierungsmanagement, u.a. - Cloud-Dienstleistungen Aktivitäten im Ausland: Varna/BG: Kundenbetreuung Wien/AT: Support-Team Referenzen in AT/CH/RO/HU regiocom Berlin GmbH regiocom Halle GmbH regiocom Salzwedel GmbH Transaktionsdruck / Lettershop / Input-Management 100 % - Tochterunternehmen Messstellenmanagement in Deutschland Partnerunternehmen, Beteiligung: 30 % KSM Kundenservice Magdeburg GmbH Personaldienstleistungen 100 % - Tochterunternehmen 6
Kurzprofil Erzeuger Lieferant Netzbetreiber 7
Kurzprofil Regiocom bildet fast alle Geschäftsfunktionen von Energieversorgern ab: - Fast alle Funktionen eines Lieferanten - Zwei Drittel der Funktionen eines Netzbetreibers - Sämtliche Funktionen eines MSB/MDL Kundenbetreuung Front Office Kommunikation/Koordination Marktpartner Back Office EDM Datenaustausch Marktpartner Verbrauchs- und Netzabrechnung Messstellenmanagement Forderungsmanagement Inst./Wartung/ Fernauslesung Systeme und Lösungen SAP-Beratung Rechenzentrum und Cloud-DL Lettershop 8
WEB API 9
APIs eine Abgrenzung Application programming interface = Programmierschnittstelle Ermöglichen stabilen Zugriff auf Funktionen eines Systems APIs existieren auf unterschiedlichen Ebenen von IT- Systemen API eines Betriebssystems API einer Bibliothek API für Plug-Ins API in verteilten Systemen Dokumentation 10
Web APIs APIs sind grade im Trend Hinter jedem Trend steckt etwas Sinnvolles Twitter wäre nicht so erfolgreich, wenn sie nur eine Webseite angeboten hätten, auf der man Nachrichten veröffentlichen und lesen kann. Twitter wurde groß, weil sie eine API zur Verfügung gestellt haben Methode zur webbasierten, feingranularen Kopplung von Prozessen die weiträumig akzeptiert ist Aber theoretisch nicht neu 11
Web APIs exponieren Prozesse vollintegrierte systemische Bereitstellung von feingranularen Geschäftsprozessen nach Außen Abbildung der vorhandenen internen Schnittstellen (z.b. SOAP) als REST Schnittstelle nach außen Basierend auf API-Gateway Authentifizierung OAuth2 Token-Management Monitoring/Reporting Multi-Tenancy Throtteling 12
Offene Herausforderungen Anbindung mobiler Geräte, Apps Anbindung entfernter CRM-Systeme z.b. Cloud-Lösungen wie Salesforce Kopplung von verschiedenen Vertriebskanälen Schnittstelle zum Smart Meter (Gateway) Neue digitale Prozesse Energie-Roaming durch E-Mobility 13
API VS SOA?! 14
Recap - Serviceorientierte Architektur Funktionale und softwaretechnische Kapseln Wiederverwendbar Haben gemeinsamen Vertrag über Schnittstellen (WSDL) Abstraktion der beinhaltenden Logik Komponierbar (keine unerwünschten Nebeneffekte) Autonom (Zustandslos) 15
API vs SOA?? API is the new SOA?! API is the better SOA?! API extends SOA?! API is SOA + SelfService?! API is agile SOA?! Sind das die richtigen Fragen?! SOA ist Architekturkonzept API ist eine Implementierung SOAP-WS vs RESTful API?! 16
SOAP-WS vs. RESTful API en detail Verben In SOAP-WS werden über die Methoden eigene Verben definiert APIs nutzen die Verben von HTTP (GET, PUT, POST, DELETE, u.a.) Nachrichtenformat SOAP-Nachrichten sind nicht in erster Linie dazu gedacht menschenlesbar zu sein Bei REST-APIs nicht wirklich standardisiert aber möglichst selbsterklärend für Entwickler Ressourcen Bei SOAP-Anfrage Teil des requests Bei REST-Anfrage wird ID zu Ressource (bspw. die Kundennummer) in der URI übertragen 17
SOAP-WS intern + RESTful API extern Aus WSO2 Whitepaper vom 27.8.2012 18
RESTful-APIs, SOAP und Conways Law Schnittstellen markieren Grenzen nicht nur zwischen Systemen sondern zwischen organisatorischen Einheiten. Damit einhergehend, gibt es einen Vertrauensgradienten, der sich in einem Gradienten der Typisierung äußert. Einheitliche Semantik ist wichtigste Grundlage Semantik ist bei SOAP-WS sehr viel stärker im Fokus Z.B. über explizite, stark typisierte XSDs Innen REST-APIs bieten mehr Flexibilität bei der Verwendung JSON ist implizit schwach typisiert Außen 19
SOA UND API BEI REGIOCOM 20
Drei-Schichten-Architektur bis 2014 DoXiS Archiv rcutil Dienste IS-U Kundenportal Energiekunde Darstellung/ Schnittstelle Prozesse Attensity Respond Daten 21
Kanonisches Datenmodell XSD Beschreibung aller Datenaustauschobjekte Schnittstellen aller Dienste basieren auf gemeinsamer XSD Dadurch viele 0:1 Entitäten Dennoch Gemeinsames Vokabular Gemeinsame Struktur der Daten Automatische Generierung über JAX-B Mehrere hundert Typendefinitionen 22
Drei-Schichten-Architektur ab 2015 DoXiS Archiv Externes Portal / CRM API -Gateway rcutil Energiekunde / Mitarbeiter des AG Portal-App Dienste IS-U Kundenportal Energiekunde Darstellung/ Schnittstelle Prozesse Attensity Respond Daten 23
Multi-Mandanten-Abbildung Die eine API anzubieten: unmöglich Kunde ist König Worst case: pro Mandant mehrere APIs API-Management enthält n:1 Schnittstellenmapping Innen: 1 Datenmodell Außen: n verschiedene Umsetzung mit Apache Camel Routen Versionierung ist wichtiges Thema 24
Glory of REST http://martinfowler.com/articles/richardsonmaturitymodel.html 25
Konkrete Projekterfahrung Projekt lief von April bis September 2015 Verlängerung mit erweiterten features bis Ende 2015 Umsetzung der vollständigen API über 1 Mannjahr Evaluierung verschiedener API-Management Anbieter (IBM, Oracle, Software AG, WSO2 u.a.) Einführung API-Management Abbildung Mapping zwischen API-Ressourcen und SOAP-Diensten Wenig Businesslogikanpassungen in den Diensten Ohne existierende SOA sehr viel mehr Aufwand 26
Swagger-Beschreibung der API 27
Per API exponierte Prozesse Allgemeine Accountverwaltung Accountgenerierung / Passwort vergessen Lieferantenwechselstatus Stammdaten(änderungen) Geschäftspartner / Kommunikationsdaten / Versandkanalsteuerung / Umzugsprozess / vollständiger Dokumentenzugriff Zählerdatenmanagement Eingabe / Plausibilisierung / Historie / Verbrauchsanzeige Vertragsmanagement Abschlagsplanverwaltung / Kontoauszug / Rechnungsintervall / Tarifwechsel / Bankverbindungen (Last- und Gutschriften) / Cross Selling 28
API in Zahlen 19 Ressourcen 53 Methoden Performance für Authentication ~500ms Uptime > 99,5% 29
Take home messages Hilfreiche Voraussetzungen für API Einführung Etablierte SOA Kanonisches Datenmodell Contract-First! Je weniger Vertrauen zwischen zwei Systemen, desto schwächer getypt sind die Schnittstellen Innen SOAP-WS, Außen REST-APIs Obwohl kaum Businesslogik bearbeitet API-Einführung immer noch sehr aufwändig 30
Technologien / Tools 31