Estándar OData
Open Data Protocol, 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 Service. Desde su aparición son ya muchos los productos, Web Sites y tecnologías que exponen sus datos utilizando este protocolo. En el caso de Microsoft lo podemos encontrar ya en Sharepoint, Microsoft Dynamics, SQL Azure, Azure Storage y otros más.
Sobre la estandarización, OData está construido sobre AtomPub especificado en RFD 5023 quien a su vez está construido sobre Atom Syndication Format o Atom especificado en RFC4287.
OData trata 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” basándose 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
- OData Extension for Joomla
- OData Drupal
En cuanto a librerías 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, a través de PowerPivot, LINQPad, la mayoría 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.