Pregunta

Al observar en algunos servicios de la web, me encontré con esta "nueva" tecnología que Microsoft está llamando OData.La lectura a través de su descripción en el FAQ sobre lo que OData es, estoy teniendo un tiempo difícil distinguir OData de DESCANSO-ful servicios web.Podría por favor alguien que me ayude a entender las diferencias?

¿Fue útil?

Solución

Actualizar Advertencia, esta respuesta es extremadamente fuera de fecha ahora que OData V4 está disponible.


escribí un post sobre el tema hace un tiempo aquí .

Como dijo Franci, OData está basado en Atom bar. Sin embargo, han capas algunas funciones en la parte superior y por desgracia han pasado por alto algunas de las limitaciones de descanso en el proceso.

La capacidad de consulta de un servicio de OData requiere para construir URI base a la información que no está disponible, o vinculados al mismo en la respuesta. Es lo que la gente REST información de la llamada fuera de banda e introduce acoplamiento oculto entre el cliente y el servidor.

El otro acoplamiento que se introduce es a través del uso de EDMX metadatos para definir las propiedades contenidas en el contenido de entrada. Estos metadatos pueden ser descubiertos en un punto final fijo llamado $ metadatos. Una vez más, el cliente tiene que saber esto de antemano, no puede ser descubierto.

Desafortunadamente, Microsoft no consideró oportuno para crear tipos de medios para describir estas piezas clave de los datos, por lo que cualquier cliente OData tiene que hacer un montón de suposiciones sobre el servicio que se está hablando y los datos que está recibiendo.

Otros consejos

El protocolo OData se construye en la parte superior del protocolo AtomPub. El protocolo AtomPub es uno de los mejores ejemplos de diseño API REST. Por lo tanto, en cierto sentido tiene razón - la OData es sólo otra API REST y OData cada aplicación es un servicio web REST-ful

.

La diferencia es que OData es un protocolo específico; REST es el estilo de la arquitectura y el patrón de diseño.

REST es una técnica de diseño genérico utilizado para describir cómo se puede acceder a un servicio web. El uso de descanso que puede hacer peticiones HTTP para obtener los datos. Si lo intenta en su navegador sería como ir a un sitio web, excepto en lugar de devolver una página Web en el que volver XML. Algunos servicios también regresarán los datos en formato JSON, que es más fácil de usar con Javascript.

OData es una tecnología específica que expone los datos a través de REST.

Si desea resumir muy rápido, pensar en ella como:

  • REST - patrón de diseño
  • OData - tecnología que permite

En 2012 se sometió a OData estandarización, así que voy a añadir una actualización aquí ..

Primero las definiciones:

RESTO - Es una arquitectura de cómo enviar mensajes a través de HTTP.

OData V4 - es una implementación específica de descanso, realmente define el contenido de los mensajes en diferentes formatos (actualmente creo que es AtomPub y JSON). ODataV4 sigue los principios de descanso.

Por ejemplo, la gente de ASP.NET sobre todo utilizar el mando a WebAPI para serializar / deserializar objetos en JSON y tener Javascript a hacer algo con él. El punto de Odata es ser capaz de consultar directamente desde la dirección URL con fuera-de-la-caja de opciones.

Desde el OData documentación :

  

El protocolo OData es un protocolo de nivel de aplicación para interactuar con los datos a través de servicios web RESTful.

     

...

     

El protocolo OData es diferente de otro servicio web basado en REST se acerca, ya que proporciona una manera uniforme para describir los datos y el modelo de datos.

ODATA es un tipo especial de RESTO donde podemos consulta los datos de manera uniforme desde la URL.

  

OData (Open Data Protocol) es un estándar OASIS que define la mejor   la práctica de la construcción y el consumo de las API REST. OData le ayuda   centrarse en la lógica de negocio, mientras que la construcción de las API REST sin   tener que preocuparse acerca de los enfoques para definir solicitud y respuesta   encabezados, los códigos de estado HTTP, métodos, convenciones URL, tipos de medios,   formatos de carga útil y opciones de consulta, etc. OData también una guía sobre las   seguimiento de los cambios, de las funciones Definir / Recurso de procedimientos reutilizables   y el envío de solicitudes asíncrono / lote, etc. Además, OData   proporciona la facilidad para la extensión para cumplir con las necesidades de encargo de su   API REST.

     API REST

OData son fáciles de consumir. Los metadatos OData, una   Descripción legible por la máquina del modelo de datos de las API, permite   la creación de potentes servidores proxy cliente genéricos y herramientas. Algunos de   ellos pueden ayudarle a interactuar con OData incluso sin saber nada   sobre el protocolo. Los siguientes 6 pasos demuestran 6 interesante   escenarios de consumo de OData a través de diferentes plataformas de programación.   Pero si usted es un no-desarrollador y quieres simplemente jugar con   OData, XOData es el mejor comienzo para usted.

para más detalles en http://www.odata.org/

RESTO representa REpresentación State Transfer que es un recurso basado en el estilo arquitectónico.Basada en los recursos significa que los datos y las funcionalidades son considerados como recursos.

OData es una web basada en el protocolo que define un conjunto de mejores prácticas para la creación y consumo de servicios web RESTful.OData es un camino a la creación de servicios web RESTful así una implementación de DESCANSO.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top