ABAP RESTful Programming Model

Das ABAP RESTful Programming Model ist ein Programmiermodell für browserbasierte Anwendungen, die für die SAP HANA DB optimiert sind. Es ermöglicht eine effiziente Entwicklung und verringert die Total Cost of Development.

Historie: SAPs „Freestyle ABAP programming“-Ansatz

Viele Jahre hat SAP kein einheitliches Modell gefordert, nach dem SAP-Anwendungen entwickelt werden mussten. Stattdessen galt „Best practice freestyle ABAP programming“. Das bedeutet, für Anwendungen auf Basis des SAP Netweaver Application Server ABAP auf Version 7.5 oder niedriger konnten und können Technologien beliebig kombiniert werden: ABAP (ohne und mit ABAP OO), Dynpro, BRF+, WebDynpro, BSP, BDT etc.

E-Book: ABAP Entwicklungsrichtlinien

Richtlinien zur Programmierung und Praxistipps zum Thema APAP-Entwicklung.

Für Entwickler bot das eine große Freiheit. Sie konnten Technologien nutzen, die sie persönlich bevorzugten und gut beherrschten. Das vereinfachte die Arbeit zunächst, führte aber mittelfristig zu gravierenden Nachteilen. Denn sobald neue Entwickler Veränderungen an einem bestehenden System vornehmen wollten, mussten sie sich erst intensiv einarbeiten, um sich in der heterogenen Technologielandschaft zurechtzufinden. Schließlich gab es keine Standards. Die Einarbeitung kostete Zeit und Geld, die bei Verwendung eines einheitlichen Modells in die Entwicklung hätte fließen können.

SAPs erstes Programming Model

Mit Veröffentlichung des Netweaver 7.4 begann SAP seine ABAP Plattform für die HANA DB zu optimieren. In dem Zusammenhang wurden ABAP Core Data Services (CDS), BOPF und durch die Gateway-Komponente auch OData und damit SAPUI5 für Kunden verfügbar gemacht. Außerdem wurde die REST API zur Verbindung von Frontend und Backend eingeführt und SAP Fiori veröffentlicht. Die Technologievielfalt nahm also weiter zu.

Mit der Entscheidung, SAPUI5 und OData zu Kerntechnologien von SAP Fiori zu machen, entstanden neue Herausforderungen für die Entwicklung von Anwendungen, vor allem von transaktionalen Anwendungen.

Um weiterhin eine hohe Produktqualität und ein einfaches Lifecycle Management zu gewährleisten, führte SAP das „ABAP Programming Model for SAP Fiori“ ein. Damit können Anwendungen einfach skalieren, sind leicht zu warten und auch eine Erweiterung auf Cloud-Readiness-Level ist möglich. Außerdem konnte das Onboarding von neuen Entwicklern und die Effizienz der Programmierarbeit verbessert werden.

Abbildung 1 Entwicklung des ABAP Programming Models

Abbildung 1 Entwicklung des ABAP Programming Models

Aufbau: ABAP Programming Model for SAP Fiori

Das ABAP Programming Model for SAP Fiori wurde spezifisch für die Entwicklung von SAP-HANA-optimierten, webbasierten Fiori-Anwendungen konzipiert. Sowohl transaktionale als auch analytische und Such-Anwendungen können hiermit programmiert werden.

Danach sollten Anwendungen wie folgt aufgebaut sein:

Als Oberflächentechnologie dient SAPUI5 zur Nutzung von HTML5.

Für wiederverwendbare UI-Komponenten werden SAP Fiori Elements und für die Anwendungen fertige Floorplans genutzt.

OData wird als REST-basiertes Webprotokoll eingesetzt, sodass durch Metadaten ein modellgetriebener Entwicklungsansatz umgesetzt werden kann, bei dem Software-Bestandteile automatisch generiert werden.

Für die Businesslogik kommt die ABAP Platform zum Einsatz, zum Beispiel erweitert um Frameworks wie BOPF und BRF+.

Das Datenmodell wird über ABAP CDS Views auf der SAP HANA DB erstellt.

Eclipse als Backendtechnologie nutzt ABAP Development Tools, die die Verwendung der neuen Technologien unterstützen und vereinfachen.

Vorteile des ABAP Programming Models

Das Programmiermodell nimmt den Entwicklern viel Arbeit ab und stellt gleichzeitig sicher, dass eine hohe Produktqualität gewährleistet bleibt.

Die Integration von verschiedenen Automatismen und/oder Frameworks wie BOPF und ABAP CDS Views ermöglicht es, OData Services ohne manuelles Zutun zu erzeugen. Auch viele Bausteine der Software können automatisch generiert werden.

Wer das Modell verwendet, nutzt die immer gleiche Technologieauswahl in der Kernanwendung, was eine einheitliche Oberfläche in SAPUI5 erzeugt. Die Entwicklung kann damit leicht personenunabhängig erfolgen.

