OData
Inhaltsverzeichnis
Was ist OData?
OData, das “Open Data Protocol”, ist ein offener Standard, der von Microsoft entwickelt und von der OASIS unterstützt wird. Open Data heißt ins Deutsche übersetzt: Offene Daten, also Daten, die von allen Verantwortlichen ohne große Einschränkungen genutzt, weiterverbreitet und weiterverwendet werden können. Es ermöglicht den einfachen Austausch von Daten über APIs.
Mit OData können Sie über das HTTP-Protokoll auf Daten zugreifen, diese abfragen und bearbeiten. Dabei werden gängige Webtechnologien wie REST und JSON verwendet. Sie können komplexe Abfragen definieren, CRUD-Operationen durchführen und Metadaten über das Datenmodell abrufen. OData fördert die Interoperabilität zwischen verschiedenen Systemen und ermöglicht eine standardisierte Kommunikation über APIs.
Es wird in verschiedenen Bereichen eingesetzt, einschließlich der Integration von Geschäftsanwendungen, der Entwicklung von mobilen Apps und der Datenanalyse. Mit OData können Sie nahtlos auf Ihre Daten zugreifen und sie effizient nutzen.
.RESTful-APIs
Durch die mittlerweile weit verbreitete Nutzung der Cloud tauchen eine Vielzahl von Webschnittstellen (APIs= Application Programming Interface) auf, um Webdienste verfügbar zu machen.
OData vs. REST
REST (Representational State Transfer) ist ein Programmierparadigma, dass das Ziel verfolgt, eine einheitliche Architektur für APIs zu erstellen. Diese APIs ermöglichen es dann Endbenutzern, sich problemlos mit Clouddiensten zu verbinden und mit ihnen zu interagieren. Eine RESTful API verwendet HTTP-Anfragen, um per GET, PUT, POST und DELETE auf Daten zugreifen zu können:
- PUT: Eine Ressource (Objekt, Datei, Block) ändern oder aktualisieren
- GET: Eine Ressource abrufen
- POST: Eine neue Ressource erstellen
- DELETE: Eine Ressource löschen
Nachdem Microsoft die Weiterentwicklung von OData an das OASIS Konsortium (OASIS=Organization for the Advancement of Structured Information Standards) – eine Organisation, die sich mit der Weiterentwicklung von Webservice-Standards beschäftigt – übergeben hat, haben diese OData als ein Best Practice standardisiert, um RESTful APIs sicher zu entwickeln und zu konsumieren.
OData ist somit ein Webstandard, an dem sich jeder in der Entwicklung beteiligen kann – so auch SAP.
Im Klartext heißt das: OData ist ein standardisiertes Protokoll, das auf der REST-Architektur basiert. Das Ergebnis? RESTful OData APIs. Hierbei handelt es sich um eine ideale Lösung, eine Symbiose, die es dem Endbenutzer erlaubt, sich mit Clouddiensten zu verbinden und mit ihnen zu interagieren.
Das Datenmodell Entity Data Model (EDM)
Wenn wir nun von relationalen Datenbanken oder Textdateien ausgehen – also Daten, die in einem Format über mehrere Plattformen gespeichert und bearbeitet werden können – dann besteht auf der Seite der Entwickler die Herausforderung darin, einen effizienten und verwaltbaren Code zu schreiben, ohne auf den Komfort des effizienten Datenzugriffs auf Seiten des Nutzers zu verzichten.
Generell ist es schwierig, bei der Bearbeitung und Speicherung von Daten zwischen mehreren Einheiten eine richtige Balance zwischen den beiden Komponenten – Entwicklung und Usability – zu finden. An dieser Stelle kommt das Entity Data Model als geeignete Lösung zum Einsatz:
Das EDM beschreibt die Datenstruktur in Bezug auf Entitäten und Beziehungen, die völlig unabhängig von einem Speicherschema sind, wodurch die gespeicherte Datenform unabhängig von Anwendungsentwurf und Entwicklung wird.
Dieses besteht im Wesentlichen aus Entitäten, die zueinander in Verbindung gesetzt werden. Dabei ist eine Entity ein Teil eines sogenannten EntitySets. Verbindungen zwischen diesen werden in der Regel über Assoziationen repräsentiert.
Um auch tiefe Strukturen, also komplex verschachtelte Elemente abzubilden, können sogenannte Navigation Properties verwendet werden. Mit dieser einfachen, standardisierten Herangehensweise wurde sich auf eine Art der Datenrepräsentation geeinigt, die zugleich mächtig, als auch verständlich ist.
Vorteile von OData
Was wir also heutzutage brauchen ist ein Protokoll, das es uns ermöglicht, flexibel auf unsere Datenbanken zugreifen und valide Daten im Web verändern, hinzufügen, löschen und updaten zu können. Und das alles in einem kollaborativen Ansatz. Damit wir – auch trotz dezentraler Firmenstrukturen – im Team arbeiten können.
OData erfüllt diese Ansprüche, da dieses Protokoll komplett Plattform- und Technologie- sowie Programmiersprachenunabhängig ist. Es kann innerhalb von Cloud-Diensten eingebunden werden und ist in der Lage, in der Client-Server-Kommunikation eine einheitliche Semantik für den Datenaustausch zur Verfügung zu stellen.
Somit können CRUD-Operationen barrierefrei durchgeführt werden. CRUD ist ein Akronym, das die Datenbankoperationen Create, Read, Update und Delete umfasst:
- Create: Datensätze anlegen
- Read: Datensätze lesen
- Update: Datensätze aktualisieren
- Delete: Datensätze löschen
Zu den klaren Vorteilen von OData zählen also die Möglichkeit einer konsistenten sowie strukturierten Entwicklung von Webschnittstellen, die Plattform-, Technologie- und Programmiersprachenunabhängikeit und die Automatisierung durch Metadaten. Zudem erzeugt OData einfach lesbare Requests:
- [Service URL] /ServiceName/Person
- Liefert alle Entities vom Typ Person zurück
- [Service URL] /ServiceName/Person(‘Anna’)
Liefert eine spezifische Entity zurück, in unserem Fall die Person mit Namen Anna. Dies erleichtert sowohl die Entwicklung, als auch die Verarbeitung und den Test.
OData Formate
Die Daten oder Ressourcen werden im OData-Protokoll in zwei Formaten ausgegeben: AtomPub (Atom Publishing Protocol) und JSON (JavaScript Object Notation).
AtomPub
AtomPub bietet die Möglichkeit, Webinhalte auf der Basis von HTML und XML zu erstellen und zu bearbeiten. Die Kommunikation mit dem Server funktioniert, wie bereits beschrieben, nach den REST-Prinzipien.
JSON
JSON ist ein programmiersprachenunabhängiges Datenaustauschformat, das für Menschen einfach zu lesen und zu schreiben und für Maschinen wiederum einfach zu parsen ist.
Die Idee hinter OData ist die Abschaffung komplexer Standardkommunikationsprotokolle, in denen die Kommunikation zwischen einem Server und einer Anwendung erst aufwändig formatiert werden muss.
Testen von OData Services mit Postman
Wie zuvor unter dem Punkt Entity Data Model beschrieben, ist die Entwicklung von Webschnittstellen ziemlich komplex und muss vielen Anforderungen gerecht werden. Postman ist ein Tool, das die komplette API-Entwicklungs-Umgebung abbildet.
Developing APIs is hard. Postman makes it easy.
Von der Entwicklung über das Testen und der Dokumentation bis hin zum Fertigstellen der Webschnittstelle bietet Postman dabei die ideale Unterstützung, die Entwicklung schnell und effizient durchzuführen. Dieses Tool wird als Browser-Add-on oder als Stand-Alone zur Verfügung gestellt.
Durch die sehr einfache Bedienung können Entwickler Mock-Services erstellen, wobei anhand von Dummy-Daten eine Webschnittstelle simuliert und getestet wird, ohne auf ein fertiggestelltes Front- sowie Backend angewiesen zu sein.
Das heißt im Umkehrschluss, dass durch Postman erst Tests geschrieben und durchgeführt werden können, bevor die eigentliche Entwicklung der finalen Webschnittstelle erfolgt – test-driven development.
Für Entwickler ist Postman eine gute Möglichkeit, OData Services zu testen und alle Eventualitäten durchzuspielen, bevor es an die finale Entwicklung geht.
Sprechen Sie OData?
Abschließend können wir festhalten, dass OData die Beschreibung von Datenmodellen und die Bearbeitung der dazugehörigen Daten unterstützt, was eine einheitliche Semantik und somit eine Interoperabilität zwischen den Systemen gewährleistet. Dadurch kann ein einheitliches Ökosystem für den Datenaustausch entstehen.
Das OASIS Konsortium hat somit eine Technologie standardisiert, die sowohl die Abfrage von Daten, als auch das Versenden von Daten – also das Senden einer Payload ermöglicht. Dieser Standard ist wichtig, da heutzutage, neben Microsoft- auch andere Hersteller wie SAP und weitere namenhafte Anbieter OData Services nutzen.
So verwenden z.B. SAP Fiori Apps OData, wodurch Anna als Nutzer, je nach Zugriffsrechten, auf SAP-Daten zugreifen und diese bearbeiten kann.
OData ist für mobile Anwendungen ein essentielles Protokoll, das wir von Mission Mobile verstehen und effizient auf Ihre mobilen Geschäftsprozesse anwenden können.
Websession: OData
Haben Sie Fragen bezüglich des Open Data Protocols? Ich bin mir sicher, dass ich Ihnen weiterhelfen kann. In einer kostenlosen Websession besprechen wir Ihre Herausforderungen und Möglichkeiten.
FAQ
Was ist OData?
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.
Was ist das EDM?
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.
Welche Vorteile hat OData?
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.
Was ist JSON?
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.