Przeglądając niektóre usługi sieciowe, natknąłem się na tę „nową” technologię, którą Microsoft nazywa OData . Czytając ich opis w FAQ na temat tego, czym jest OData, trudno mi odróżnić OData od usług sieciowych REST. Czy ktoś mógłby mi pomóc zrozumieć różnice?
web-services
rest
odata
Scott
źródło
źródło
Odpowiedzi:
AKTUALIZACJA Ostrzeżenie, ta odpowiedź jest bardzo nieaktualna, gdy OData V4 jest dostępna.
Napisałem post na ten temat jakiś czas temu tutaj .
Jak powiedział Franci, OData opiera się na Atom Pub. Jednak nałożyli na siebie pewne funkcje i niestety zignorowali niektóre ograniczenia REST w tym procesie.
Możliwość wysyłania zapytań przez usługę OData wymaga konstruowania identyfikatorów URI na podstawie informacji, które nie są dostępne lub z którymi łączy się odpowiedź. To jest to, co ludzie REST nazywają informacjami pozapasmowymi i wprowadzają ukryte sprzężenie między klientem a serwerem.
Drugim wprowadzonym sprzężeniem jest użycie metadanych EDMX do zdefiniowania właściwości zawartych w treści wpisu. Te metadane można odkryć w stałym punkcie końcowym o nazwie $ metadane. Znowu klient musi to wiedzieć z góry, nie można tego wykryć.
Niestety, Microsoft nie uznał za stosowne tworzyć typów mediów do opisania tych kluczowych elementów danych, więc każdy klient OData musi poczynić pewne założenia dotyczące usługi, z którą rozmawia i danych, które otrzymuje.
źródło
Protokół OData jest oparty na protokole AtomPub. Protokół AtomPub jest jednym z najlepszych przykładów projektowania interfejsu API REST. W pewnym sensie masz rację - OData to po prostu kolejny interfejs API REST, a każda implementacja OData jest usługą internetową REST.
Różnica polega na tym, że OData jest specyficznym protokołem; REST to styl architektury i wzór projektowy.
źródło
REST jest ogólną techniką projektowania używaną do opisania sposobu dostępu do usługi internetowej. Za pomocą usługi REST można wysyłać żądania HTTP w celu uzyskania danych. Jeśli wypróbujesz to w przeglądarce, będzie to tak samo, jak przejście do strony internetowej, z wyjątkiem tego, że zamiast zwracać stronę, otrzymasz XML. Niektóre usługi zwracają również dane w formacie JSON, który jest łatwiejszy w użyciu w Javascript.
OData to specyficzna technologia, która udostępnia dane za pośrednictwem REST.
Jeśli chcesz to podsumować naprawdę szybko, pomyśl o tym jako:
źródło
W 2012 OData została poddana standaryzacji, więc dodam tutaj aktualizację ..
Najpierw definicje:
REST - to architektura wysyłania wiadomości przez HTTP.
OData V4 - jest specyficzną implementacją REST, naprawdę definiuje treść wiadomości w różnych formatach (obecnie myślę, że to AtomPub i JSON). ODataV4 przestrzega zasad odpoczynku.
Na przykład ludzie asp.net będą głównie używać kontrolera WebApi do serializacji / deserializacji obiektów do JSON i niech javascript coś z tym zrobi. Punktem Odata jest możliwość wysyłania zapytań bezpośrednio z adresu URL za pomocą gotowych opcji.
źródło
Z dokumentacji OData :
źródło
więcej szczegółów na http://www.odata.org/
źródło
ODATA to specjalny rodzaj REST, w którym możemy jednolicie wyszukiwać dane z adresu URL.
źródło
REST oznacza RE prezentacyjny S tate T ransfer który jest zasobem oparty styl architektoniczny. Oparty na zasobach oznacza, że dane i funkcje są uważane za zasoby.
OData to internetowy protokół, który określa zestaw najlepszych praktyk dotyczących budowania i korzystania z usług sieciowych RESTful. OData to sposób na tworzenie usług sieciowych RESTful, a więc implementacja REST.
źródło