0% ont trouvé ce document utile (0 vote)
84 vues24 pages

Introduction aux services web REST

Transféré par

md
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
84 vues24 pages

Introduction aux services web REST

Transféré par

md
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

JAX RS

1 Cheyma Ben Njia


OBJECTIFS

 Comprendre le style d’architecture REST


 Comprendre les différences entre les services web
étendus(SOAP) et les services web REST

2
PLAN

 Présentation de REST
 Motivation pour REST

 Principes de REST

 Différences entre SOAP et REST

 Développement de services web REST java

3
PRÉSENTATION DE REST 1/2
 REST est l’acronyme de Representational State
Transfert
 Principe défini dans la thèse Roy FIELDING en 2000.
 I l est l’un des principaux auteurs de la spécification HTTP
 Il est le développeur du serveur web Apache

 REST est un style d’architecture inspiré de


l’architecture du web pour construire des services web
Un style d’architecture est un ensemble de contraintes
qui permettent, lorsqu’elles sont appliquées aux
composants d’une architecture, d’optimiser certains
critères propres au cahier des charges du système à
concevoir
4
PRÉSENTATION DE REST 2/2
 REST n’est pas:
 Un format
 Un protocole
 Un standard

 Bien que REST ne soit pas un standard, il utilise


des standards
 HTTP
 URL
 XML/HTML

5
MOTIVATION POUR REST 1/2
 REST est une alternative à SOAP
 En 2006, Google a abandonné son API SOAP au
profit d’une API simplifiée REST.

6
MOTIVATION POUR REST 2/2
 REST est léger et simple:
 Les messages sont courts, faciles à décoder par le
navigateur et par le serveur d’application.
 REST est auto-descriptif:
 Vous pouvez naviguer à travers ses ressources comme vous
le feriez avec une page web. Il y ’a une URL intuitive
unique pour chaque ressource . On peut facilement en
déduire la structure des ressources sans avoir besoin de
beaucoup de documentation.
 REST est stateless:
 Consommation de mémoire inférieure
 REST peut être géré en cache
 Mise en cache possible donc meilleure montée en charge. 7
PRINCIPES DE REST 1/7

8
PRINCIPES DE REST 2/7
 Une ressource
 Un identifiant de ressource

 Une représentation de la ressource

 Interagir avec les ressources

 Requêtes HTTP: GET, POST, PUT et DELETE

9
PRINCIPES DE REST 3/7
 Ressources(identifiant)
 Identifié par une URI
 Exemple http://localhost:8080/libraryrestwebservice/books
 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
 Exemple: XML, Text, JSON, ……

10
PRINCIPES DE REST 4/7

 Méthodes
 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
 Upadet PUT
11
 Delete DELETE
PRINCIPES DE REST 5/7
 Méthodes
 Méthode GET fournit la représentation de la
ressource

 Méthode POST crée une ressource

12
PRINCIPES DE REST 6/7
 Méthode DELETE supprime une ressource

 Méthode PUT

13
PRINCIPES DE REST 7/7
 Représentation
 Fournir les données selon une représentation pour:
 Le client( GET): format de sortie
 Le serveur(PUT et POST): format d’entrée

 La représentation d’une ressource peut prendre


différents formats:
 XML
 JSON

 Text

 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.
14
WADL 1/2
 Web Application Description Language
 Est un langage de description XML de services de
type REST
 Est une spécification W3C initiée par SUN

 L’objectif est de pouvoir générer


automatiquement les APIs clientes d’accès aux
services REST
 Remarques

 Peu d’outils exploitent la description WADL

 Apparu bien plus tard


15
WADL 2/2

16
SERVICE WEB ÉTENDUS VS REST 1/5
 Services web étendus sont orientés activité

Les opérations dépendent


des types des activités

 Services Web REST sont orientés ressource

Les mêmes opérations


quelque soit la ressource

17
SERVICE WEB ÉTENDUS VS REST2/5
 Protocole de communication
 Services web étendus

 REST

18
SERVICE WEB ÉTENDUS VS REST 3/5

19
SERVICE WEB ÉTENDUS VS REST 4/5

20
SERVICE WEB ÉTENDUS VS REST 5/5

21
SERVICES WEB REST AVEC JAVA
 JAX-RS: Java API for Restful Web Services
 Spécification décrivant la mise en œuvre et la
consommation des services web REST
 JAX-RS est basé sur les annotations

22
SERVICES WEB REST AVEC JAVA
 Différentes implémentations de JAX-RS sont
disponibles:
 JERSEY (Oracle)
 CXF (Apache)
 RESTEasy(Jboss)
 RESTlet

 Seule l’approche Bottom-up est possible


 Annoter une classe POJO

 Compiler et déployer

23
EN RÉSUMÉ

 Rest est un style d’architecture


 Rest est une alternative aux services web
étendus (SOAP)
 Rest se base sur le protocole HTTP

 JAX-RS est l’API java permettant de développer


et de consommer des services web REST

24

Vous aimerez peut-être aussi