abap

Ein Praxisleitfaden zu ABAP RAP: Einführung

Basant Singh · 11. Oktober 2021

Dieser Beitrag wurde aus dem englischen Original übersetzt.

Hallo Technikbegeisterte,

willkommen zum ersten Teil unserer fünfteiligen Blogserie, in der wir ABAP RAP erläutern und in den Mittelpunkt stellen. Am Ende dieser Blogserie haben Sie ein umfassendes Verständnis der verschiedenen Programmiermodelle in ABAP, diverser Themen rund um RAP wie seine Schichten, Architektur, CDS usw., und Sie werden in der Lage sein, unterschiedliche Projekte und Szenarien mit RAP zu erstellen. Wir werden außerdem eine praktische Übung mit RAP durchführen, die dessen End-to-End-Fähigkeiten demonstriert.

Zunächst sprechen wir über die verschiedenen Programmiermodelle von ABAP und gehen dann zu unserem eigentlichen Thema der Serie über.

Voraussetzungen

Nachfolgend einige Voraussetzungen, die Ihnen während der gesamten Blogserie helfen werden. Falls Sie diese Themen noch nicht kennen, können Sie die Einführungsblogs durcharbeiten, um Situationen wie diese zu vermeiden:

Credit: Scott Adams

  • Praktische Erfahrung mit ABAP
  • Erste Erfahrung mit TCODEs wie SE38, SE80.
  • Grundkenntnisse zu OData
  • Etwas Wissen über CDS hilft bei der praktischen Übung.

Beachten Sie, dass es keineswegs nötig ist, die genannten Themen in der Tiefe zu beherrschen, eine Grundvorstellung genügt.

Wie Sie bereits gelesen haben: Um die Zukunft zu gestalten, müssen Sie die Vergangenheit kennen und verstehen. Bevor wir also tief in das Thema eintauchen, werfen wir einen Blick auf die Geschichte der verschiedenen Programmiermodelle, die zur Entwicklung von RAP geführt haben.

Entwicklung der verschiedenen ABAP-Programmiermodelle

Credit: https://blogs.sap.com/

Klassisches / traditionelles ABAP-Programmiermodell

Das traditionelle ABAP-Programmiermodell entstand mit ABAP-Plattformversionen vor 7.5. In diesem Modell werden Anwendungen und Entwicklungen über die ABAP GUI erstellt, etwa Reports, Modulpools, Transaktionscodes wie SE38 und SE80 usw. Das traditionelle Programmiermodell ist auf eine vollständige serverseitige Verarbeitung auf dem ABAP Application Server ausgelegt. Es ist ein On-Premise-Modell, das ABAP-GUI- und Web-Dynpro-Anwendungen erzeugen kann und Kunden erheblichen Mehrwert liefert.

Mit der Einführung von Core Data Services konnte SAP HANA für ABAP die Entwicklungsfähigkeiten und die Datenmodellierungsinfrastruktur nutzen. CDS Views sind virtuelle Datenmodelle von SAP HANA, die den Zugriff auf Tabellen der HANA-Datenbank erlauben. Datenmodelle auf Basis von CDS sind semantisch reichhaltig und lassen sich für alle Anwendungsdomänen einsetzen. Da CDS Views jedoch nur lesend sind, konnten mit diesem Modell keine transaktionalen Services ausgeführt werden. Zudem lag die Verantwortung für die Implementierung von OData-Services bei den Entwicklern. Um diese Schwächen zu beheben, wurde ein weiteres Modell eingeführt, das ABAP-Entwicklern den Bau von Fiori-Anwendungen ermöglichte.

ABAP Programming model for SAP Fiori

Das wesentliche Merkmal dieses Modells ist, dass es die Codierkomplexität reduziert, indem Gateway-Services als CDS Views implementiert werden, die dann als OData-Services bereitgestellt werden können. Das ABAP Programming model for SAP Fiori steht ab Release 7.5 der ABAP-Plattform zur Verfügung. Dieses Modell basiert auf modernen Technologien wie CDS, BOPF (Business Object Processing Framework) und SAP Gateway Services und nutzt SEGW, um ein CDS-Datenmodell als OData-Service bereitzustellen. Außerdem versetzt das SAP-Fiori-Modell ABAP-Entwickler in die Lage, Fiori-Anwendungen allein mit ABAP zu erstellen.

ABAP RESTful Programming Model

ABAP RAP definiert eine Architektur, um SAP-HANA-optimierte OData-Services von Anfang bis Ende zu entwickeln. Es ermöglicht die Erstellung einer breiten Palette von Fiori-Anwendungen sowie die Veröffentlichung von APIs.

Dieses Modell nutzt CDS zur Definition von Datenmodellen, ABAP-basierte Application Services für kundeneigene Logik und Oberflächen auf Basis von SAPUI5. Die SAP-Fiori-Anwendung konsumiert die durch Datenmodell und Verhalten definierte Logik, drückt sie aus und stellt sie als Business Services bereit. Werfen wir ohne weitere Umschweife einen Blick auf die Hauptschichten von ABAP RAP:

