Startseite / Wissen / OData

Was ist OData und wofür wird es in der Industrie genutzt?

Kurzantwort

OData ist ein offenes, REST-basiertes Protokoll, mit dem Anwendungen Daten über HTTP abfragen und ändern. Jede Datenquelle beschreibt ihr Datenmodell selbst und versteht dieselben standardisierten Abfragen. Das spart individuelle Schnittstellen zwischen ERP, MES und Auswertung, ersetzt aber keine Maschinenprotokolle und keine Echtzeit-Datenströme.

Lesezeit 7 MinutenFachredaktion inray Industriesoftware
Ein Muster statt vieler Schnittstellen

Definition: OData

OData steht für „Open Data Protocol“. Es beschreibt, wie Datendienste im REST-Stil aufgebaut sind: Clients lesen und ändern Ressourcen mit gewöhnlichen HTTP-Nachrichten, die Ressourcen werden über URLs adressiert, und ein Datenmodell beschreibt, welche Objekte und Eigenschaften es gibt. So steht es in der OData-Spezifikation von OASIS.

Der praktische Gewinn liegt in der Einheitlichkeit. Wer einen OData-Dienst kennt, kann die Abfragelogik eines zweiten Dienstes ohne neue Einarbeitung nutzen. Die Tabelle stellt OData einer individuell gebauten Schnittstelle gegenüber.

Kriterium Individuelle Schnittstelle OData
Datenmodell Dokumentiert je Projekt, oft nur in Texten Maschinenlesbar im Metadaten-Dokument ($metadata)
Abfragen Je Schnittstelle neu definiert Standardisierte Optionen wie $filter, $select und $top
Transport Beliebig HTTP mit GET, POST, PUT, PATCH und DELETE
Standardisierung Keine OASIS-Standard, ISO/IEC 20802

Warum ein Standard sinnvoll ist

Die Idee eines gemeinsamen Datenzugriffs ist älter als die Norm. Im Mai 2012 schlugen unter anderem Microsoft und IBM beim Standardisierungsgremium OASIS ein technisches Komitee für OData vor, Microsoft brachte sieben Spezifikationsteile ein. OASIS verabschiedete OData 4.0 am 24. Februar 2014 als Standard, 2016 wurde es als ISO/IEC 20802 angenommen. OData 4.01 folgte am 23. April 2020.

Warum das für Verbindungen zählt, zeigt eine Überschlagsrechnung. Rein zur Illustration: Sechs Systeme, die jeweils individuell miteinander sprechen, brauchen bis zu 6 × 5 / 2 = 15 Verbindungen. Sprechen alle sechs über denselben Standard mit einer gemeinsamen Schicht, sind es sechs Anbindungen. Die Zahlen sind ein Rechenbeispiel, kein Messwert aus einem Projekt.

Aus welchen Teilen OData besteht

OData ist kein einzelnes Dokument, sondern eine Familie von Spezifikationen. Die folgende Übersicht nennt die Teile, die in der Praxis am häufigsten gebraucht werden.

Baustein Aufgabe Quelle
Protokoll (Part 1) Regelt Ressourcenmodell, HTTP-Methoden, Service-Dokument, Metadaten, Batch und Änderungsverfolgung OASIS, 2020
URL-Konventionen (Part 2) Legt fest, wie Mengen, Schlüssel und Abfrageoptionen in URLs geschrieben werden OASIS, 2020
Datenmodell (CSDL) Beschreibt Typen, Mengen, Beziehungen, Funktionen und Aktionen in XML oder JSON OASIS, 2020
JSON-Format Definiert, wie Daten als JSON übertragen werden OASIS, 2014

Wie OData technisch funktioniert

Vier Mechanismen tragen den Standard.

  • Adressierung: Eine Menge steht hinter dem Dienstpfad, etwa Products. Ein einzelner Datensatz wird über den Schlüssel in Klammern angesprochen, etwa Products(1).
  • Abfrageoptionen: Mit $filter grenzen Sie Datensätze ein, mit $select wählen Sie Eigenschaften, mit $expand binden Sie verknüpfte Daten ein, mit $orderby, $top und $skip sortieren und blättern Sie.
  • Schreibzugriff: Datensätze werden mit POST angelegt, mit PATCH oder PUT geändert und mit DELETE entfernt. ETags schützen vor Überschreiben, wenn zwei Anwender gleichzeitig ändern.
  • Metadaten und Batch: Das Service-Dokument listet die verfügbaren Mengen, $metadata beschreibt das Modell. Mit Batch-Anfragen lassen sich mehrere Operationen in einem Aufruf bündeln.

In vier Schritten zur Anbindung

Die Reihenfolge ist bei den meisten Anbindungen ähnlich.

  1. Datenmodell klären

    Welche Objekte brauchen Sie, etwa Aufträge, Materialien oder Standorte, und welche Eigenschaften sind dafür nötig?

  2. Dienst prüfen

    Rufen Sie das Service-Dokument und $metadata ab. So sehen Sie, welche Mengen und Felder der Dienst tatsächlich anbietet.

  3. Abfragen und Zugriff festlegen

    Definieren Sie Filter und Felder so, dass nur nötige Daten übertragen werden, und klären Sie Authentifizierung und Berechtigungen.

  4. Betrieb und Pflege

    Überwachen Sie Antwortzeiten und Fehler und planen Sie ein, dass sich das Modell des Dienstes ändern kann.

Was OData nicht ist

