SAP OData: Service definieren
Sie werden mit dem OData Modeler Plugin für Eclipse Ihr OData Model erstellen und anschließend exportieren. Danach werden Sie Ihr Model ins SAP-System importieren und dort als Service registrieren.
Zuerst eine kurze Liste der Vorraussetzungen: Dieses HowTo ist der erste Teil einer Reihe von Blogbeiträgen zum Thema OData. Die Themen der Blogbeiträge im Überblick: Im ersten Schritt muss also der OData Service definiert werden. Ein nützliches Tool für diese Aufgabe ist das Plugin OData Modeler für die Eclipse IDE. Mit diesem Plugin kann eine OData Schnittstelle schnell erstellt und anschließend als .XML-Datei exportiert werden. Dies geht wesentlich intuitiver und schneller von der Hand als die Erstellung in der SAP GUI. Als erstes muss der OData Modeler installiert werden. Nachdem Sie den OData Modeler installiert haben, können Sie anfangen ihr Model zu erstellen. Ein OData Model besteht aus Entitäten. Diese Entitäten (oder Entities) stehen für gleichartige Objekte, welche auch zu Mengen (oder Collections) zusammengefasst werden können. OData kann nun eine einzelne Entität, die komplette Collection oder eine gefilterte Collection zurückgeben. In meinem Beispiel gibt es zwei Entitäten: Equipment und ServiceNotification. Über den OData Service soll es möglich sein, die Equipments und Servicemeldungen eines Kunden anzuzeigen und für ein bestimmtes Equipment eine Servicemeldung zu erstellen. Im nächsten Schritt erstellen wir das OData Modell mit dem OData Modeler. Im nächsten Schritt wird das OData Model als .XML-Datei exportiert. Diese Datei kann dann ins SAP System importiert werden. Der nächste Schritt ist nun der Import der Datei ins SAP System. Nun haben Sie Ihr OData Modell erfolgreich ins SAP System importiert. Jetzt muss das Modell noch mit Logik befüllt werden. Dazu werden Laufzeitartefakte generiert. Das sind ABAP OO Klassen, welche für die Business Logik sorgen, wenn der OData Service genutzt wird. Diese Klassen können automatisch generiert werden. Sie sehen in diesem Fenster auch die generierten Namen für die Model-Provider-Klasse und die Data-Provider-Klasse. Nachdem Sie bestätigt haben, werden die Klassen erstellt. Sie finden sie unter Laufzeitartefakte: Sie haben nun alle wichtigen Komponenten für Ihren OData Service erstellt. Der letzte Schritt ist nun die Registrierung des Service an Ihrem SAP Gateway. Bleiben Sie weiterhin in der Transaktion SEGW. Ihr OData Service ist nun registriert und kann im Browser aufgerufen werden. Dazu verbinden Sie sich bitte mit Ihrem Gateway und öffnen die Transaktion /IWFND/MAINT_SERVICE. Hier können Sie Ihren Service auswählen und auf Browser aufrufen klicken. Fügen Sie der aufgerufenen URL bitte den Zusatz ?sap-ds-debug=true hinzu. Dies bereitet die Ausgabe etwas auf und bietet darüber hinaus einige Analysewerkzeuge. Da die Data Provider Klasse allerdings noch nicht bearbeitet wurde, gibt der Service erst einmal keine Daten zurück. In Ihrem Browser sollte trotzdem, abhängig von Ihrer Gateway-Adresse und der Benennnung Ihres Service, folgendes Ergebnis erscheinen: Ein Klick auf eine Collection würde nun die entsprechende Methode in der Data-Provider-Klasse auf Ihrem SAP-System auslösen. Da diese bis zu diesem Punkt noch nicht befüllt ist, erhalten Sie eine leere Antwort. Das Füllen der Data-Provider-Klasse ist der Inhalt meines nächsten Blog-Artikels in dieser Reihe über OData. Ich hoffe, dieses SAP Entwickler Tutorial war hilfreich bei der Erstellung ihres OData Services und ich freue mich auf Fragen, Feedback und Kommentare. Für Besucher von Mission Mobile können wir unseren Kurs „ODATA Services im SAP UI5 Umfeld“ mit kräftigem Rabatt anbieten: Kurs: “ODATA Services im SAP UI5 Umfeld Das Lesen von Tutorials führt Sie nicht zum Ziel? Dann ist unsere Demo genau das Richtige für Sie. Gerne können wir auch in einer kostenlosen Websession Ihre Herausforderungen und Möglichkeiten besprechen. OData (Open Data Protocol) ist ein HTTP-basiertes Protokoll für den Datenzugriff zwischen kompatiblen Softwaresystemen. OData bildet die Schnittstelle zwischen dem UI5 Frontend und dem SAP Backend. Das Datenmodell EDM (Entity Data Model) stellt die Datenstruktur in Bezug auf Beziehungen und Entitäten dar. Diese sind dabei von einem Speicherschema absolut unabhängig, womit die gespeicherte Datenform von Entwicklung und Anwendungswurf unabhängig sind. OData ermöglicht als Protokoll, flexibel auf Datenbanken zuzugreifen und valide Daten zu verändern, hinzuzufügen, zu löschen und zu updaten. Ein weiterer Vorteil ist die Option einer strukturierten Entwicklung von Webschnittstellen. JSON steht kurz für JavaScript Object Notation und stellt ein Datenaustauschformat dar, das programmiersprachenunabhängig ist und somit für Menschen einfach zu lesen und schreiben ist.OData Service auf SAP NetWeaver Gateway anbieten
Installation des OData Modeler
Erstellen des OData Models
Hinzufügen von Entitäten und Properties
Hinzufügen von NavigationProperties
Versuchen Sie nun das hier abgebildete OData Model zu erstellen:
Das fertige Model als .XML-Datei exportieren
OData Model als .XML-Datei in das SAP System importieren
Laufzeitartefakte generieren
Service am Gateway registrieren
Unser Video-Kurs „ODATA Services im SAP UI5 Umfeld“
SAP OData
FAQ