Pergunta

Ao examinar alguns serviços da web, me deparei com essa “nova” tecnologia que a Microsoft está chamando ODados.Lendo a descrição no FAQ sobre o que é OData, estou tendo dificuldade em distinguir o OData dos serviços da web REST.Alguém poderia me ajudar a entender as diferenças?

Foi útil?

Solução

ATUALIZAR Aviso, esta resposta está extremamente desatualizada agora que o Odata V4 está disponível.


Eu escrevi um post sobre o assunto há um tempo aqui.

Como Franci disse, Odata é baseado no pub Atom. No entanto, eles colocaram algumas funcionalidades no topo e, infelizmente, ignoraram algumas das restrições restrições no processo.

A capacidade de consulta de um serviço ODATA exige que você construa URIs com base em informações que não estão disponíveis ou vinculadas na resposta. É o que as pessoas de descanso chamam de informações fora da banda e introduz o acoplamento oculto entre o cliente e o servidor.

O outro acoplamento introduzido é através do uso de metadados EDMX para definir as propriedades contidas no conteúdo de entrada. Este metadado pode ser descoberto em um ponto de extremidade fixo chamado $ metadados. Novamente, o cliente precisa saber disso com antecedência, não pode ser descoberto.

Infelizmente, a Microsoft não considerou a forma para criar tipos de mídia para descrever essas principais partes de dados; portanto, qualquer cliente da OData precisa fazer várias suposições sobre o serviço com o qual está conversando e os dados que está recebendo.

Outras dicas

O protocolo ODATA é construído sobre o protocolo ATOMPUB. O protocolo Atompub é um dos melhores exemplos de design da API REST. Então, em certo sentido, você está certo - o Odata é apenas mais uma API REST e cada implementação do OData é um serviço de descanso na Web.

A diferença é que o Odata é um protocolo específico; REST é estilo de arquitetura e padrão de design.

O REST é uma técnica de design genérico usada para descrever como um serviço da Web pode ser acessado. Usando REST, você pode fazer solicitações HTTP para obter dados. Se você tentar no seu navegador, seria como ir a um site, exceto, em vez de devolver uma página da web, você receberia o XML de volta. Alguns serviços também retornarão dados no formato JSON, mais fáceis de usar com o JavaScript.

O Odata é uma tecnologia específica que expõe dados através do REST.

Se você quiser resumir bem rápido, pense nisso como:

  • REST - Padrão de design
  • Odata - Habilitando a tecnologia

Em 2012, o Odata foi submetido a padronização, então vou adicionar uma atualização aqui ..

Primeiro as definições:

DESCANSO - é uma arquitetura de como enviar mensagens sobre HTTP.

Odata v4- é uma implementação específica do REST, realmente define o conteúdo das mensagens em diferentes formatos (atualmente acho que é Atompub e JSON). Odatav4 segue os princípios de repouso.

Por exemplo, as pessoas do ASP.NET usarão principalmente o controlador webapi para serializar/desserializar objetos no JSON e pedir a JavaScript algo com ele. O ponto do OData é poder consultar diretamente a partir do URL com opções prontas para uso.

Do Odata documentação:

O protocolo ODATA é um protocolo no nível do aplicativo para interagir com dados por meio de serviços da Web RESTful.

...

O protocolo ODATA é diferente de outras abordagens de serviço da Web baseadas em REST, pois fornece uma maneira uniforme de descrever os dados e o modelo de dados.

Odata é um tipo especial de DESCANSO onde podemos Dados de consulta uniformemente de url.

OData (Open Data Protocol) é um padrão OASIS que define o melhor prática para criar e consumir APIs RESTful.OData ajuda você concentre-se em sua lógica de negócios ao criar APIs RESTful sem ter que se preocupar com as abordagens para definir solicitação e resposta cabeçalhos, códigos de status, métodos HTTP, convenções de URL, tipos de mídia, formatos de carga útil e opções de consulta, etc.OData também orienta sobre Acompanhamento de alterações, definição de funções/ações para procedimentos reutilizáveis e envio de solicitações assíncronas/em lote, etc.Além disso, OData fornece facilidade para extensão para atender a quaisquer necessidades personalizadas de seu APIs RESTful.

APIs RESTful OData são fáceis de consumir.Os metadados OData, um descrição legível por máquina do modelo de dados das APIs, habilita a criação de poderosos proxies e ferramentas genéricas de clientes.Alguns dos eles podem ajudá-lo a interagir com OData mesmo sem saber nada sobre o protocolo.Os 6 passos a seguir demonstram 6 interessantes cenários de consumo de OData em diferentes plataformas de programação.Mas se você não é um desenvolvedor e gostaria de simplesmente jogar com OData, XOData é o melhor começo para você.

para mais detalhes em http://www.odata.org/

DESCANSO apoia apresentação STate TRansfer, que é um estilo arquitetônico baseado em recursos. Baseado em recursos significa que dados e funcionalidades são considerados como recursos.

Odata é um protocolo baseado na Web que define um conjunto de melhores práticas para construir e consumir serviços da Web RESTful. O Odata é uma maneira de criar serviços da Web RESTful, portanto, uma implementação do REST.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top