OData-Services mit CDS: Voraussetzungen

OData - Mit Core Data Services

Schnell und einfach OData Services zu definieren ist immer eine Herausforderung in UI5 Projekten. In vielen Kundenprojekten, die ich begleitet oder geleitet habe, nimmt die Implementierung der Datenbeschaffung einen Großteil der Entwicklungszeit in Anspruch, ohne sichtbare Ergebnisse zu erzeugen. 

Dabei lassen sich ein Großteil der benötigten Entitysets meist direkt oder durch einige Joins durch Datenbanktabellen abbilden. Unter anderem für diesen Anwendungszweck wurden von der SAP die sog. Core Data Services (CDS) entwickelt, welche ich Ihnen in dieser Blogreihe vorstellen werde. Teil 1 dieses Blogs wird sich mit den Voraussetzungen, Vor- und Nachteilen der Core Data Services beschäftigen, während Teile zwei und drei sich mit der konkreten Implementierung und Registrierung des OData-Services beschäftigen.

Schritt 1: Die Voraussetzungen

Anders als weitläufig bekannt, stehen die CDS-Views nicht nur auf den HANA-Systemen zur Verfügung, sondern auch auf den älteren, R/3-baiserten Systemen. Die konkreten Anforderungen sind wie folgt:

  • SAP NetWeaver 7.50, SP01, or higher.
  • SAP NetWeaver 7.4 SP05
  • SAP HANA SPS6
  • SAP Business Suite EHP7 (Suite on HANA)
  • S/4HANA
  • SAP Business Warehouse 7.3

Schritt 2: Installation Eclipse und Einrichtung ABAP Development Tools

Sollten Sie die ABAP Entwicklungstools für Eclipse bereits nutzen, können Sie diesen Abschnitt überspringen. Die Entwicklung der Core Data Services wird per ABAP Development Tools vorgenommen. Dafür ist Eclipse herunterzuladen, einzurichten sowie die Installation des entsprechenden Tools obligatorisch. Eine Installationsanleitung finden Sie auf dieser SAP-Seite: https://tools.hana.ondemand.com/#abap

ODATA Grundlagen

ODATA bildet die Schnittstelle zwischen dem UI5 Frontend und dem SAP Backend. Lesen Sie hier wichtigsten Learnings im Bereich ODATA.

Nutzen von Core Data Services

Die sog. CDS Views sind eine von SAP entwickelte, systemunabhängige und datenbankunabhängige Definitionssprache für Datenstrukturen. Diese können sowohl auf HANA, als auch Oracle Datenbanken, und im S/4, als auch R/3 Systemen definiert werden. Somit erleichtern CDS-Views einen späteren Wechsel auf S/4-Systeme.

Für die Frontendentwicklung mit SAPUI5 sind die CDS-Views in sofern von nutzen, dass diese direkt als OData Service generiert und aufgrund entsprechender Annotations u.a. eine vereinfachte Modellierung von SAPUI5-Oberflächen mit Smart-Objekts ermöglichen. Dabei stellen die Core Data Services die Schnittstelle Datenbank-Design und Applikations-Design dar. Sie ermöglichen eine Abstraktion, sowohl von der Datenbank, als auch der Anwendungsoberfläche.
Design-centric approach vs. data-centric approach
Während bei der Modellierung der OData Services die Oberfläche von Bedeutung ist, basiert die Data Provider Class Implementierung auf den entsprechenden Datenbanken (Abschnitt Classic Approach). Die Core Data Services verlagern den entsprechenden Aufwand auf die Datenbankebene und nutzen entsprechende Möglichkeiten des entsprechenden Datenbank Systems (Abschnitt Data Centric Approach).

Aufbau der Core-Data-Services (CDS)

Aufbau von Core Data Services
Um die entsprechenden Ergebnisse zu erzielen, basiert der Aufbau der Core Data Services auf 4 Ebenen:

  1. Grundlage bilden zunächst die Entities, welche bspw. als Tabellen im DBS vorliegen oder anderen CDS-Entities.
  2. Die Relationships sind die aus dem SQL-Umfeld bekannten Joins, welche erst die Komplexität der Datenbeschaffung abbilden.
  3. Eine weitere Ebene bilden die sog. Calculated Fields, welche bspw. die Schlüssel der entsprechenden Einträge auflösen oder Berechnungen durchführen.
  4. Und zuletzt die Annotations, welche erst dem Konzept den Schliff verleihen, in dem Semantische Informationen, wie Beschreibung oder Datentypen ergänzt werden.

Zusammenfassung

Sie kennen nun die Voraussetzungen, die Vorteile und den Aufbau der Core Data Services. Meine größte Erkenntnis, als ich mich das erste Mal dem Thema gewidmet habe war, dass die CDS auch auf den älteren SAP Systemen zur Verfügung stehen und diese die Erstellung von OData-Services stark vereinfachen.

Tobias Feldherr

Tobias Feldherr

Als Management & Technologieberater im Bereich Mobility verbinde ich tiefgehende fachliche Expertise mit langjährigem Projektleitungs-Know-How. Diese Kombination liefert mir die Grundlage, meine Kunden-Projekte zum Erfolg zu führen. Gerne unterstütze ich Sie bei den Themen mobile Infrastrukturen und App-Entwicklung mit SAPUI5 oder Low-Code.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

In diesem Blogbeitrag möchte ich Ihnen zeigen, wie einfach es möglich ist einen bestehenden OData Service zu exportieren um ihn anschließend anzupassen.

weiterlesen

Willkommen zum vierten und letzten Teil meines OData Tutorials. In diesem Blogbeitrag werde ich Ihnen erklären, wie Sie über die OData Schnittstelle Entitäten im SAP System erstellen können. Darüber hinaus […]

weiterlesen

In diesem Tutorial möchte ich Ihnen zeigen, wie Sie ohne viel Vorwissen einen OData Service auf Ihrem SAP NetWeaver Gateway anbieten können. Anhand eines kleinen Beispiels werde ich alle benötigten Schritte […]

weiterlesen

2 Kommentare zu "OData-Services mit CDS: Voraussetzungen"

Hallo Herr Lehker,

ich habe folgendes Problem. Ich möchte gerne meine CDS-Entities mit meinen Kollegen teilen. Ist dies überhaupt möglich? Wenn ja, wo finde ich diese Option?

Antworten
Tobias Schießl - 5. November 2019 | 14:19

Hallo Frau Kastner,

in Vertretung für Herr Lehker möchte ich gerne Ihre Frage beantworten. Teilen können Sie Ihre CDS Entities auf 2 Arten: Entweder Sie legen die CDS Views in einem Paket ab, auf das auch andere zugreifen können (also nicht $TMP) oder Sie nutzen (zusätzlich) eine Versionsverwaltung. Hier können Sie beispielsweise abapGit nutzen, was eine passende Lösung darstellt: https://docs.abapgit.org/ Allerdings erfordert dies ebenfalls, dass Sie die CDS Views in allgemein zugänglichen Paketen abgelegt haben.
Ich hoffe, ich konnte Ihre Frage damit beantworten.

Viele Grüße,
Tobias Schießl

Antworten

Schreiben Sie einen Kommentar

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





Kontaktieren Sie uns!
Sophie Weber
Sophie Weber Kundenservice