Open Data Protocol (OData) ist ein Webprotokoll für das Anfragen und Aktualisieren von Daten; es nutzt Webtechnologien wie HTTP, Atom Publishing Protocol (AtomPub) und JSON bzw. baut auf diesen auf und ermöglicht dadurch den Zugriff auf Informationen aus diversen Anwendungen und Services. Die OData-Services lassen sich problemlos auf verschiedenen Plattformen nutzen und ermöglichen dadurch das Erstellen plattformübergreifender Webanwendungen und mobiler Anwendungen.
Hinweis
Mit diesem Service können keine dynamischen Querys ausgeführt werden.
OData steht in MI 14.0 als neuer Service für das Ausführen von Query-Templates zur Verfügung. Die Funktion des Service besteht im Ausführen der Query-Templates in SAP Manufacturing Integration and Intelligence (SAP MII). Gemäß den REST-Richtlinien ist der Aufruf des OData-Service durch folgende Requests zulässig:
GET: Ausführung jener Modi, mit denen Daten ausschließlich abgerufen werden
POST: Ausführung aller Modi
PUT: Ausführung jener Modi, mit denen Daten eingefügt werden
DELETE: Ausführung jener Modi, mit denen Daten gelöscht werden
Das Metadaten-Dokument des OData-Service erhalten Sie unter der URL http://<Server>:<Port>/XMII/IlluminatorOData/$metadata.
Den OData-Service können Sie über die URL http://<server>:<port>/XMII/IlluminatorOData/QueryTemplate aufrufen; bei IlluminatorOData handelt es sich um den Name des Service und bei Query Template um den Namensraum oder den Namen der Entitätsmenge. Zum Aufrufen eines OData-Service können Sie auch den in der SAP MII Workbench vorliegenden HTTP-Aktionsblock verwenden. Es sind verschiedene Query-Templates für unterschiedliche HTTP-Request-Typen in bestimmten Modi vorhanden. In der folgenden Tabelle sind die Modi und Request-Typen der Query-Templates dargestellt.
Query-Template |
Modus |
Request-Typen |
---|---|---|
Tag-Query |
alle |
GET/POST |
Aggregatabfrage |
alle Modi |
GET/POST |
FDO-Query |
Aktualisieren |
PUT |
Löschen |
DELETE |
|
Einfügen |
POST |
|
alle anderen Modi |
GET/POST |
|
KPI-Query |
Löschen |
DELETE |
Einfügen |
POST |
|
alle anderen Modi |
GET/POST |
|
alle Modi |
GET/POST |
|
Xacute-Query |
alle Modi |
GET/POST |
Xacute-Query |
alle Modi |
GET/POST |
ETC-Query |
alle Modi |
GET/POST |
Alarm-Query |
DBFixedQuery |
POST |
PCo-Query |
DBCommandQuery |
POST |
TagStoreQuery |
POST |
|
alle anderen Modi |
GET/POST |
|
Query |
POST |
|
OLAP-Query |
alle anderen Modi |
GET/POST |
FixedQuery |
POST |
|
SQL-Query |
FixedQueryWithOutput |
POST |
alle anderen Modi |
GET/POST |
|
Sie können die Query-Templates in SAP MII unter der URL http://<Server>:<Port>/XMII/IlluminatorOData/QueryTemplate?QueryTemplate=<Template-Name> ausführen.
Parameter können Sie unter der URL http://<Server>:<Port>/XMII/IlluminatorOData/QueryTemplate?QueryTemplate=<Template-Name>&Mode=<Modus>&Server=<Server> eingeben. Durch die Übergabe von Parametern in der URL können Sie die bestehenden konfigurierten Query-Template-Parameter übersteuern.
Das standardmäßige Rückgabeformat ist Atom oder XML. Um die Daten im JSON-Format zu erhalten, verwenden Sie die URL http://<Server>:<Port>/XMII/IlluminatorOData/QueryTemplate?Mode=<Modus>&$format=json. Geben Sie den Namen des Query-Templates an.
Hinweis
Wenn Requests per HTTP POST, PUT oder DELETE an den OData-Service gesendet werden sollen, müssen Sie einen zusätzlichen Request-Parameter senden, dessen Werte folgendermaßen abgerufen werden:
Der Client muss ein HTTP GET über die URL http://<Server>:<Port>/XMII/IlluminatorOData/QueryTemplate?xsrfid=Fetch an den Server senden.
Der Server gibt einen der Kopfschlüssel als xsrfid zurück; bei dem Wert handelt es sich um ein verschlüsseltes Token.
Wenn die Services per POST, PUT oder DELETE aufgerufen werden, gibt der Client den Token-Namen xsrfid und dessen Wert in einem Request-Parameter als http://<Server>:<Port>/XMII/IlluminatorOData/QueryTemplate?QueryTemplate=<Template-Name>&xsrfid=<responseHeaderValue> zurück.
Wenn der Client beim Aufrufen des OData-Service das oben genannte Token und dessen Wert nicht senden kann, ist der Aufruf unvollständig, sodass der HTTP-Antwortcode 403 ausgegeben wird. • Das Token xsrfid ist für das Ausführen der Query in HTTP GET nicht erforderlich.
Weitere Informationen über OData finden Sie unter
http://www.odata.org