Open Data Protocol: una alternativa a la exposición de datos entre plataformas

Open Data Protocol, (aka OData), es una iniciativa impulsada por Microsoft para la exposición de datos como Servicio basándose en estándares de Internet y es la evolución de lo que era anteriormente conocido como ADO.NET Data Services (proyecto Astoria). Desde su aparición a principios del año pasado son ya muchos los productos, Web Sites y tecnologias que exponen sus datos utilizando este protocolo. En el caso de Microsoft lo podemos enconatrar ya en Sharepoint 2010, SQL Azure, Azure Storage, hasta ahora recientemente en Team Foundation Server (del que hablaremos en el proximo post).

Sobre la estandarización, OData está construido sobre Atom Publishing Protocol o AtomPub especificado en RFD 5023 quien a su vez está sontruido sobre Atom Syndication Format o Atom especificado en RFC4287.

OData tratar de dar solución a la exposición de orígenes de datos, relacionales o no, a través de un Servicio Web ejecutando operaciones con un lenguaje “estándar” basandose en:

  • La creación de una forma uniforme de representación de datos estructurados a través de Atom o JSON (JavaScript Object Notation)

  • La utilización de convenciones URL uniformes tanto para la navegación, filtrado, orden y paginación de datos (entre otros)

  • La creación de operaciones uniformes dirigidas por dirección mediante las acciones GET, POST, PUT y DELETE.


Desde http://odata.org podemos encontrar API’s de creación y consumo de Servicios OData. Entre el abanico de librerías cliente podemos encontrar:

  • OData Javascript Library

  • OData SDK for PHP

  • Restlet extension for OData (Java)

  • ruby_odata: OData client library for ruby

  • OData Client Library for Windows Phone 7 series

  • OData client for Objective-C

  • Silverlight 4

  • OData Extension for Joomla

  • OData Drupal


En cuanto a librerias de servidor, es decir API’s para la generación de datos, se encuentran:

  • odata4j (Java)

  • OData on Rails (prerelease for ruby)

  • MySQL OData

  • .NET Framework


Productos como Excel 2010, a través de PowerPivot, LINQPad, la mayoria de exploradores Web así como controles Telerik o Tableau ya dan soporte como consumidores compatibles con OData.

Por otro lado, entre las empresas que empiezan a exponer sus propios datos por OData se encuentran destacadas a eBay, Facebook Insight, IBM WebSpehere, Netflix, twitpic, GeoREST, Nuget, Windows Live o Dbpedia entre otras en el sector privado y Open Government Data Initiative (OGDI), The City of Edmonton Open Data Catalogue o Public Transit Data Community, por destacar algunas.

Más información | OData.org

Portada de Genbeta