Überblick zum RESTful ABAP Programming Model (RAP)
- Phillip Dörrschuck
- 17. März
- 3 Min. Lesezeit
Die dritte und aktuelle Generation des ABAP Programmiermodels heisst RESTful ABAP Programming Model (RAP). RAP tritt die Nachfolge des SAP Fiori Programmiermodells an und wird als zukunftsorientierte Lösung für effiziente, REST-basierte Anwendungen vermarktet. RAP soll die von S/4HANA gebotenen Möglichkeiten bestmöglich ausschöpfen. Verfügbar ist das RAP Modell sowohl in der SAP BTP ABAP, im SAP S/4 HANA Cloud ABAP Environment als auch in SAP S/4HANA 1909 On-Premise und höheren Versionen.
Bevor wir den Aufbau des RAP Modells genauer beleuchten, lohnt es sich einen Blick auf die Geschichte der SAP Programmierung mit seinen drei Entwicklungsstufen zu werfen:

ABAP Plattform ≤ 7.5
Bei der klassischen ABAP Entwicklung fallen Stichworte wie Dynpro, WebDynpro, Business Server Pages, Floorplan Manager und WebClient UI Framework. Bei der Programmierung gibt es keine festen Vorgaben. Entwickler:innen kombinieren verschiedene Technologien nach dem Best Practice Freestyle ABAP Prinzip, um passende Anwendungen und Lösungen zu implementieren. Diese Freiheit bietet viele Möglichkeiten, bringt aber auch Nachteile mit sich. Diese äussern sich aufgrund fehlender Standardisierung insbesondere durch Mehraufwände bei der Wartung.
ABAP Plattform ≥ 7.5
Es folgt das ABAP Programming Model für SAP Fiori, welches das aktuell (noch) meist präferierte und verwendete Programmiermodell darstellt. In diesem wird mit einem generischen Konzept für SAP Fiori, dem sogenannten Model View Controller (MVC) gearbeitet. Dabei wird auf die Trennung von Model (Datenmodell), View (Ansicht, GUI) und Controller (Steuerung) wert gelegt. Das ABAP Programmiermodell für SAP Fiori basiert auf Technologien wie Gateway Services (SEGW), Core Data Services (CDS) und dem transaktionalen Speichermodell Business Object Process Framework (BOPF). Es ermöglicht die Implementierung von skalier- und wartbaren Anwendungen, die bestenfalls schon für ein Cloud-Betriebsmodell optimiert sind.
SAP S/4HANA ≥ 1909 / SAP BTP ABAP ≥ 1808
Als (r-)evolutionärer Nachfolger möchte das RESTful ABAP Programming Model in die grossen Fussstapfen des Fiori Programmiermodells treten. RAP bietet eine standardisierte und effiziente Programmierung von webbasierten Applikationen und Web-APIs. Insbesondere die genannte Standardisierung und der Fokus auf die einheitliche Nutzung von Tools und Funktionen bilden das Herzstück von RAP. Zudem ist das Modell für HANA-Datenbanken optimiert und bietet eine vollständige Integration.
Im Detail lässt sich das RAP Modell in drei Hauptkomponenten aufteilen:

ABAP Developement Tools for Eclipse (ADT)
Die Entwicklung wird mithilfe der ADT-Tools für Eclipse durchgeführt. Die Eclipse Umgebung erleichtert mit vorgegebenen Funktionen den Einstieg für Entwickler:innen und unterstützt dabei den gesamten Entwicklungsprozess. Die SAP GUI wird für die Programmierung nicht mehr benötigt.
ABAP & CDS als Entwicklungssprachen
Die Erstellung von RAP-Services basiert auf ABAP und CDS-Views, welche gesamtheitlich als Business Objekte (BO) bezeichnet werden. In diesen wird die Datenmodellierung sowie die transaktionale Speicherung implementiert. Die Business Objekte bleiben, wie aus der „alten“ Welt gewohnt, die Hauptentitäten im RAP. Die Kombination aus ABAP und CDS Views ermöglicht eine standardisierte und effiziente Entwicklung von Geschäftslogik und Datenmodellen.
Leistungsstarke Frameworks für die Laufzeitkonzepte
Es werden dedizierte Code-Exits für die spezifische Geschäftslogik zur Verfügung gestellt, um eine einfache Implementierung zu gewährleisten. Das RAP Modell übernimmt dabei die technischen Implementierungsaufgaben.
Als Grundlage verwendet das RAP Modell eine 3-Schicht-Architektur, wie folgende Abbildung veranschaulicht:

Data Modeling & Behavior
Die unterste Ebene stellt die Daten-Modellierung und die transaktionale Verhaltensdefinition (BDEF) dar. Dazu werden Core Data Services (CDS) genutzt, um View Entities zu erstellen. Zu diesen kann nachfolgend die Behavior Definition erfolgen. Diese beinhaltet wiederum die Operationen, welche auf den Daten ausgeführt werden können. Neben den transaktionalen Modellen gibt es auch die Möglichkeit, analytische Modelle für RAP-basierte Embedded Analytics zu erstellen.
Business Service Provisioning
Aufbauend auf das Datenmodell, befinden sich in der zweiten Ebene die Business Object Projektionen. Via CDS wird eine eingeschränkte Sicht des Datenmodells erstellt. Zu dieser sogenannten Projection View, wird das Verhaltenspendant, die Behavior Projection erstellt. Dazu werden die Service Definition und das Service Binding angelegt. Die Service Definition gibt hierbei die zu veröffentlichenden Entitäten und das Service Binding die ODATA Protokollversion (V2 oder V4) an.
Consumption
Auf der obersten Ebene sind verschiedene Technologien verwendbar, welche den Service konsumieren können. Dabei ist der Hauptfokus auf SAP Fiori Elements gelegt, jedoch sind auch Web-APIs oder SAPUI5 Freestyle Apps möglich.
Fazit
Das RAP Modell bietet eine gelungene Möglichkeit, moderne und effiziente SAP Lösungen zu implementieren und das Potenzial von S/4HANA vollständig auszuschöpfen. RAP ist in der SAP Welt das Programmiermodell der Zukunft und wird von SAP durch kontinuierliche Neuerungen und Optimierungen stetig weiterentwickelt. Der Ein- oder Umstieg zum Programmiermodell der Zukunft lohnt sich auf jeden Fall, der Aufwand für die Einarbeitungszeit darf jedoch nicht unterschätzt werden. Es bedarf einiger Arbeit, bevor das RAP Konzept und die neue Herangehensweise vollständig verinnerlicht sind.
Möchtest du die SAP Entwicklungen in deinem Unternehmen auf ein neues Level heben? Wir bieten zum Thema RAP massgeschneiderte SAP Developer Schulungen an, um deine Mitarbeitenden zu RAP Profis zu formen: