SAP CDS

SAP Core Data Services (SAP CDS) vereinfacht und harmonisiert die Definition und Verwendung der geschäftlichen Datenmodelle eines Unternehmens. Datenmodelle legen ähnlich wie Dateiformate fest, wie bestimmte Typen von Daten (z.B. Kundendaten) standardisiert gespeichert werden.

Durch Datenmodelle können Datenbankinhalte systemübergreifend und von verschiedenen Anwendungen genutzt werden. Dies reduziert Entwicklungskosten, erleichtert und beschleunigt die Nutzung und trägt zur Portabilität von Daten bei.

SAP hat in SAP HANA die Core Data Services als Infrastruktur für Datenmodellierung eingeführt. Mit SAP CDS können semantisch reiche, d.h. komplexe Datenmodelle in SAP HANA gehandhabt werden. Datenmodelle werden auf der im Arbeitsspeicher befindlichen Datenbank und nicht wie bisher auf dem Anwendungsserver definiert. Dies bringt erhebliche Performancevorteile und ist eine zentrale Neuerung gegenüber vorigen Lösungen. CDS bietet ferner Funktionen, die über herkömmliche Datenmodellierungstools hinausgehen:

  • SAP CDS liefert ein einheitliches Datenmodell für alle Anwendungsbereiche (transaktional und analytisch)
  • SAP CDS bietet eine semantische Ebene für alle Anwendungsfälle: Suche, Operationen und Analyse

Das bedeutet, dass Endnutzer unter Verwendung allgemeiner Geschäftsbegriffe für Berichts- und Analysezwecke auf Daten zugreifen können.

  • SAP CDS erweitert die Datenbanksprache SQL um Vereinfachungen, sodass sich für den Nutzer die technische Komplexität verringert

Datenbankmodell

Ein Datenmodell einer Datenbank legt die Struktur fest, in der Daten in einem Datenbanksystem gespeichert werden. Ein solches Modell hat drei Bestandteile:

  • Eine generische Datenstruktur mit der Art der Datentabellen, z.B. eine Kunden-Tabelle, wobei jeder Kunde in einer Tabellenzeile spaltenweise durch mehrere Attribute definiert ist
  • Operatoren, um Daten einzutragen, abzufragen oder zu ändern
  • Integritätsbedingungen, die die zulässigen Datenbankinhalte sinnvoll einschränken. Dadurch kann z.B. verhindert werden, dass für bestimmte Daten doppelte Einträge angelegt werden können, oder zu hohe oder zu tiefe Werte.

SAP HANA Architektur

SAP HANA ist konsequent als In-Memory-Plattform konzipiert. Daten werden zur Verarbeitung nicht wie bei konventionellen Datenbanken von einer Festplatte bzw. einem Server in den Arbeitsspeicher kopiert, sondern vollständig dort gehalten.

Mit dem SAP HANA-Datenmodell ergibt sich eine große Tabelle ohne Redundanz statt vieler kleiner Tabellen. Der Speicherbedarf kann dadurch gegenüber konventionellen Datenbanken um bis über das 10-fache reduziert werden. Dadurch können die Daten leichter im Arbeitsspeicher gehalten werden. Die Bearbeitung erfolgt hier um Größenordnungen schneller, als wenn eine Übertragung der Daten zwischen Datenbank und Applikationsservern nötig ist. Auch große (Big Data-) Datenmengen können so in nahezu Echtzeit verarbeitet werden.

Der Datenbank wird nicht nur mitgeteilt, welche Daten für die Verarbeitung benötigt werden, sondern wie diese Daten zu verarbeiten sind. Anstatt die Daten an den Applikationsserver anzuliefern und dann zu verfeinern („Data-to-Code“), werden sie bereits im Datenbankmanagementsystem in ein End- oder Zwischenprodukt gebracht („Code-to-Data“). Darauf ist HANAspezialisiert und kann diese Anfragen in der Regel um ein Vielfaches schneller umsetzen als herkömmliche „Data-to-Code“-Lösungen.

Operationen

Man unterscheidet bei Datenbankoperationen zwischen transaktionalen Prozessen (Online Transaction Processing, OLTP) und analytischen Prozessen (Online Analytical Processing, OLAP). Transaktionale Prozesse bedeuten Schreiben, Lesen und Verändern einzelner Datensätze (zeilenorientierter Zugriff in der Datenbanktabelle), analytische Prozesse bedeuten Zugriff auf viele Datensätze, um sie für einen Bericht zu konsolidieren (spaltenorientierter Zugriff).

