Académique Documents
Professionnel Documents
Culture Documents
REST
Representational State Transfer
Module SOA
Objectifs
Comprendre les différences entre les services web étendus (SOAP) et les
services web REST.
Rest 2
1
18/10/2020
Plan
• Présentation de REST
• Principes de REST
Rest 3
Rest 4
2
18/10/2020
Rest 5
En 2006, Google a abandonné son API SOAP au profit d'une API simplifiée
REST
Source: http://www.google.com/trends/explore?hl=fr#q=rest%20api%2Csoap%20api&cmpt=q
Rest 6
3
18/10/2020
Rest 7
http://weather.com/tunis
Ressource
La météo de Tunis
Représentation
Rest 8
4
18/10/2020
Une ressource
Un identifiant de ressource
Rest 9
Méthodes (Verbes)
• pour manipuler la ressource
• Méthodes HTTP : GET, POST, PUT and DELETE
Représentation
• donne une vue sur l’état de la ressource
• informations transférées entre le client et le serveur
Exemples : XML, Text, JSON, …
Rest 10
5
18/10/2020
•Une ressource quelconque peut subir quatre opérations de base désignées par
CRUD
Create (Créer)
Retrieve (Lire)
Update (mettre à jour)
Delete (Supprimer)
•REST s’appuie sur le protocole HTTP pour exprimer les opérations via les méthodes
HTTP
Create POST
Retrieve GET
Update PUT
Delete DELETE
Rest 11
GET: /produits/tv
Rest 12
6
18/10/2020
DELETE: /produits/tv/2
Le format d’entrée (PUT et POST) et le format de sortie (GET) d’un service Web d’une
ressource peuvent être différents
Rest 14
7
18/10/2020
WADL 1/2
l’objectif est de pouvoir générer automatiquement les APIs clientes d’accès aux
services REST
Remarques
-Peu d’outils exploite la description WADL
-Apparu bien plus tard
Rest 15
WADL 2/2
Exemple
Rest 16
8
18/10/2020
Rest 17
Message SOAP
Client Serveur
REST
Requête/Réponse HTTP
Client Serveur
Rest 18
9
18/10/2020
Rest 19
Rest 20
10
18/10/2020
Avantages Avantages
-Standardisé -Simplicité
-Sécurité (WS-Security) -Lisibilité par l’humain
-Outillé -Représentations
multiples
Inconvénients Inconvénients
-Complexité, lourdeur -Sécurité restreinte
Rest 21
22
11
18/10/2020
23
Rest 24
12
18/10/2020
Rest 25
En résumé
• JAX-RS est l’API java permettant de développer des services web REST
Rest 26
13