Académique Documents
Professionnel Documents
Culture Documents
Resddt
Resddt
Licence
Creative Commons
Contrat Paternit Partage des Conditions Initiales l'Identique
2.0 France
keulkeul.blogspot.com
http://creativecommons.org/licenses/by-sa/2.0/fr
REST - M. Baron - Page 2
Plan du cours
Lutilisation du Web aujourdhui ... Cest quoi REST ? Ressources Verbes Reprsentations
keulkeul.blogspot.com
Logiciels utiliss
Navigateur Web, CURL, Poster
Pr-requis
keulkeul.blogspot.com
Remerciements
Djug
Articles
www.ibm.com/developerworks/webservices/library/ws-restvsoap fr.wikipedia.org/wiki/Representational_State_Transfer
Cours
Prsentations
keulkeul.blogspot.com
www.slideshare.net/gouthamrv/restful-services-2477903 www.parleys.com/#id=306&st=5&sl=14
RESTful .NET
Auteur : Jon Flanders diteur : Oreilly Edition : Nov. 2008 - 320 pages - ISBN : 0596519206
REST - M. Baron - Page 6
1 2 2 1 2
Serveur WEB
1 1
keulkeul.blogspot.com
2 2
Serveur WEB
Lutilisation du Web aujourdhui Les ressources sont rcupres au travers les URLs
keulkeul.blogspot.com
Cest quoi REST ? REST est lacronyme de REpresentational State Transfert Principes dfinis dans la thse de Roy FIELDING en 2000
Principaux auteurs de la spcification HTTP Membre fondateur de la fondation Apache Dveloppeur du serveur Web Apache
Cest quoi REST ? Les Services Web REST sont utiliss pour dvelopper des architectures orientes ressources Diffrentes nominations disponibles dans la littrature
Architectures Orientes Donnes (DOA) Architectures Orientes Ressources (ROA)
ressources sont respectivement nommes RESTful Dans la suite du cours nous utiliserons indiffremment la nomination REST et RESTful
REST - M. Baron - Page 10
Cest quoi REST ? Les fournisseurs Certains acteurs qui fournissent des Services Web REST
keulkeul.blogspot.com
Cest quoi REST ? Les fournisseurs Statistiques de lutilisation de Services Web REST et SOAP chez AMAZON
www.oreillynet.com/pub/wlg/3005
SOAP : 15%
keulkeul.blogspot.com
REST : 85%
Cest quoi REST ? : caractristiques Les services Web REST sont sans tats (Stateless)
Chaque requte envoye vers le serveur doit contenir toutes les informations leur traitement Minimisation des ressources systmes, pas de session ni dtat
Les services Web REST fournissent une interface uniforme base sur les mthodes HTTP
keulkeul.blogspot.com
Les architectures orientes REST sont construites partir de ressources qui sont uniquement identifies par des URIs
REST - M. Baron - Page 13
Cest quoi REST ? : caractristiques Dans une architecture oriente REST, les ressources sont manipules travers des formats de reprsentations
Une ressource lie un Bon de Commande est reprsente par un document XML La cration dun Bon de Commande est ralise par la combinaison dune mthode HTTP Post et dun document XML
obtenue par le transfert de la reprsentation des ressources Ltat est maintenue par la reprsentation dune ressource Par consquent, le client est responsable de ltat de la ressource
REST - M. Baron - Page 14
Ressource et URI Une ressource est quelque chose qui est identifiable dans un systme
Personne, Agenda, Collection, Document, Image, Carte,
Une URI (Uniform Resource Identifier) identifie une ressource de manire unique sur le systme Une ressource peut avoir plusieurs URI et la reprsentation de la ressource peut voluer avec le temps
keulkeul.blogspot.com
Exemple
http://localhost:8080/books/aventure/harrypotter/2
Ressource de type collection
/books/aventure/harrypotter/2 /books/aventure/harrypotter/the_prisoner_of_azkaban
Ressource = The Prisoner of Azkaban
keulkeul.blogspot.com
/books/aventure/harrypotter
Ressource = tous les livres dHarry Potter
/books/aventure
Ressource = tous les livres daventure
REST - M. Baron - Page 17
Mthode Une ressource quelconque peut subir quatre oprations de base dsignes par CRUD
Create (Crer) Retrieve (Lire) Update (mettre jour) Delete (Supprimer)
REST sappuie sur le protocole HTTP pour exprimer les oprations via les mthodes HTTP
Create par la mthode POST
keulkeul.blogspot.com
Retrieve par la mthode GET Update par la mthode PUT Delete par la mthode DELETE
Possibilit dexprimer des oprations supplmentaires via dautres mthodes HTTP (HEAD, OPTIONS) REST - M. Baron - Page 18
GET /books/aventure/harrypotter/2
keulkeul.blogspot.com
keulkeul.blogspot.com
DELETE /books/aventure/harrypotter/2
keulkeul.blogspot.com
keulkeul.blogspot.com
Le format dentre (POST) et le format de sortie (GET) dun service Web dune ressource peuvent tre diffrents
REST - M. Baron - Page 23
<?xml version="1.0"?> <details> Ce livre est une introduction sur la vie </details>
Exemple : Google URL Shortener Google URL Shortener est un service de rduction dURL
code.google.com/apis/urlshortener/
Pour utiliser lAPI, ncessite lutilisation dune cl pour certaines actions lors de lenvoi dune requte Utilisation du plugin Poster disponible sous Firefox pour lmission de requte HTTP REST - M. Baron - Page
25
code.google.com/apis/urlshortener/v1/reference.html
Prsenter le site APIConsole : https//code.google.com/apis/console Activation du service URLShortener Prsenter le plugin Firefox Poster
keulkeul.blogspot.com
Cration dune URL rduite Reconstruire une URL rduite Information sur les URLs rduites
REST - M. Baron - Page 26
keulkeul.blogspot.com
keulkeul.blogspot.com
Exemple : Google URL Shortener (Dmonstration) Reconstruire une URL rduite (requte)
GET https://www.googleapis.com/urlshortener/v1/url?shortUrl=http://goo.gl/fbsS
keulkeul.blogspot.com
Exemple : Google URL Shortener (Dmonstration) Reconstruire une URL rduite (rponse)
Contenu du corps de la rponse qui correspond la ressource nouvellement cre au format JSON
keulkeul.blogspot.com
Client SOAP
Serveur REST
keulkeul.blogspot.com
GET http://localhost:8080/order?ordernum=14546-xx-45
Client
Serveur
REST - M. Baron - Page 31
Service Web Etendus VERSUS REST Les Services Web tendus (SOAP) et les Services Web REST diffrent par le fait que
Services Web tendus reposent sur des standards REST est un style darchitecture
Outill Inconvnients Performances (enveloppe SOAP supplmentaire) Complexit, lourdeur Cible lappel de service
REST - M. Baron - Page 32
Reprsentations multiples Inconvnients Scurit restreinte par lemploi des mthodes HTTP Cible uniquement lappel de ressource
REST - M. Baron - Page 33
WADL WADL (Web Application Description Language) est un langage de description XML de services de type REST WADL est une spcification W3C initie par SUN
www.w3.org/Submission/wadl/
keulkeul.blogspot.com
http://localhost:8088/librarycontentrestwebservice/application.wadl
Des plateformes pour dvelopper (serveur) et appeler (client) des services REST
keulkeul.blogspot.com