Gründe für die Weiterentwicklung

Das Programming Model bietet jedoch nicht für jede Entwicklungsaufgabe die ideale Unterstützung. Logikschwere Business-Anwendungen können damit zum Beispiel nur schwer in moderne Fiori-Applikationen überführt werden.

Wer das ABAP Programming Model verwendet, büßt zudem in der Entwicklung an Flexibilität ein, da hier viele Bausteine automatisch generiert werden. Spezifische Anforderungen lassen sich nur mit Workarounds abbilden und erfordern Zusatzaufwand.

Um die Total Cost of Development auch für solche Anwendungsfälle zu senken und den nächsten logischen Schritt in der Evolution der Technologie zu gehen, entschied SAP, die verschiedenen Konzepte, zum Beispiel die Transaktionsverwaltung in ABAP und die CDS-Technologie, zu integrieren. Ziel war es, ein Programming Model zu schaffen, mit dem die gesamte Entwicklung über die ABAP Development Tools in Eclipse durchgeführt werden kann. Aus diesen Anforderungen entstand das neuste SAP Programmiermodell: das ABAP RESTful Programming Model.

Aufbau: ABAP RESTful Programming Model

Das ABAP RESTful Programming Model bietet eine standardisierte und effiziente Architektur, um SAP-HANA-optimierte OData-Dienste (z. B. Fiori Apps) im Umfeld der SAP ABAP Cloud Platform zu entwickeln.

Die Architektur ist zugeschnitten auf das Programmierparadigma REST (Representational State Transfer) für verteilte Systeme. Dabei wird von einem Server über eine festgelegte Schnittstelle ein Service bereitgestellt, der von einem Client genutzt werden kann.

Das Modell besteht aus drei Schichten – von unten nach oben:

Datenmodellierung und Verhalten (Data Modeling & Behavior): In der untersten Schicht werden Datenmodell und -verhalten mittels CDS festgelegt. Über eine neue Behavior Definition Language lässt sich das transaktionale Verhalten der Anwendung (Sperren, Speichern, Lesen usw.) definieren. Diese Behavior Definition löst das Framework BOPF aus dem ABAP Programmiermodell für SAP Fiori ab.

Service-Bereitstellung für Geschäftsobjekte (Business Service Provisioning): Der Scope des Datenmodells wird in zwei Schritten in der Service-Definition festgelegt. Sie bildet die Basis, auf der die OData-Services anschließend im Service Binding an das Modell gebunden werden.

Service-Aufruf (Service Consumption): Die SAP-Fiori-Anwendungen konsumieren die OData Services und stellen die Oberfläche bereit. Alternativ können, wie bisher, auch andere Webservices die OData API verwenden.

Technologisch ist das Modell verschlankt worden. Anders als zuvor müssen komplexe Frameworks wie BOPF nicht mehr zusätzlich erlernt und verwendet werden.

Abbildung 2 Übersicht ABAP RESTful Programming Model

Abbildung 2 Übersicht ABAP RESTful Programming Model

Fazit

Mit dem ABAP RESTful Programming Model verfolgt SAP einen Cloud-first-Ansatz. Bisher steht das Modell nur in der SAP Cloud Platform ABAP Environment zur Verfügung. Eine On-Premises-Bereitstellung für SAP S/4HANA ist zwar geplant, der Veröffentlichungszeitpunkt steht jedoch noch nicht fest.

Einsatzfähig ist das ABAP RESTful Programming Model für alle SAP-Anwender mit SAP Cloud Platform ABAP Environment ab Version 1808. Updates werden quartalsweise eingespielt. Haben Sie Fragen zu dem Thema? Dann kontaktieren Sie uns gerne.


Mehr von unseren Partnern


Unsere Produkte zu ABAP RESTful Programming Model

Ein wichtiger Schritt in Richtung des neuen SAP Frameworks for Digital Business ist die in-memory Datenbank SAP HANA. Für bestehende SAP Kunden ist vor allem wichtig: Wie schaffe ich das richtige Knowhow im IT-Team, um mit der SAP HANA Datenbank …

Mehr Informationen

Ein neuer Trend in der SAP Anwendungsentwicklung: BOPF Das BOPF-Framework ist bei Anwendungsentwicklern im SAP Umfeld in aller Munde. Mit unseren BOPF Workshops bieten wir Ihnen den Überblick, den Sie jetzt brauchen.Mit dem Business Object Processing Framework (BOPF) hat …

Mehr Informationen

Haben Sie ein gutes Gefühl was die Code-Qualität Ihrer Kundenentwicklungen im SAP angeht? Wenn bei Lesbarkeit, Dokumentation, Modularisierung oder systematischer Transport- & Releasestrategie noch Luft nach oben ist, dann sollten wir uns unterhalten.

Mehr Informationen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support