Hallo Technophile,
Willkommen zum ersten Teil unserer fünfteiligen Blogserie, in der wir das Thema ABAP RAP näher beleuchten und hervorheben werden. Am Ende dieser Blogserie werden Sie ein gründliches Verständnis der verschiedenen Programmiermodelle in ABAP, verschiedener Themen in RAP wie Schichten, Architektur, CDS usw. erlangen und Sie werden in der Lage sein, verschiedene Projekte/Szenarien mit RAP zu erstellen. Wir werden auch eine praktische Übung mit RAP durchführen, die die End-to-End-Fähigkeiten von RAP demonstriert.
Zunächst werden wir uns mit den verschiedenen Programmiermodellen von ABAP befassen und dann mit unserem Thema für diese Serie fortfahren.
Vorbedingung
Im Folgenden finden Sie einige Voraussetzungen, die Ihnen während der gesamten Blogserie helfen werden. Wenn Sie diese Themen noch nicht kennen, können Sie die Einführungsblogs durchgehen, um Situationen wie diese zu vermeiden:

- Praktische Erfahrung mit ABAP
- Eine kurze Erfahrung mit TCODE's wie SE38, SE80.
- Kurze Kenntnisse über OData
- Einige Kenntnisse über CDS wird bei der praktischen Arbeit helfen.
Beachten Sie, dass Sie keineswegs über ein umfassendes Wissen zu den genannten Themen verfügen müssen, sondern dass ein Grundverständnis ausreicht.

Wie Sie bereits gelesen haben, muss man die Vergangenheit kennen und aus ihr lernen, um die Zukunft zu gestalten. Bevor wir also in die Tiefe des Themas eintauchen, lassen Sie uns einen Blick auf die Geschichte der verschiedenen Programmiermodelle werfen, die zur Entwicklung von RAP führten.
Entwicklung der verschiedenen ABAP-Programmiermodelle

Klassisches/traditionelles ABAP-Programmiermodell
Das traditionelle ABAP-Programmiermodell wurde mit ABAP-Plattformversionen vor 7.5 entwickelt. In diesem Modell werden die Anwendungen und Entwicklungen mit Hilfe von ABAP GUI wie Reports, Modulpools, Transaktionscodes wie SE38 und SE80, etc. durchgeführt. Das traditionelle Programmiermodell ist für die vollständige serverseitige Verarbeitung auf dem ABAP-Anwendungsserver konzipiert. Es ist ein On-Premise-Modell, das in der Lage ist, ABAP-GUI- und Web-Dynpro-Anwendungen zu erstellen und den Kunden einen erheblichen Mehrwert zu bieten.
Mit der Einführung der Core Data Services konnte SAP HANA für ABAP die Entwicklungsmöglichkeiten und die Datenmodellierungsinfrastruktur nutzen. CDS-Views sind virtuelle Datenmodelle von SAP HANA, die den Zugriff auf Tabellen der HANA-Datenbank ermöglichen. Datenmodelle, die auf CDS basieren, sind semantisch reichhaltig und können für alle Anwendungsdomänen verwendet werden. Da CDS-Ansichten jedoch schreibgeschützt sind, können mit diesem Modell keine transaktionalen Dienste durchgeführt werden. Außerdem lag die Last der Implementierung von OData-Diensten bei den Entwicklern. Um diese Unzulänglichkeiten zu überwinden, wurde ein anderes Modell eingeführt, das es ABAP-Entwicklern ermöglicht, Fiori-Anwendungen zu erstellen.
ABAP Programmiermodell für SAP Fiori
Das wesentliche Merkmal dieses Modells ist, dass es die Komplexität der Codierung reduziert, um Gateway-Dienste als CDS-Ansichten zu implementieren und diese Ansichten können dann als OData-Dienste ausgesetzt werden. Das ABAP-Programmiermodell für SAP Fiori ist ab der Version 7.5 der ABAP-Plattform verfügbar. Dieses Modell basiert auf modernen Technologien wie CDS, BOPF (Business Object Processing Framework) und SAP-Gateway-Services und verwendet SEGW, um ein CDS-Datenmodell als OData-Service darzustellen. Außerdem ermöglicht das SAP Fiori-Modell ABAP-Entwicklern, Fiori-Anwendungen nur mit ABAP zu erstellen.
ABAP RESTful Programmiermodell
ABAP RAP spezifiziert eine Architektur für die Entwicklung von SAP HANA-optimierten OData-Diensten von Anfang bis Ende. Sie ermöglicht die Erstellung einer breiten Palette von Fiori-Anwendungen und Publishing-APIs.
Dieses Modell verwendet CDS für die Definition von Datenmodellen, ABAP-basierte Anwendungsdienste für benutzerdefinierte Logik und Schnittstellen auf der Grundlage von SAPUI5. Die SAP Fiori-Anwendung konsumiert die durch das Datenmodell und das Verhalten definierte Logik, drückt sie aus und stellt sie als Business Services dar. Werfen wir nun einen Blick auf die wichtigsten Schichten von ABAP RAP:

