Unas de las novedades que se han presentaron esta semana en el MIX10 celebrado en la Vegas, ha sido el nuevo protocolo abierto de datos (OData) que Microsoft esta preparando para facilitar la creación servicios de datos.
El protocolo abierto permite la creación de servicios de datos basado en HTTP, lo que permiten recursos identificados mediante identificadores de recursos uniformes (URI) y definido en un modelo de datos abstractos, a ser publicado y editado por los clientes de la Web mediante simples mensajes HTTP.
OData pretende ser utilizado para exponer y acceder a la información de una variedad de fuentes como “bases de datos relacionales, ficheros , sistemas de administración de contenido y sitios de Web tradicionales”, pero no limitadas a estas.
Este protocolo se basa en las convenciones establecidas en el Protocolo de publicación Atom (AtomPub) y aplica tecnologías de Web adicionales tales como HTTP y JavaScript Object Notation (JSON) para crear un protocolo que permite el acceso a la información desde una variedad de aplicaciones, servicios y que almacena.
OData admite dos formatos para representar los recursos que expone: el formato de AtomPub basado en XML y el formato JSON.
[sourcecode language=»javascript»]
OData V2 Response Payload:
{
"d" : {
"Address": {
"__metadata": {
"type": "DataServiceProviderDemo.Address"
},
"Street": "NE 228th",
"City": "Sammamish",
"State": "WA",
"ZipCode": "98074",
"Country": "USA"
}
}
}
[/sourcecode]
Este protocolo tiene muy buena pinta y os puedo asegurar que últimamente me he tenido que pelear con integraciones de protocolos XML, de diversas aplicaciones y al hacer cada uno la guerra por su cuenta se complica muchísimo estas integraciones.
Además al ser un protocolo abierto la especificación está actualmente disponible en Microsoft Open Specification Promise (OSP), permitiendo a terceros, incluyendo proyectos de código abierto construir servicios de datos para cualquier tiempo de ejecución, así como los clientes a consumir este tipo de servicios.
Habrá que probar más profundamente oData y ver si realmente soluciona esa falta de cohesión en la representación de los datos.
Recursos:
http://live.visitmix.com/MIX10/Sessions/FT13
http://live.visitmix.com/MIX10/Sessions/FT12
Seguiremos investigando el tema 😉