This is a test message to test the length of the message box.
Login
ABAP Cloud Programmiermodell
Erstellt von Software-Heroes

ABAP Cloud - Programmiermodell

57

Welches Programmiermodell kommt mit ABAP Cloud zum Einsatz und was können wir aus dem Vorgänger lernen? Mehr Details im Artikel.

Werbung


Für was benötigst du ein Programmiermodell in ABAP und wie ist das aktuelle Modell aufgebaut? In diesem Artikel werden wir kurz durch die Evolutionsgeschichte des Modells gehen und wie es heute aussieht.

 

Einleitung

Bereits vor ABAP Cloud hat sich einiges an der Architektur in ABAP geändert. Mit den neuen Core Data Services war es nun möglich, eine weitere Abstraktion zwischen Datenbank und UI zu schaffen und über die Assoziationen in den Views das Datenmodell und die Zusammenhänge besser zu beschreiben. Über zusätzliche Annotationen war es möglich, direkt aus einem Core Data Service einen OData Service zu erzeugen. Die OData Services sind wichtig, wenn du ein UI auf SAP Fiori Basis entwickeln möchtest.

 

Programme 

Aktuell werden die meisten Anwendungen als SAP GUI Transaktionen im System umgesetzt, da sie der bisherige Standard für den ABAP Entwickler und in einer sehr schnellen Zeit umsetzbar sind. Dabei setzen sie auf Controls und das klassische PBO und PAI für die Verarbeitung.

 

BOPF

Das Business Object Processing Framework, kurz BOPF, war der erste Versuch, die Modellierung und Verwendung von Business Objekten auf ein neues Level zu heben. Dabei kamen zum ersten Mal verschiedene Konzepte zum Einsatz, die die Wiederverwendbarkeit und Flexibilität der Objekte unterstützen sollte. Die Logiken rund um das Business Objekt wurden mit ABAP OO implementiert, um die modernere Architektur zu unterstreichen.

So konnte ein Objekt aus verschiedenen Tabellen bestehen, die miteinander in Beziehung standen. Wurde der Wurzelknoten gelöscht, wurden automatisch auch die abhängigen Einträge in den Knoten darunter mit gelöscht, ohne dass sich der Entwickler darum kümmern musste.

Es wurden Logiken implementiert, um vor dem Speichern die Daten zu prüfen (Validierungen). Damit konnten keine falschen Daten im BO gespeichert werden. Es gab Ermittlungen, die automatisch verschiedene Daten abgeleitet haben, ohne dass diese durch den Nutzer erfasst werden mussten. Sollte eine Aktion ausgeführt werden, die mit den Daten interagiert, konnte diese am BO getriggert werden, um Daten im Objekt zu ändern, zu prüfen und wieder zu speichern.

Eine Erweiterung des Konzepts war später, dass aus Core Data Services mit spezifischen Annotationen ein BOPF erzeugt werden konnte und die Modellierung über die Transaktionen entfiel. Dazu konnte leicht ein Service für das UI generiert werden.

Allerdings gab es auch einige Schattenseiten in dem Modell, da viel Boilerplate Code und Artefakte generiert wurden, die die Arbeit damit aber auch nicht wirklich erleichterten. Die Modellierung und Arbeit mit BOPF Objekten war nicht immer einfach und schnell durchzuführen.

 

RAP

Das ABAP RESTful Programming Model, kurz RAP, wurde als letztes Modell von SAP entwickelt. Es übernimmt viele Konzepte von BOPF, wie zum Beispiel Validierungen, Ermittlungen und Aktionen. Es wurde über viele Iterationen entwickelt und aufgebaut, bevor aus ihm das Modell wurde, das wir heute verwenden.

© SAP SE

 

Modellierung

Neben den Tabellen, basiert das Modell vor allem auf den Core Data Services, um die Datenmodellierung durchzuführen. Daher ist für die eigentliche Entwicklung der App erst einmal nicht viel ABAP Coding erforderlich. Möchtest du dann zusätzliches Verhalten implementieren und das Modell interaktiv und änderbar machen, musst du die Definition und die Implementierung durchführen.

Der Service wird nun nicht mehr im Gateway (SEGW) verwaltet, sondern du legst neue Entwicklungsartefakte wie die Service Definition (Bündelung der Entitäten) und das Service Binding (Protokoll) an.

 

Erste Schritte

Die Einarbeitung in das Framework kann recht komplex sein, da es so viele neue Objekte und Möglichkeiten gibt. kommst du aus dem Umfeld der Reports und hast kein BOPF davor gelernt, können die vielen unterschiedlichen Dinge erst einmal etwas überfordernd wirken. Daher empfehlen wir dir am Anfang einen groben Überblick über RAP zu bekommen. Die Einstiegsschulung über learning.sap.com kann dir dabei helfen, schnell ein erstes Objekt auf die Beine zu stellen. Grundsätzlich empfehlen wir dir klein zu starten, ein Objekt mit einer Tabelle, um die neuen Konzepte zu lernen. Dann solltest du Schritt für Schritt die Komplexität erhöhen:

 

Lernen 

Das Lernen des neuen Progammiermodells wird einige Monate an Einarbeitung kosten, um die Technik und die Methodiken zu verstehen. Am Ende wartet aber ein effizientes Modell, um Fiori Elements Anwendungen umsetzen zu können und einen neuen Standard zu etablieren. Auf jeden Fall empfehlen wir dir die praktische Anwendung von RAP mit verschiedenen Szenarien, um so die Grundkenntnisse des Modells zu lernen. Einen Fokus solltest du vor allem auf die folgenden Bereiche legen:

  • Datenmodellierung mit Eigenen und Standard Core Data Services
  • Erstellung von Verhalten 
  • Entity Manipulation Language (EML)
  • Gestaltung der Fiori UIs mit Annotationen

 

Fazit

Hast du erst einmal das neue Programmiermodell verstanden, wird dir die Umsetzung von SAP Fiori (Elements) Anwendungen sehr viel einfacher fallen und du wirst schneller Ergebnisse erzielen. Mit etwas Übung wirst du bald Anwendungen so schnell erstellen, wie du heute Reports mit ALV zur Verfügung stellst.

 

Weitere Informationen:
SAP Help - ABAP RESTful Programming Model
BOPF Developer Guide


Enthaltene Themen:
ABAP CloudABAPBOPFRAPProgrammiermodell
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


ABAP Cloud - ADT Bäume (Übersicht)

Kategorie - ABAP

Welchen Hilfen und Übersichten stehen dir in den ABAP Development Tools zur Verfügung, um dein Leben mit ABAP Cloud zu vereinfachen?

17.12.2024

ABAP Cloud - Relevante Objekte

Kategorie - ABAP

Welche Objekte sind in der ABAP Entwicklung eigentlich noch relevant und welche kannst du so langsam in die Mottenkiste packen? Hier erfährst du mehr.

19.11.2024

ABAP Cloud - Sperren

Kategorie - ABAP

Für was musst du Sperren setzen und wie kannst du das leicht in ABAP Cloud machen? In diesem Artikel schauen wir uns den Prozess im Detail an.

08.11.2024

ABAP Cloud - HTTP Client

Kategorie - ABAP

Wie sieht eigentlich der aktuelle HTTP Client in ABAP Cloud aus? Lasst uns einen Blick auf das neue Modell werfen.

01.11.2024

ABAP Cloud - Key User Apps

Kategorie - ABAP

Die Key User Extensibility ist ein Teil von ABAP Cloud, wenn es um die Erweiterung des Core geht, doch wie kannst du die Werkzeuge sinnvoll nutzen und wie ergänzen sie sich?

11.10.2024