Frage

Als ich mir einige Webdienste ansah, stieß ich auf diese „neue“ Technologie, die Microsoft nennt OData.Wenn ich mir die Beschreibung zu OData in den FAQ durchlese, fällt es mir schwer, OData von REST-fähigen Webdiensten zu unterscheiden.Könnte mir bitte jemand helfen, die Unterschiede zu verstehen?

War es hilfreich?

Lösung

UPDATE Achtung, diese Antwort ist extrem veraltet jetzt, dass OData V4 verfügbar ist.


schrieb ich einen Beitrag zu diesem Thema vor einer Weile hier .

Wie Franci gesagt wird OData basiert auf Atom Pub. Allerdings haben sie einige Funktionen auf schichtet und leider haben einige der REST Einschränkungen im Prozess ignoriert.

Die anfragende Fähigkeit eines OData-Dienst erfordert, dass Sie URIs zu konstruieren, basierend auf Informationen, die in der Antwort nicht verfügbar oder verbunden ist. Es ist, was REST Leute nennen Out-of-Band-Informationen und führt zwischen dem Client und dem Server versteckt Kopplung.

Die andere Kupplung, die eingebracht wird, ist durch die Verwendung von EDMX Metadaten, die Eigenschaften in dem Eintrag enthaltenen Inhalt zu definieren. Diese Metadaten können zu einem festen Endpunkt entdeckt werden $ Metadaten bezeichnet. Wieder auf die Bedürfnisse der Kunden dies im Voraus wissen, ist es nicht entdeckt werden kann.

Leider Microsoft nicht für richtig Medientypen erstellen, um diese Kernstücke der Daten zu beschreiben, so dass jeder OData-Client eine Reihe von Annahmen über den Service sorgen, dass es im Gespräch mit und die Daten, die er empfängt.

Andere Tipps

Die OData-Protokoll wird auf der Oberseite des AtomPub Protokolls errichtet. Das AtomPub Protokoll ist eines der besten Beispiele für REST-API-Design. Also, in einem gewissen Sinne, Sie haben Recht - die OData ist nur ein weiterer REST API und jede OData Implementierung ist eine REST-ful Webservice

.

Der Unterschied besteht darin, dass OData ein bestimmtes Protokoll ist; REST ist Architektur-Stil und Design-Muster.

REST ist eine allgemeine Design-Technik verwendet, um zu beschreiben, wie ein Web-Service zugegriffen werden kann. REST verwenden Sie können HTTP-Anfragen machen Daten zu erhalten. Wenn Sie es in Ihrem Browser versuchen, es wäre wie außer auf eine Website gehen, anstatt eine Webseite zurückkehren würden Sie zurück XML erhalten. Einige Dienste werden auch Daten im JSON-Format zurück, die mit Javascript einfacher zu bedienen ist.

OData ist eine spezielle Technologie, die Exposes Daten durch REST.

Wenn Sie es ganz schnell zusammenzufassen, daran zu denken als:

  • REST - Design-Muster
  • OData - Enabling-Technologie

Im Jahr 2012 unterzog sich OData Standardisierung, also werde ich nur hinzufügen, ein Update hier ..

Zuerst werden die Definitionen:

REST - ist eine Architektur, wie Nachrichten über HTTP zu senden.

OData V4 - ist eine spezielle Implementierung von REST, definiert wirklich den Inhalt der Nachrichten in verschiedenen Formaten (derzeit denke ich, ist AtomPub und JSON). ODataV4 folgt Rest Prinzipien.

Zum Beispiel asp.net Menschen werden meist verwenden WebAPI Controller zur Serialisierung / deserialisieren Objekte in JSON und haben Javascript damit etwas zu tun. Der Punkt der OData wird in der Lage, direkt aus dem URL abfragen mit out-of-the-Box-Optionen.

Von der OData Dokumentation :

  

Das OData-Protokoll ist ein Protokoll auf Anwendungsebene mit Daten über RESTful Web-Service für die Interaktion.

     

...

     

Das OData-Protokoll unterscheidet sich von anderen REST-basierten Web-Service läuft, dass sie eine einheitliche Art und Weise sind sowohl die Daten und das Datenmodell zu beschreiben.

ODATA ist eine besondere Art von REST , wo wir können Abfragedaten einheitlich von URL.

  

OData (Open Data Protocol) ist ein OASIS-Standard, der die besten definiert   Praxis für den Aufbau und raubend RESTful APIs. OData hilft Ihnen,   konzentrieren sich auf Ihre Business-Logik, während RESTful APIs Aufbau ohne   mit Sorgen über die Annäherungen Anfrage und Antwort zu definieren   Header, Statuscodes, HTTP-Methoden, URL-Konventionen, Medientypen,   Payload-Formate und Abfrageoptionen usw. OData führt Sie auch über   Änderungen, die Definition Funktionen / Aktionen für wiederverwendbare Prozeduren Tracking   und Senden von asynchronen / Batch-Anfragen usw. Zusätzlich OData   bietet Möglichkeit zur Erweiterung aller benutzerdefinierten Anforderungen Ihres erfüllt   RESTful APIs.

     

OData RESTful APIs sind leicht zu konsumieren. Die OData-Metadaten, ein   maschinenlesbare Beschreibung des Datenmodells der APIs ermöglicht   die Schaffung von leistungsfähigen generischen Client-Proxies und Werkzeugen. Einige   sie können Ihnen helfen, interact mit OData auch ohne etwas zu wissen   über das Protokoll. Die folgenden sechs Schritte demonstrieren 6 interessant   Szenarien von OData Verbrauch in den verschiedenen Programmierplattformen.   Aber wenn Sie ein Nicht-Entwickler sind und möchte einfach spielen mit   OData, XOData ist der beste Start für Sie.

, um weitere Informationen unter http://www.odata.org/

AUSRUHEN steht für REPräsentation State TTransfer, ein ressourcenbasierter Architekturstil.Ressourcenbasiert bedeutet, dass Daten und Funktionalitäten als Ressourcen betrachtet werden.

OData ist ein webbasiertes Protokoll, das eine Reihe von Best Practices für die Erstellung und Nutzung von RESTful-Webdiensten definiert.OData ist eine Möglichkeit, RESTful-Webdienste zu erstellen und somit eine Implementierung von REST.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top