Vier Abgrenzungen verhindern typische Missverständnisse.

  • Kein Maschinenprotokoll: OData spricht mit Datendiensten, nicht direkt mit einer Steuerung. Dafür gibt es Protokolle wie OPC UA oder Modbus.
  • Kein Datenstrom: OData arbeitet mit Anfrage und Antwort über HTTP. Für Ereignisse, die ein Sender laufend verteilt, eignen sich Protokolle wie MQTT besser.
  • Keine Datenbank: OData beschreibt den Zugriff, nicht die Speicherung. Dahinter kann jede Datenhaltung stehen.
  • Nicht beliebiges REST: OData ergänzt REST um feste Regeln für Modell, Abfragen und Fehler. Ein beliebiger JSON-Dienst ist deshalb noch kein OData-Dienst.

Typische Hürden in der Praxis

Die Hürden liegen selten im Protokoll, sondern in dem, was dahinter bereitgestellt wird.

  • Dienste in unterschiedlichen OData-Versionen, die ein Client getrennt behandeln muss
  • Zu breite Abfragen, etwa $expand über viele Beziehungen, die Antwortzeiten erhöhen
  • Unklare Berechtigungen: Wer darf welche Mengen lesen oder ändern?
  • Felder mit gleichem Namen, aber unterschiedlicher Bedeutung in verschiedenen Systemen
Der ehrliche Teil

OData vereinheitlicht den Zugriff, nicht die Bedeutung der Daten. Zwei Systeme können beide OData sprechen und dennoch „Auftrag“ oder „Standort“ unterschiedlich meinen. Dieses gemeinsame Verständnis müssen Sie fachlich klären. pronubes nimmt Ihnen das nicht ab und macht aus einem Dienst ohne saubere Beschreibung keinen verlässlichen.

Wie pronubes unterstützt

OData ist für pronubes ein möglicher Zugang zu Quell- und Zielsystemen. Die Produktteile übernehmen dabei unterschiedliche Aufgaben.

  • pronubes Edge: Edge bindet Maschinen, Anlagen und Zielsysteme an, ohne dass für jede Verbindung ein eigenes Schnittstellenprojekt entsteht. Systeme mit standardisierter Schnittstelle eignen sich dafür besonders gut.
  • pronubes Zones: Zones bildet Standorte, Produktionsbereiche, Systeme und Datenflüsse in einer klaren Struktur ab. Das hilft, Daten aus einem OData-Dienst eindeutig dem richtigen Standort und Bereich zuzuordnen.
  • pronubes Insights: Insights macht sichtbar, ob Verbindungen und Datenflüsse im laufenden Betrieb stabil arbeiten. So erkennen Sie früh, wenn ein Dienst langsam antwortet oder Fehler liefert.
Begriffe
OData
Open Data Protocol, REST-basiertes Protokoll zum Abfragen und Ändern von Daten über HTTP.
REST
Architekturstil für Dienste, die Ressourcen über URLs und HTTP-Methoden ansprechen.
OASIS
Standardisierungsgremium, das OData seit 2014 als Standard führt.
Entity Set
Menge gleichartiger Datensätze, die unter einer URL erreichbar ist.
Service-Dokument
Liste der Mengen und Funktionen, die ein OData-Dienst anbietet.
$metadata
Dokument, das das Datenmodell eines OData-Dienstes beschreibt.
CSDL
Common Schema Definition Language, Beschreibungssprache für das OData-Datenmodell.
Abfrageoption
Parameter wie $filter oder $select, mit dem ein Client das Ergebnis eingrenzt.
ETag
Kennung eines Datensatzstands, die gleichzeitiges Überschreiben verhindert.
Batch
Bündelung mehrerer OData-Operationen in einem HTTP-Aufruf.
Nachgefragt

Häufige Fragen

Wofür steht OData?

OData steht für „Open Data Protocol“. Es ist ein offenes Protokoll, mit dem Anwendungen Daten über HTTP lesen und ändern, auf Basis eines beschriebenen Datenmodells.

Wer standardisiert OData?

Das Standardisierungsgremium OASIS. Dort wurde 2012 ein technisches Komitee gegründet, OData 4.0 wurde am 24. Februar 2014 Standard und später als ISO/IEC 20802 angenommen. Version 4.01 folgte am 23. April 2020.

Ist OData dasselbe wie REST?

Nein. OData baut auf REST und HTTP auf, ergänzt aber feste Regeln für Datenmodell, Abfrageoptionen und Fehlerbehandlung. Ein beliebiger REST-Dienst folgt diesen Regeln nicht automatisch.

Eignet sich OData für Maschinendaten in Echtzeit?

Eher nicht. OData arbeitet mit Anfrage und Antwort. Für laufende Ereignisse sind Protokolle wie MQTT besser geeignet, für die Steuerungsebene Protokolle wie OPC UA. OData passt vor allem zu Geschäfts- und Stammdaten.

Wie sicher ist ein OData-Dienst?

Das hängt von der Umsetzung ab. OData nutzt HTTP, die Absicherung erfolgt also über Mechanismen wie HTTPS, Authentifizierung und Berechtigungen im Dienst. Sie sollten beides vor der Anbindung klären.

Loslegen

Ein einheitlicher Datenzugriff beginnt mit einer gemeinsamen Architektur, nicht mit der nächsten Einzelschnittstelle.

pronubes bindet Maschinen, Anlagen und Systeme über eine gemeinsame Architektur an, statt Schnittstelle für Schnittstelle.

pronubes by inray

pronubes is a product of inray Industriesoftware GmbH. Over 30 years of industrial software made in Germany. Innovative and reliable for manufacturing companies.

inray