- Datenmodellierung und Verhaltensmuster
Datenmodelle für CDS werden in dieser Schicht definiert. Sie enthalten CDS-Entitäten auf der Basis von Dictionary-Tabellen und mehr, die als CDS-Views in ABAP dargestellt werden. CDS-Sichten bestehen aus Feldern und Assoziationen zu anderen CDS-Sichten, die ein semantisches Netz bilden.
Die Datenmodellierungs- und Verhaltensebene ermöglicht auch die Ausführung von Abfragen für den strukturierten Datenabruf. Es gibt drei Möglichkeiten, Verhaltensweisen zu implementieren:

- Verwaltetes Szenario: In einem verwalteten Szenario implementiert das RAP-Framework die Verhaltenselemente, während ABAP die zugrunde liegende komplexe Logik verwaltet. Es ist wie BOPF, bei dem wir definieren, welche Tabellen am Ende des Prozesses aktualisiert werden müssen. Es ist nur auf SAP HANA Cloud verfügbar.
- Verwaltet mit Sicherungsszenario: In diesem Szenario werden die Tabellen nicht direkt mit den Daten aktualisiert. Stattdessen können BAPIs oder Verbuchungsfunktionsbausteine aufgerufen werden, um die Daten zu sichern. Derzeit ist es nur für SAP-interne Zwecke verfügbar.
- Nicht verwaltetes Szenario: In einem nicht verwalteten Szenario wird die gesamte Coding-Implementierung von Ihnen durchgeführt und wird verwendet, wenn Sie eine bestehende BOPF-Anwendung oder ABAP-Code haben, der aufgerufen wird, wenn das Geschäftsobjekt gespeichert wird.
- Bereitstellung von Geschäftsdienstleistungen
Wie Sie aus dem Diagramm ersehen können, fungiert die Schicht für die Bereitstellung von Geschäftsdiensten als Zwischenglied zwischen dem Datenmodell und dem Datenkonsumenten. Mit dieser Schicht können Sie die Definition von Geschäftsdiensten steuern, z. B. die Implementierung verschiedener Verhaltensweisen für verschiedene Benutzer. Diese Geschäftsdienste werden durch Dienstdefinition und Dienstbindung verwendet.
- Verbrauch von Dienstleistungen
Die Dienstnutzungsschicht konsumiert alle Dienste, die auf der Geschäftsbereitstellungsschicht verfügbar sind. Um Daten zu verarbeiten und Analysen durchzuführen, erhält sie Daten von der vorherigen Schicht. Einfacher ausgedrückt: SAP Fiori interagiert mit der Servicebereitstellungsschicht und unterstützt das OData-Modul, um die dort enthaltenen Informationen anzuzeigen.
Zusammenfassung
ABAP RAP (Restful Application Programming) beschreibt die Architektur, um einen durchgängig unternehmensfähigen, für SAP HANA optimierten, OData-basierten Fiori UI Service und Web APIs sowohl in der Cloud als auch on-premise auf effiziente Weise zu erstellen. Als evolutionärer Nachfolger des ABAP-Programmiermodells für SAP Fiori füllt RAP die Lücken und erbt das Beste des Modells.
Dinge wie ABAP-Entwicklungswerkzeuge in Eclipse, die Verwendung von Sprachen wie ABAP und CDS und ein leistungsstarkes Framework machen RAP zukunftsfähig.

Vorbereitungen für die kommende Blog-Serie.
- Da wir in den kommenden Blogserien die ABAP on Cloud-Umgebung zusammen mit der Eclipse IDE verwenden werden, wäre es gut, wenn wir bereits einige Einstellungen vornehmen könnten. Bitte befolgen Sie die Link für die Einrichtungsanleitung.
- Wenn Sie mit der Entwicklungsumgebung von ABAP on Cloud nicht vertraut sind, folgen Sie dem Leitfaden um Ihre erste klassische Hello World-Konsolenanwendung in Eclipse ADT (ABAP Development Tool) zu schreiben.
- CDS spielt eine wichtige Rolle beim Erlernen von ABAP RAP und daher sollten Sie wissen, wie man es benutzt. Hier ist eine Blog die Ihnen dabei helfen können.
Das war's für jetzt, wir werden unsere Reise in Richtung ABAP RAP in den nächsten Blogs fortsetzen. Wir werden an einem praktischen Szenario arbeiten, in dem es um eine Einstellungsszene geht, in der die Personalabteilung und der Personalleiter unterschiedliche Berechtigungen für die genannte Aufgabe haben. Dies wird Ihnen ein vertieftes Wissen über die verschiedenen Schichten und Komponenten von RAP vermitteln. Bis dahin, auf Wiedersehen und viel Spaß beim Lernen!!