Der spaltenorientierte Ansatz erlaubt schnelleres Lesen der Daten. Spaltenorientierte Speicherung vermeidet Redundanz: ein mehrfach vorkommender Datensatz wird nur einmal gespeichert und die mehrfachen Vorkommen referenziert. Die Ergebnistabellen für häufig vorkommende JOIN-Anfragen einer Datenbank wiederum lassen sich effizienter mit dem zeilenorientierten Ansatz erstellen.

SAP CDS verbindet in SAP HANA spaltenorientierte (wie andere In-Memory-Datenbanken) und zeilenorientierte Arbeitsweise (wie herkömmliche relationale Datenbanken). Damit werden die Vorteile beider Ansätze kombiniert.

E-Book: SAP Analytics – Effizienz im Unternehmen steigern

Wieso sollten Unternehmen sich um die Analyse Ihrer Daten kümmern, welche Anwendungsbereiche gibt es und welche Tools eignen sich dafür? Finden Sie es heraus.

SAP CDS-Komponenten

SAP CDS unterstützt wie die meisten Datenbanken die Datenbanksprache SQL für Definition, Abfrage und Änderung von Daten. Um semantisch komplexe Arten von Geschäfts- und anderen Datenobjekten einfach zu handhaben, gibt es über die Basissprache SQL hinaus Lösungen wie das Business Object Processing Framework für SAP ABAP oder das Enterprise ObjectsFramework in Java. Um Fragmentierung, Aufwand und Redundanz durch solche zusätzlichen Lösungen zu vermeiden, führte SAP HANA die Core Data Services als eigene Dienste für komplexe Datenmodelle ein.

SAP CDS erweitert den SQL-Standard um Funktionen, die die traditionellen transaktionalen und analytischen Modelle für Datendefinition, Datenabfrage und Datenmanipulation vereinheitlichen. Die Datenmodelle werden in DDL (Data Definition Language) ausgedrückt und sind als sog. CDS-Views (Ansichten) definiert. Diese können in SAP ABAP-Anwendungen für Datenbankzugriff verwendet werden.

SAP CDS umfasst folgende domänenspezifischen Sprachen:

  • Data Definition Language (DDL): Diese Datendefinitionssprache ermöglicht es, semantisch reichhaltige Datenmodelle, d.h. Datenbanktabellen und -ansichten (CDS-Entitäten) und benutzerdefinierter Typen zu definieren
  • Query Language (QL): Diese Abfragesprache erlaubt die effiziente Abfrage von Daten, die auf den DDL-Datenmodellen basieren. Sie erlaubt es ferner, Sichten (Views) zur Vereinfachung des Zugriffs innerhalb der Datenmodelle zu definieren
  • Expression Language (EL): Diese Ausdruckssprache dient bei Abfragen der Query Language zur Festlegung von z.B. Standardwerten und Einschränkungen.

Datendefinitionssprache DDL

Mit der Datendefinitionssprache CDS DDL werden die Datenmodelle der ABAP CDS angelegt. Die CDS DDL bietet Sprachelemente zur Definition und Erweiterung von CDS-Entitäten:

  • Anweisungen für CDS-Views: DEFINE VIEW und EXTEND VIEW
  • Anweisungen für CDS-Tabellenfunktionen: DEFINE TABLE FUNCTION
  • Sprachelemente für verschiedene CDS-Entitäten: Typisierungen, Eingabeparameter, Elementnotationen

Mit SAP CDS können dadurch Datenmodelle definiert werden, die folgende Elemente enthalten:

  • Entitäten (Ausprägungen von Objekten oder Sachverhalten durch Angabe von Attributen)
  • Assoziationen (Beziehungen zwischen Entitäten)
  • Ansichten (Views) (Vereinfachte Datenbankabfragen)
  • Annotationen (Anreicherung der Ansichten mit beschreibenden Daten (Metadaten) über die SQL-Syntax hinaus)
  • Zuordnungen zwischen Entitäten und Ansichten
  • Benutzerdefinierte Datentypen

Vorteile

SAP CDS bietet eine Reihe von Vorteilen für Unternehmen und Entwickler, darunter:

Semantisch reiche Datenmodelle

