1 / 18

Representational State Transfer - REST

Representational State Transfer - REST. Aurélia BRUNEAU mars 2008. Ingénieurs2000 – Informatique et Réseaux. PLAN. Introduction à REST Les principes clefs Développer un service web RESTful REST et les Web Services WS-* Cas d’utilisations Conclusion. REST c’est quoi ?.

joanna
Télécharger la présentation

Representational State Transfer - REST

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Representational State Transfer - REST Aurélia BRUNEAU mars 2008 Ingénieurs2000 – Informatique et Réseaux

  2. PLAN • Introduction à REST • Les principes clefs • Développer un service web RESTful • REST et les Web Services WS-* • Cas d’utilisations • Conclusion

  3. REST c’est quoi ? • Thèse de Roy Fielding en 2000 • Un style d’architecture • Un ensemble de contraintes • Client /serveur • Sans états (Stateless) • Cache • Interface uniforme • La plus connue des implémentations de REST est HTTP

  4. Les principes clefs • Une ressource • Un identifiant de ressource • Une représentation • Interagir avec les ressources • Exemple avec HTTP : GET, POST, PUT et DELETE

  5. Resource Client http://www.meteo.com/villes/Paris Jours Temperatures ... Paris.html Pour résumer

  6. Un service RESTful • Identifier les ressources • Définir les URIs • Spécifier les méthodes des interfaces • Lier les ressources

  7. Exemple (1/6) • Un traiteur propose sur son site plusieurs services à ses clients : • Obtenir la liste des plats disponibles • Obtenir des informations sur un plat précis • Passer une commande

  8. Response (XML doc) Response (XML doc) Web Server Exemple (2/6) HTTP GET request URL 1 Liste plats HTTP response Plat HTTP GET request URL 2 HTTP response Commande HTTP POST URL 3 Commande (XML) URL pour soumettre la commande HTTP response

  9. Exemple (3/6) • La liste des plats est disponible à l’URL suivante : http://www.monresto.com/plats/ • Le client reçoit une réponse sous la forme suivante : • <?xml version="1.0"?> • <p:Plats xmlns:p="http://www.monresto.com/" xmlns:xlink="http://www.w3.org/1999/xlink"> • <Plat id="0001" xlink:href="http://www. monresto.com/Plats/0001"/> • <Plat id="0002" xlink:href="http://www. monresto.com/Plats/0002"/> • <Plat id="0003" xlink:href="http://www. monresto.com/Plats/0003"/> • [...] • </p:Plats>

  10. Exemple (4/6) • Les détails d'un plat se trouvent à l'URL : http://www.monresto.com/plats/0002 • D’où la réponse : <?xml version="1.0"?> <p:Plat xmlns:p="http://www.monresto.com" xmlns:xlink="http://www.w3.org/1999/xlink"> <Plat-ID>0002</Plat-ID> <Nom>Rouleaux de Printemps</Nom> <Description>Entrée</Description> <Details xlink:href="http://www.monresto.com/plats/00002/details"/> <CoutUnitaire monnaire="EUR">3</CoutUnitaire> </p:Plat>

  11. Web Server HTTP POST conforms to. CMD.xml CMD.xsd Exemple (5/6) • Le service « Passer commande » • Créer une instance de « commande » conforme à un schéma

  12. Web Server URL HTTP Response CMD.xml Exemple (6/6) • Le service « Passer une commande » répond par une URL vers la commande soumise.

  13. REST, Web Services WS-* • WS-* • RPC (Remote Procedure Call) • SOA (Service Oriented Architecture) • WSDL (Web Service Description Language) • SOAP ( Simple Object Access Protocol) • XML-RPC • Getter et setter

  14. Cas d’utilisation • La blogosphere • Atom Publishing Protocol (RFC 5023) • Amazon S3 (Simple Storage Service) • Google Data API

  15. Les avantages • Simplicité • Liens structurés et de façon universelle • Stateless • consommation de mémoire inférieure • mise au point plus simple, moins de cas à traiter • URI uniques • mise en cache possible donc meilleure montée en charge • Proche de la philosophie d'HTTP • moins de dépendances à une implémentation particulière

  16. Les inconvénients • Stateless • Les données de session chez le client • Un nombre important de ressources • La gestion de l'espace de nom des URI peut devenir encombrante

  17. Conclusion • Une architecture orientée ressources • Du vieux pour faire du neuf • Simplicité et interopérabilité

  18. Sources • La thèse de de Roy T. Fielding • http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm • http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm • http://fr.wikipedia.org/wiki/ • Representational_state_transfer • Simple_Object_Access_Protocol • Liste_des_specifications_des_Services_Web_WS-*

More Related