Representational State Transfer - REST

Slides:



Advertisements
Présentations similaires
SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
Advertisements

Xavier Blanc Web Services Xavier Blanc
Implémentation de la gestion de réseau dans Windows 2000 et plus
Internet.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
Architectures Orientées Services
Julien HERON.
Principe d identification des internautes Au service du dataWebhouse Philippe Holland :
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
Cours 6 : Les Web Services et UDDI Mars Version 1.0 -
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
1 Les technologies XML Cours 4 : Les Web Services et XML- RPC Février Version 1.0 -
Les Web Services.
Le File Transfer Protocol
11:16:331 Programmation Web Programmation Web : Formulaires HTML Jérôme CUTRONA
Génie Documentiel Delacrétaz Jean-Marc
Comprendre l’architecture des Web services REST
Introduction aux services WEB
Ametsa : un système de contrôle de l’environnement domestique générique fondé sur UPnP ENST-Bretagne.
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
SERVLETS PRESENTATION
ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le protocole FTP.
.Net Remoting.
Les relations clients - serveurs
Protocole 802.1x serveur radius
Développement d’application web
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
RPC / MOM : Comparaison.
Enseignant de cours : M. Bouzguenda Lotfi
Initiation au web dynamique
CENTRALISATION DES CANDIDATS LOCATAIRES
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Architecture REST & Web Services
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Les réseaux - Internet Historique Réseau local Internet Les protocoles
Cours de programmation web
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
Universal Plug and Play. Idée Connecter tout: PCs, appareils intelligents, et appareils domestiques Computer partout: Universal Plug and Play connectivité.
Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Le développement Web.
Cours Web Services ISIMA 3F3
Agrégation de flux RSS Études d’Approfondissement Réseaux LAPAUZE Johann NIVEAU Soline 1 RICM5.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
3.3 Communication et réseaux informatiques
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Web Services 17/01/2009.
Fonctionnalité et protocole des couches applicatives
Comprendre l’architecture des Web services REST
Introduction aux technologies des web services en Java EE
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Remote Method Invocation
Introduction au HTML Qu’est ce que le HTML ?
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
A. DAAIF ENSET Mohammedia Université Hassan II Casablanca.
Service web Réalise par: Latifa Gamoun Mariem jridi Majdouline Hassni Service web Réalise par: Latifa Gamoun Mariem jridi Majdouline Hassni 1.
Applications Réparties : REST
Transcription de la présentation:

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 ? 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

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

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

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

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

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

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>

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>

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

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

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

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

Les avantages Simplicité Stateless URI uniques 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

Les inconvénients Stateless Un nombre important de ressources 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

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

Sources La thèse de de Roy T. Fielding http://fr.wikipedia.org/wiki/ 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-*