Open Data Protocol

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

  • 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[edytuj | edytuj kod]

Adres URI serwisów OData składają się z trzech zasadniczych części:

  1. Adres główny serwisu – np. http://services.odata.org/OData/OData.svc
  2. Ścieżka do zasobu – np. Categories(1)/Products
  3. 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

Bibliografia[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]

  • Strona główna protokołu OData (biblioteki kliencki i serwerowe) – http://www.odata.org
  • Portal MSDN.pl (seria artykułów OData):
Część 1 – http://msdn.microsoft.com/pl-pl/library/gg455971
Część 2 – http://msdn.microsoft.com/pl-pl/library/odata-nowy-standard-udostepniania-i-korzystania-z-danych-cz-2a oraz http://msdn.microsoft.com/pl-pl/library/odata-nowy-standard-udostepniania-i-korzystania-z-danych-cz-2b