REpresentational State Transfer
Généralités
Jax RS c'es quoi ?
JAX-RS est une spécification écrit en java qui permet de développer des service REST (JSR 311 et 339). Cette sépcifiction utilise les annotations du langage JAVA. Plusieurs implémentations sont possibles
- Jersey
- Rest Easy
Dans cette présentation, nous allons étudier l'implémentation la plus connue : Jersey. Jersey implémente la spécification JAX-RS et permet donc de développer des web service REST en java par l'intermédiaire d'un serveur d'application : Tomcat ou Glassfish
Architecture

Architeture applicative de Jersey
L'architecture applicative d'un web service REST est composées de plusieurs couches
- La partie cliente : elle sera chargée d'envoyer les requêtes HTTP à destination du serveur
- Le marshaller : qui est chargé de faire la sérialization et déserialization d'informations. En général il s'agit de transformer des informations XML ou JSON en objets Java
- La partie controller ( en orange ) ou le sevice REST : c'est le module qui sera chargé d'écouter les informations entrantes, et de rediriger vers une partie métier en fonction de l'URL et des informations passées dans la requete HTTP
- La partie persistance : via la spécification JPA et par l'intermédiaire d'un ORM ( par exempe Hibernate ), c'est le module qui sera chargé de communiquer avec la base de données afin d'effectuer les requetes SQL
- La base de données dont le role est de sauvegarder les informations de façon persistance