Seite an Seite mit ABAP in der Cloud: Side-by-Side Extensions
Im Zuge der allgemeinen Vorbereitungen auf S/4HANA ruft die SAP viele neue Konzepte ins Leben. Eines davon ist die SAP Cloud Platform als Entwicklungsumgebung. Hier können Entwickler in einer von SAP gehosteten Cloud Umgebung sogenannte „Side-by-Side Extensions“ für S/4HANA-Systeme entwickeln, seit Neuestem nun auch in ABAP. Aber was genau ist so eine Side-by-Side Extension?
Damit der Name „Side-by-Side Extensions“ einleuchtet, muss man zuerst das Konzept der SAP Cloud Platform (SCP) verstehen. Diese ist eine eigenständige Cloud Plattform (PaaS – Platform as a Service), die erstmal nicht mit einem SAP System verbunden ist. Jegliche Anbindung und Kommunikation mit dort entwickelten Anwendungen, zum Beispiel zu Ihrem S/4HANA-System, erfolgt über Schnittstellen (APIs). Hierfür gibt es eine API Whitelist über freigegebene APIs, die von SAP verwaltet wird.
Sinn und Zweck des Ganzen ist es, den Digital Core eines S/4HANA-Systems sauber zu halten, indem jegliche Erweiterungen nur lose gekoppelt über Schnittstellen angebunden werden.
Wenn Sie in der SAP Cloud Platform nun eine Anwendung oder Erweiterung entwickeln, geschieht dies sozusagen „Seite an Seite“ mit der S/4HANA Cloud. Daher wird diese „Side-by-Side Extension“ genannt.
The good news? ABAP is back!
Zu Beginn konnten Side-by-Side Extensions in der SAP Cloud Platform nur in Java und Node.js (Stichwort Cloud Foundry) sowie SAP HANA XS, HTML5 und SAPUI5 (Stichwort Neo) entwickelt werden. Seit 2018 schlagen die SAP-Entwicklerherzen wieder höher, denn dort gibt es nun auch ein ABAP Environment. Der Sprachumfang wurde zwar um alte, obsolete Elemente und um stabilitätskritische Anweisungen reduziert, bietet dafür aber stets die aktuellste und neuste Syntax.
Zugriff auf On-Premises-Systeme
Zwar ist die SAP Cloud Platform für Entwicklung in Verbindung mit einer S/4HANA Cloud Edition entworfen worden, da diese sonst nur die stark vereinfachten „In-App Extensions“ zulässt, aber man kann sie trotzdem in Verbindung mit On-Premises-Systemen oder anderen Cloud-Diensten wie z. B. SuccessFactors nutzen.
Hierfür benötigt man den sog. „Cloud Connector“, eine Software von SAP, die die Verbindungen zwischen dem SAP On-Premises-System (oder anderen Cloud-Diensten) und der Cloud Platform herstellt und verwaltet.
Wie in der Abbildung zu sehen, geschieht der tatsächliche Zugriff dann über die APIs, welche die SAP Cloud Platform in der API Whitelist zur Verfügung stellt. Dort können Sie übrigens auch eigene APIs hinzufügen. Die SAP muss diese dann genehmigen.
Lohnt sich die SCP für mich?
Diese Frage ist individuell zu beantworten. Wenn Sie S/4HANA in der Cloud Edition haben oder diese in Zukunft implementieren wollen, werden sie höchstwahrscheinlich ohnehin nicht drumherum kommen, die SAP Cloud Platform zu nutzen, sobald Sie Eigenentwicklungen machen wollen. Aber auch für Entwickler, die mit On-Premises-Systemen arbeiten, gibt es einen Mehrwert – genauso wie auch Nachteile.
Vorteile
Der Core bleibt sauber. Denken Sie nur mal daran, welchen Aufwand das Update auf eine neue Version des SAP-Systems oft macht. Damit wäre fortan Schluss. Dadurch, dass alle Erweiterungen und Eigenentwicklungen nur lose über APIs gekoppelt sind, gibt’s beim Update keine oder kaum Komplikationen.
Immer der aktuellste ABAP-Sprachumfang. Vorbei ist das ewige rumplagen mit unterschiedlichen Systemversionen: Es gibt nur einen aktuellen Stand und dieser wird alle 3 Monate geupdated.
SAP kümmert sich um die Stabilität. Durch den reduzierten Sprachumfang und das Framework hinter der SCP und dem Cloud Connector brauchen Sie sich um kritische Fehler und daraus folgende Abstürze keine Sorgen mehr machen.
Last but not least – Versionsverwaltung mit Git. Jeder Entwickler in der SCP bekommt eine eigene Instanz, d. h.: Keine Zugriffssperren oder Ähnliches mehr, wenn Sie mit mehreren Leuten an einem Projekt arbeiten. Durch die Integration von Git als Versionsverwaltungssystems können dann im Anschluss parallel entwickelte Branches zusammengeführt werden.
Nachteile
Am Ende des Tages ist es ein teuer Spaß. Die Lizenzkosten müssen Sie pro Entwickler zahlen. Und diese sind, zumindest aktuell (Stand 04/2020), nicht gerade niedrig.
Reduzierter Sprachumfang. Auch wenn dies durchaus seine Gründe hat, ist es erstmal eine große Umgewöhnung und Einschränkung, wenn man als ABAP-Entwickler mit dem stets rückwärtskompatiblen Sprachumfang groß geworden ist. Besonders schmerzhaft wird es, wenn Sie versuchen, Code von On-Premises-Systemen in die SCP hinein zu kopieren: Sie sollten damit rechnen, mit einer Menge von Syntaxfehlern begrüßt zu werden.
Ein weiterer Nachteil, bzw. eine Voraussetzung, ist ein stets aktuelles SAP-System. Der Cloud Connector benötigt eine recht aktuelle SAP-Version und sollte daher am besten nur in Verbindung mit S/4HANA-Systemen eingesetzt werden.
Impulsvortrag “ABAP-Entwicklung der Zukunft”
Die technologische Entwicklung der SAP erfordert ein Umdenken in der ABAP Entwicklung. Wagen Sie mit uns einen Blick über den Tellerrand auf das, was kommt.
Fazit
Die SAP Cloud Platform und die darin entwickelten Side-by-Side Extensions werden in Zukunft immer mehr an Bedeutung gewinnen. Schon jetzt ist sie für die S/4HANA Cloud Editionen essentiell und auch für die On-Premises-Variante ist sie nicht zu vernachlässigen. Das Konzept und die damit verbundenen Architekturprinzipien bieten viel Potential, aber sind auch mit Opfern und Investitionen verbunden. Haben Sie Fragen zu Side-by-Side Extensions oder der SAP Cloud Platform? Kontaktieren Sie mich gerne.