Différence entre OData et les services web REST
Tout en regardant vers certains services web, j'ai couru à travers cette "nouvelle" technologie que Microsoft appelle OData. La lecture par le biais de leur description dans la FAQ sur ce OData est, je vais avoir du mal à distinguer les OData de REST-ful services web.
Quelqu'un pourrait-il svp m'aider à comprendre les différences?
- L'un est un producteur, l'autre est enabler pour les consommateurs.
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR attention, cette réponse est très obsolète maintenant que OData V4 est disponible.
J'ai écrit un post sur le sujet il y a un moment ici.
Comme Franci dit, OData est basée sur l'Atome Pub. Cependant, ils ont des couches de certaines fonctionnalités sur le dessus et, malheureusement, ont ignoré une partie du RESTE de contraintes dans le processus.
Les interroger la capacité d'un service OData vous oblige à construire des URIs fondés sur de l'information n'est pas disponible, ou lié dans la réponse. C'est ce qui RESTE des gens appellent out-of-band de l'information et introduit caché couplage entre le client et le serveur.
L'autre de couplage qui est introduit à travers l'utilisation de EDMX métadonnées pour définir les propriétés contenues dans l'entrée de contenu. Ces métadonnées peuvent être découverts à un ordinateur d'extrémité fixe appelé $métadonnées. Encore une fois, le client a besoin de savoir à l'avance, il ne peut pas être découvert.
Malheureusement, Microsoft n'a pas jugé bon de créer des types de médias pour décrire ces données, de sorte que toute OData client a à faire un tas d'hypothèses sur les services qu'il est en train de parler et les données qu'il reçoit.
Le protocole OData est construit sur le haut de la AtomPub protocole. Le AtomPub protocole est l'un des meilleurs exemples de l'API REST de conception. Donc, dans un sens vous avez raison - le OData est juste une autre API REST et chaque OData mise en œuvre est REST-ful service web.
La différence est que OData est un protocole spécifique; le REPOS est de style d'architecture et de design pattern.
RESTE est un générique de conception technique utilisé pour décrire la façon dont un service web peut être consulté. À l'aide de REPOS, vous pouvez effectuer des requêtes http pour obtenir des données. Si vous l'essayez, dans votre navigateur, il serait un peu comme aller à un site web, sauf qu'au lieu de retourner une page web, vous obtenez de retour XML. Certains services seront également renvoyer des données au format JSON, qui est plus facile à utiliser avec Javascript.
OData est une technologie spécifique qui expose les données par le REPOS.
Si vous voulez résumer vite fait, pensez-y comme:
En 2012 OData a subi de normalisation, donc je vais juste ajouter une mise à jour ici..
D'abord les définitions:
RESTE - est une architecture de comment envoyer des messages sur HTTP.
OData V4- est une mise en œuvre spécifique de REPOS, qui définit vraiment le contenu des messages dans différents formats (actuellement, je pense, est AtomPub et JSON). ODataV4 suit reste principes.
Par exemple, asp.net les gens vont surtout utiliser WebApi contrôleur de sérialiser/désérialiser des objets en JSON et javascript faire quelque chose avec elle. Le point de Odata est capable de faire une requête directement à partir de l'URL avec
out-of-the-box options.
De la OData la documentation:
ODATA est un type spécial de RESTE où l'on peut de requête de données de manière uniforme à partir de l'URL.
pour plus de détails au http://www.odata.org/
RESTE signifie REde présentation State Transfert qui est une ressource en fonction du style architectural. Basée sur les ressources, les données et les fonctionnalités sont considérées comme des ressources.
OData est un basé sur le web protocole qui définit un ensemble de bonnes pratiques pour construire et utiliser des services web RESTful. OData est un moyen de créer des services web RESTful ainsi une mise en œuvre de REPOS.