Open Data Protocol (OData) – protokół sieciowy służący do pobierania oraz aktualizowania danych stworzony przez firmę Microsoft. Oparty jest na standardowych protokołach sieciowych takich jak HTTP i Atom, dodając do nich możliwość wykonywania zapytań i zwracania podzbiorów danych w formacie XML lub JSON. Protokół oparty jest na licencji Microsoft Open Specification Promise.
Przestrzenie nazw XML Przestrzenie nazw wykorzystywane podczas reprezentacji XML to: Data Namespace – przestrzeń wykorzystywana do reprezentacji danych Metadata Namespace – przestrzeń nazw wykorzystywana do reprezentacji metadanych
Pojęcia podstawowe Collection (kolekcja) – zasób przechowujące zbiór elementów Member Resource Entity Data Model (Model danych) – abstrakcyjny model danych wykorzystywany przez serwis OData Entry (wpis) – element kolekcji reprezentowany przez Atom Entry Document (dla reprezentacji XML) lub obiekt JSON (dla reprezentacji JSON) Feed (źródło) – reprezentacji kolekcji Link (relacja) – określa relację pomiędzy dwoma wpisami Property (właściwość) – element reprezentujący część wpisu Resource (zasób) – dostępny poprzez sieć obiekt danych
Konwencje URI Adres URI serwisów OData składają się z trzech zasadniczych części: Adres główny serwisu – np. http://services.odata.org/OData/OData.svc Ścieżka do zasobu – np. Categories(1)/Products Operatory zapytań – np. top=2&$orderby=Name Złożenie powyższych trzech elementów da dostęp do kolekcji Produktów należących do jednej kategorii, posortowanej według nazwy. Z tej kolekcji zostaną wybrane dwa produkty: http://services.odata.org/OData/OData.svc/Categories(1)/Products?$top=2&$orderby=Name Opcje zapytania należy poprzedzić symbolem „?”, a wszystkie operacje zapytań poprzedzone są symbolem „$”. Opcje zapytań to: $orderby (sortowanie) – sortowanie według wybranej właściwości: $orderby=Name. rosnąco – domyślnie sortowanie odbywa się w sposób rosnący. Zapisy: $order=Name oraz $orderby=Name asc są sobie równoznaczne malejąco – wykonanie sortowania malejącego wykonuje się poprzez dodanie słowa kluczowego desc: $orderby=Name desc $top – operator zwracający podzbiór z kolekcji wyników w zależności od przekazanego parametru np. $top=2 zwróci dwa wpisy $filter (filtrowanie) – operator umożliwiający filtrowanie wyników względem zadanego kryterium np. $filter=Name eq 'Cranberry Juice’ zwróci wpisy produktów, dla których właściwość Name zawiera wartość Cranberry Juice Protokół OData dostarcza operatory filtrowania w trzech grupach: Logiczne, Arytmetyczne, Grupujące. $format – operator informujący serwis w jakim formacie mają zostać zwrócone wyniki: Atom – http://services.odata.org/OData/OData.svc/Categories(1)/Products?$top=2&$orderby=Name&$format=atom JSON – http://services.odata.org/OData/OData.svc/Categories(1)/Products?$top=2&$orderby=Name&$format=json $select (projekcja) – w celu ograniczenia liczby wyświetlanych właściwości dla encji możliwe jest zastosowanie operatora $select oraz przekazanie nazwy właściwości jako parametrów: http://services.odata.org/OData/OData.svc/Categories(1)/Products?$top=2&$orderby=Name&$select=Name,Price
Bibliografia Protocol documentation – https://www.odata.org/developers/protocols
Linki zewnętrzne Strona główna protokołu OData (biblioteki kliencki i serwerowe) – http://www.odata.org Portal MSDN.pl (seria artykułów OData): Część 1 – https://msdn.microsoft.com/pl-pl/library/gg455971 Część 2 – https://msdn.microsoft.com/pl-pl/library/odata-nowy-standard-udostepniania-i-korzystania-z-danych-cz-2a oraz https://msdn.microsoft.com/pl-pl/library/odata-nowy-standard-udostepniania-i-korzystania-z-danych-cz-2b
Kategoria:Protokoły internetowe Kategoria:World Wide Web