Credit: https://blogs.sap.com/

  1. Data Modelling and Behavior

In dieser Schicht werden die Datenmodelle für CDS definiert. Sie enthalten CDS-Entitäten auf Basis von Dictionary-Tabellen und mehr, die in ABAP als CDS Views dargestellt werden. CDS Views bestehen aus Feldern und Assoziationen zu anderen CDS Views und bilden so ein semantisches Netz.

Die Schicht für Datenmodellierung und Verhalten erlaubt Ihnen außerdem, Abfragen für die strukturierte Datenbeschaffung auszuführen. Es gibt drei Wege, Verhalten zu implementieren:

Credit: https://blogs.sap.com/

  • Managed-Szenario: In einem Managed-Szenario implementiert das RAP-Framework die Verhaltenselemente, während ABAP die zugrunde liegende komplexe Logik übernimmt. Es ähnelt BOPF, wo wir definieren, welche Tabellen am Ende des Prozesses aktualisiert werden müssen. Es ist ausschließlich in der SAP HANA Cloud verfügbar.

  • Managed-with-save-Szenario: In diesem Szenario werden die Tabellen nicht direkt mit den Daten aktualisiert. Stattdessen können BAPIs oder Update-Funktionsbausteine aufgerufen werden, um die Daten zu sichern. Derzeit ist es nur für SAP-interne Zwecke verfügbar.

  • Unmanaged-Szenario: In einem Unmanaged-Szenario erledigen Sie die gesamte Implementierung selbst. Es kommt zum Einsatz, wenn Sie eine bestehende BOPF-Anwendung oder ABAP-Code haben, die beim Sichern des Business Objects aufgerufen werden sollen.

  1. Business Service Provisioning

Wie Sie im Diagramm sehen, fungiert die Business-Service-Provisioning-Schicht als Vermittler zwischen Datenmodell und Datenkonsument. Diese Schicht erlaubt Ihnen, die Definition von Business Services zu steuern, etwa die Implementierung unterschiedlicher Verhaltensweisen für unterschiedliche Benutzer. Diese Business Services werden über Service Definition und Service Binding genutzt.

  1. Service Consumption

Die Service-Consumption-Schicht konsumiert alle Services, die auf der Business-Provisioning-Schicht bereitgestellt werden. Für Verarbeitung und Analysen bezieht sie Daten aus der vorherigen Schicht. Einfacher gesagt: SAP Fiori interagiert mit der Service-Provisioning-Schicht und unterstützt das OData-Modul, um die dort enthaltenen Informationen anzuzeigen.

Zusammenfassung

ABAP RAP (Restful Application Programming) beschreibt die Architektur, um auf effiziente Weise durchgängige, unternehmenstaugliche, von Haus aus funktionsreiche, SAP-HANA-optimierte, OData-basierte Fiori-UI-Services und Web-APIs zu bauen, in der Cloud ebenso wie On-Premise. Als evolutionärer Nachfolger des ABAP Programming model for SAP Fiori schließt RAP die Lücken und übernimmt das Beste aus diesem Modell.

Dinge wie die ABAP-Entwicklungswerkzeuge in Eclipse, der Einsatz von Sprachen wie ABAP und CDS sowie ein leistungsfähiges Framework machen RAP zukunftsfähig.

Credit: https://blogs.sap.com/

Vorbereitung auf die kommende Blogserie:

  • Da wir für die kommende Blogserie die ABAP-on-Cloud-Umgebung zusammen mit der Eclipse IDE nutzen werden, wäre es gut, alles bereits einzurichten. Bitte folgen Sie dem Link zur Setup-Anleitung.
  • Falls Sie mit der ABAP-on-Cloud-Entwicklungsumgebung nicht vertraut sind, folgen Sie der Anleitung, um Ihre erste klassische Hello-World-Konsolenanwendung in Eclipse ADT (ABAP Development Tool) zu schreiben.
  • CDS spielt beim Erlernen von ABAP RAP eine wichtige Rolle, daher sollten Sie wissen, wie man es einsetzt. Hier ist ein Blog, der Ihnen dabei helfen kann.

Das war es fürs Erste. Wir setzen unsere Reise zu ABAP RAP in den kommenden Blogs fort. Wir arbeiten dann an einem praktischen Szenario mit einem Hire-to-Retire-Fall, in dem HR und HR Manager unterschiedliche Berechtigungen für die genannte Aufgabe haben. Das gibt Ihnen tiefgehendes Wissen über die verschiedenen Schichten und Komponenten von RAP. Bis dahin: auf Wiedersehen und viel Freude beim Lernen!!

https://tenor.com/

Ähnliche Beiträge

Das könnte Sie auch interessieren

Aktualisieren Sie Ihre Unternehmensintegration.

Mit zunehmender Effizienz bei Digitalisierung und Datenfluss erwarten Sie einen höheren Unternehmenswert und eine bessere Wettbewerbsfähigkeit.