Vous êtes sur la page 1sur 23

RestFul Web Service et JAX_RS

Réalisé par :

•BOUCHNINE Ahlem
•BOUCHAIR Maria
Plan
 Introduction
 Web service SOAP
 Web Service RESTFUL
 JAX_RS
 conclusion
Introduction
Un service web est un programme informatique permettant la communication et
l’échange de données entre applications et systèmes hétérogènes dans des
environnements distribués .

Plusieurs technologies permettent d’implementer les Web Services :


•„„SOAP services „
• Representational State Transfer (REST)
2 Web Service SOAP
Web Service SOAP

Simple Object Access Protocol ¨ Protocole d’échanges d’informations dans un environnement distribué basé
sur XML .

• Interopérabilité entre applications d’une même entreprise (Intranet) .

• Interopérabilité inter entreprises entre applications et services web ¨ Similaire au protocole RCP,

Avantages
•Standardisé
•Interopérabilité
•Sécurité (WS-Security) .
Inconvénients
•Performances (enveloppe SOAP supplémentaire)
•Complexité,
• lourdeur
•Cible l’appel de service
3 Services Web RESTFul
Representational State Transfert

Ce qu’il est :

• Un système d’architecture .
•„Bonne pratique
•„Pas de spécifications de la W3C
•Une approche pour construire une application .
•„Bonne pratique „.
•„Un type d’architecture pour les systèmes distribués .

Ce qu’il n’est pas :

• Un protocole .
• Un format .
• Un standard .
AVANTAGES DE REST :

• „Facile à comprendre et à implémenter ( Framework dans plusieurs langages : Java – Python -


Php ) „.
•Un client HTTP suffit pour accéder à un service RESTful. „
• Interopérabilité des systèmes „
• Interopérabilité des langages „
• Architecture scalable : Possibilité de répartir les requêtes sur plusieurs serveurs – stateless. „
•L'utilisation de formats standards comme JSON ou XML assure la compatibilité dans le temps.
•Les architectures RESTful sont construites à partir de ressources uniquement identifiées par des
URI(s) .
Une ressource est un objet identifiable sur le système
INCONVÉNIENTS/LIMITATIONS DE REST „

•La sécurité est inexistante


• Utilisation d’HTTPS + Authentification „
•Le client doit conserver des données localement (stateless) „.
• Consommation en bande passante .
•Données de session „Peut être problématique pour les Smartphones .
Méthodes (Verbes)

Une ressource peut subir quatre opérations de bases correspondant aux quatre principaux types de
requêtes HTTP (GET, PUT, POST, DELETE) .

REST s’appuie sur le protocole HTTP pour effectuer ces opérations sur les objets :

•CREATE = =POST
•RETRIEVE == GET
•UPDATE ==PUT
• DELETE ==DELETE
GET : Utiliser pour la récupération d’une ressource

•La méthode GET renvoie une représentation de la ressource tel qu’elle est sur le système.
POST :La méthode POST crée une nouvelle ressource sur le système

Utiliser pour la création d’une nouvelle ressource


Peut être utilisé à la place d’un GET si la requête est trop grande (paramètres)
DELETE : Supprime la ressource identifiée par l’URI sur le serveur

• Utiliser pour supprimer une ressource existante


• Ne jamais utiliser pour autre chose qu’une suppression de ressource
PUT : Mise à jour de la ressource sur le système

• Utiliser pour la modification d’une ressource existante .


QUI L’UTILISE ?
JAX-RS

•Le développement des services Web repose sur l’utilisation de classes Java et d’annotations.

JAX-RS : ARCHITECTURE
SPÉCIFICATION JAS-RX „

Plusieurs implémentations possibles de la spécification JAX-RS

•JERSEY : implémentation de référence fournie par Oracle ( http://jersey.java.net )


• CXF : Fournie par Apache ( http://cfx.apache.org )
• „RESTEasy : fournie par JBOSS .
•„RESTlet :„L’un des premiers framework implémentant REST pour Java
Annotation JAX-RS

La spécification JAX-RS dispose d’un ensemble d’annotation permettant d’exposer une classe
java dans un services web :
• @Path
• @GET
• @POST
• @PUT
•, @DELETE
• @Produces,
•@Consumes
• @PathParam
@PATH „

Une classe java doit être annotée par @Path pour qu’elle soit traitée par des requêtes HTTP .
„L’annotation @Path sur une classe définit des ressources racines (Root Resources Class).
„La valeur donnée à @Path correspond à une expression URL relative au contexte de
l’application Web „.
http://localhost:8080/MyRestService/Libraryrestservice/books „ Permet d’accéder à la
bibliothèque „.
MÉTHODES HTTP :

•L’annotation des méthodes Java permet de traiter des requêtes HTTP suivant le type de méthode
(GET,POST..)
•„Annotation disponibles : „@GET, @POST, @PUT, @DELETE et @HEAD „Uniquement
utilisable sur des méthodes Java et non sur des classes „
•Le nom de la méthode importe peu.
• C’est l’annotation qui importe et qui permet d’aiguiller la requête.
merci pour votre attention
merci pour votre attention

Vous aimerez peut-être aussi