Velký problém našich serverových produktů, tím myslím Sharepoint, CRM, Windows Live atd., byla nekonzistence webových služeb zpřístupňujících data na serverech. Šlo sice o webové služby, ale každá se používala jinak nebo si zaváděla svůj vlastní jazyk pro popis dat. Klasickým příkladem je CAML pro Sharepoint nebo FetchXML pro Dynamics CRM. To vše vyžadovalo ze strany programátora studium dodatečné dokumentace a nedostatek hotových knihoven mimo .NET svět. Před nějakým časem vznikl projekt Astoria, který využíval návrhový vzor REST a serializaci dat do formátu ATOM nebo JSON podle přání klienta. Projekt Astoria se představil pod názvem ADO.NET Data Services v .NET Framework 3.5 SP1. Z tohoto počinu pak vznikl protokol OData, který se postupně stává základem pro publikaci dat z našich serverů. Takže pokud dnes chcete například komunikovat s knihovnami na serveru Sharepoint 2010 použijete protokol OData.

Díky použitému návrhovému vzoru REST, formátu ATOM a JSON je implementace tohoto protokolu velmi jednoduchá na libovolné platformě. Tomu napomáhá i sada testů pro „certifikaci“ vaší implementace. Co je nejdůležitější pro nás, líné programátory, je podpora ve Visual Studio 2010 v oblíbené podobě – pravé tlačítko myši a Add Service Reference… Vygenerování proxy třídy je pak dílem okamžiku. Velmi podobným způsobem je možné vygenerovat proxy třídu například pro PHP nebo JAVU.

Protokol v současné době již využívá řada produktů, např. již jmenovaný Sharepoint 2010 nebo Windows Azure, a některé instituce, které mají za zákona dáno publikovat informace v otevřeném formátu. Bližší informace a popis protokolu najdete na http://www.odata.org/.

Štěpán