CDS baut auf dem bekannten Entity-Relationship-Modell auf und ist deklarativer Natur, sehr nah am konzeptionellen Denken.

Effizienz

CDS bietet eine Vielzahl hocheffizienter integrierter Funktionen zum Erstellen von Ansichten, wie SQL-Operatoren, Aggregationen und Ausdrücke.

Kompatibilität

Die CDS-Dienste basieren auf Open SQL, das von allen wichtigen Datenbankanbietern unterstützt wird.

Annotationen

Die CDS-Syntax unterstützt domänenspezifische Annotationen zur Anreicherung der Datenmodelle mit zusätzlichen (domänenspezifischen) Metadaten, die von anderen Komponenten wie der Benutzeroberfläche und den Analyse-Dienstenausgewertet werden können.

konzeptionelle Assoziationen

Mit CDS können Verknüpfungen als Beziehungen zwischen verschiedenen Ansichten definiert werden. Dadurch können Verknüpfungen durch einfachere Ausdrücke in Abfragen ersetzt werden.

Erweiterbarkeit

Von SAP definierte CDS-Ansichten können mit Feldern erweitert werden, die der CDS-Ansicht zusammen mit ihrer Verwendungshierarchie automatisch hinzugefügt werden.

SAP CDS in SAP HANA

Mit der Entwicklung von SAP HANA fand ein Paradigmenwechsel in SAP-Software insgesamt statt. Datenintensive Logik wurde auf die Datenbankebene verlagert. Statt dass Daten für Operationen aus Datenbanken zunächst in einen temporären Speicher kopiert werden, werden Operationen wenn möglich direkt in der im Arbeitsspeicher liegenden Datenbank ausgeführt, um eine hohe Performance zu erzielen.

SAP ABAP

Die Datenmodellierung kann durch Core Data Services in SAP HANA und auf dem SAP ABAP-Anwendungsserver nach denselben Entwurfsprinzipien erfolgen. SAP ABAP (Advanced Business Application Programming) ist eine Plattform zur Entwicklung von individuellen SAP-Anwendungen.

Um die Vorteile von SAP HANA für die Anwendungsentwicklung zu nutzen, hat SAP die Core Data Services als neue Datenmodellierungsinfrastruktur auch in SAP ABAP eingeführt. Mit Datenmodellen wird dadurch nicht auf dem Anwendungsserver, sondern auf dem Datenbankserver gearbeitet. Datenmodelle können unabhängig von der SAP-Technologieplattform (ABAP oder HANA) auf dieselbe Weise definiert und verwendet werden.

SAP CDS

ABAP Dictionary

Um (Geschäfts-) Anwendungen zu entwickeln, werden Werkzeug zur Datenmodellierung benötigt. Auf dem ABAP-Anwendungsserver wurden dazu bisher das ABAP Dictionary oder Werkzeuge wie der Data Modeler verwendet. Das ABAPDictionary ist ein plattformunabhängiges Metadaten-Repository für Datenbanktabellen und Datenbanksichten, auf die in ABAP mit Open SQL zugegriffen werden kann. Es enthält vordefinierte Objekte wie Datenbanktabellen und Views, die in ABAP-Programmen verwendet werden können.

Die Definition der Datenbankentitäten erfolgt im ABAP Dictionary Tool auf dem Applikationsserver. Mit SAP HANA und der Möglichkeit, Anwendungen direkt auf der Datenbank zu entwickeln, ohne einen Anwendungsserver mehr zu verwenden, entstand die Notwendigkeit, ein Metamodell-Repository direkt auf der Datenbank zu erstellen. Wie beim ABAP Dictionary auf dem Anwendungsserver sollte mehr möglich sein als die Verwendung von CREATE TABLE oder CREATE VIEW in SQL. Reine technische Definitionen sollten um Semantik angereichert werden können für einfachere Handhabung von Geschäftsprozessen. Dies ist einer der Hauptgründe für SAP CDS.

Da das ABAP Dictionary mit seiner Fähigkeit, Tabellen, Views und Datentypen zu definieren, bereits vorhanden war, lag es nahe, SAP CDS auf dem ABAP Application Server einzuführen, indem man es dem ABAP Dictionary hinzufügte. Die in einer DDL-Datei definierten CDS-Entitäten werden bei der Ausführung zu ABAP Dictionary-Objekten. Sie arbeiten dann als ABAP-Typen, auf die mit Open SQL zugegriffen werden kann.

