Ich beschäftige mich schon länger mit Integration, aber jetzt ist die Zeit gekommen wieder einmal zu reflektieren wie es in Zukunft weiter gehen könnte.
Deswegen habe ich mich einwenig mit SAP S/4HANA Architektur und in welche Richtung es in Zukunft gehen soll.
Also um gleich etwas klarzustellen die herkömlichen Technologien gibt es alle noch, ( IDocs, BAPIs und RFCs). Aber in Zukunft werden wohl SOAP und OData die Technologien der Wahl werden.
SAP hat in der Cloud die in allem die Marschrichtung vorgibt , folgende Strategie verwendet.
Bei Neuentwicklungen konzentriert sich SAP auf SOAP und OData - Service und verzichtet in derZukunft auf die Weiterentwicklung der BAPIs , IDocs und RFC.
Wie schaut die Verwendung nun im Detail aus :
SOAP - Dienste werden für asynchrone Dienste (wo früher IDOCs verwendet worden wären) genutzt:
Kurz zur Erklärung: SOAP Dienste sind Dienste die das http-Protokoll und das XML -basierte SOAP Nachrichtenformat verwendet.
Es werden typischerweise asynchrone , transaktionale Kommunikation verwendet, mit einweg Nachrichten die keine Antwort haben. Hier geht es einfach darum blockierung zu vermeiden.
Synchrone SOAP-Dienste werden nur in Ausnahmefällen verwendet.
Der zweite Player bei Integrations-Technologien ist OData-Service , sie übernehmen den Part den früher die BAPI übernommen haben.
OData - API sind resourcenbasierte API's das ergebnis der operation wird sofort im BODY der http -Antwort zurückgegeben wird.
Gemeinsam mit ABAP RESTful Application Programming Model (werde spätern noch mehr darüber schreiben ist es eine gute Abstraktionsschicht
Hier ist auch wichtig zu sagen das auch diese API über das Open API Spezifikation auf einem API Getway zur verfügung gestellt werden kann. Um diese API zur verfügung zu stellen.
Fazit:
Für mich war es etwas ein Aha Erlebnis auf der einen Seite leichtgewichtige asynchrone SOAP Service, weiter OData Service die Business Logik kapselt. Die Trennung der layer passiert noch effizienter, es geht wie immer um Entkopplung und Austauschbarkeit.
Natürlich wird man nicht jede bestehende Schnittstelle ändern, aber bei neuen Schnittstellen ist es schon anzudenken diese Vorgehensweise zu wählen.
Es ist auch zu überlegen welchen Stellenwert SAP PO einnimmt, sofern eine solche verwendet wird.
Diese Fragen wann verwende ich eine API wann macht es Sinn SAP PO zu verwenden sind wichtig und sollten auch im Unternehmen besprochen werden.
Um diese Fragen klären , wird es wichtig sein auch zu definieren mit welche Integration Domain , Integration Style haben wir im Unternehem und welche technischen Möglichkeiten haben wir hier.
Das SAP System ist nicht isoliert , sondern eingebettet in den Gesamtkontext der Unternehmens-Architektur.