CDS-Ansichten

In einem ersten Schritt wurden die erweiterten Funktionen zum Erstellen von SAP CDS-Ansichten in ABAP CDS implementiert. Für vorhandene ABAP-Datenmodelle, die bereits im ABAP Dictionary definiert sind, steht mit der DEFINE VIEW-Anweisung von ABAP CDS das gesamte erweiternde SAP CDS-Universum zur Verfügung. Sie können entweder komplexe neue Ansichten definieren oder eine vorhandene Tabelle einfach semantisch über eine CDS-Ansicht anreichern.

Beispielsweise bietet ABAP CDS ein neues Berechtigungskonzept an, das auf Rollen basiert, die mit DEFINE ROLE definiert sind. Dazu muss nur eine SAP CDS-Sicht für diese Tabelle erstellt werden, die mit einer Rolle verbunden werden soll.

Weitere Beispiele sind erweiterte Verknüpfungen von Tabellen mit Assoziationen oder die Verwendung von Annotationen, um vorhandene Tabellen mit neuen Technologien wie OData oder UI5 zu verbinden. OData ist ein plattformunabhängigesProtokoll von Microsoft, das Datenkompatibilität zwischen Softwaresystemen herstellt. Dadurch können Daten aus unterschiedlichen Quellen integriert werden. UI5 ist ein JavaScript-Framework, das er betriebssystemunabhängigenEntwicklung von Geschäftsanwendungen dient.

SAP CDS-Architektur

Datenbankebene – Diese Ebene kann mit den meisten gängigen Datenbanken wie Oracle, SAP HANA usw. konfiguriert werden. Für Ausnutzung aller Möglichkeiten wird SAP HANA empfohlen.

Anwendungsschicht – Diese Schicht enthält die Komponenten AS ABAP Backend und SAP Gateway. Deren Funktionalität wird über sogenannte Remote Function Call-Aufrufe integriert.

Präsentationsschicht – Diese Schicht enthält die SAP Fiori-Benutzeroberfläche zum Anzeigen der Anwendungen für den Endnutzer.

ABAP CDS vs. HANA CDS

Die Implementierungen von HANA CDS und ABAP CDS werden fortlaufend mit unterschiedlichen Prioritäten durchgeführt und sind bisher immer auf einem leicht versetzten Stand.

Während HANA CDS nur auf SAP HANA funktionieren muss, ist ABAP CDS auch für andere ERP-Systeme geöffnet. Folglich gibt es einige Einschränkungen für ABAP CDS, die für HANA CDS nicht existieren (genau wie Open SQL eingeschränkter ist als Native SQL). Ein Beispiel sind eingebaute Funktionen. Eine eingebaute Funktion wie CURRENCY_CONVERSION, die in ABAP CDS angeboten wird, muss auf jeder Datenbankplattform verfügbar sein und sich auf allen Plattformen gleich verhalten. Gleiches gilt für arithmetische Ausdrücke, Aggregate oder den CAST-Ausdruck.

Darüber hinaus gibt es in ABAP Besonderheiten wie Client-Handling oder Tabellenpufferung, die in HANA CDS nicht verfügbar sind, aber in ABAP CDS unterstützt werden.


Das könnte Sie auch interessieren:


Unsere Produkte zu SAP CDS

Unser Einführungsleitfaden basiert auf einem erprobten, wissenschaftlich fundierten Vorgehen. Mit einem minimierten Arbeitsaufwand für die Mitarbeiter stellt er sicher, dass die Implementierung der neuen Technologien schnell und effizient erfolgt.

Mehr Informationen

SAP Analytics – Änderungen im Reporting-Umfeld sind verwirrend und sowohl Manager als auch Entwickler behalten kaum den Überblick. Mit dem „Managers Update“ bieten wir einen Service, der Sie über die neusten Entwicklungen informiert.

Mehr Informationen

Sie haben ein bestehendes SAP Business Warehouse (BW) und benötigen einen neuen BW-Datenfluss? Wir haben eine mehrfach durchgeführte und standardisierte Vorgehensweise entwickelt, die die Erstellung eines BW-Datenflusses ermöglicht.

Mehr Informationen

Schreiben Sie einen Kommentar

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





Angebot anfordern
Expert Session
Preisliste anfordern