devlopper

Pages: 23 (5675 mots) Publié le: 18 juin 2014
AX-RS est l’acronyme Java API for RESTful Web Services
 Décrite par la JSR 311 (jcp.org/en/jsr/summary?id=311)
 Version courante de la spécification est la 1.1
 Depuis la version 1.1, JAX-RS fait partie intégrante de la
spécification Java EE 6 au niveau de la pile Service Web
 Cette spécification décrit uniquement la mise en œuvre de
services Web REST côté serveur
 Le développementdes Services Web REST repose sur
l’utilisation de classes Java et d’annotations
JAX-RS - M. Baron - Page
keulkeul.blogspot.com
10
Généralités JAX-RS : les implémentations
 Différentes implémentations de la spécification JAX-RS sont
disponibles
 JERSEY : implémentation de référence fournie par Oracle
Site projet : jersey.java.net
 CXF : fournie par Apache, la fusion entre XFire etCeltix
Site projet : cxf.apache.org
RESTEasy : fournie par JBoss
Site projet : www.jboss.org/resteasy
 RESTlet : un des premiers framework implémentant REST
pour Java
Site projet : www.restlet.org
JAX-RS - M. Baron - Page
keulkeul.blogspot.com
11
Généralités JAX-RS : les implémentations
 Comparaisons sur les performances des implémentationsjava.dzone.com/articles/jax-rs-vendor-comparisons-part
www.infoq.com/news/2008/10/jaxrs-comparison
 Comme la spécification JAX-RS ne décrit pas la couche
cliente, chaque implémentation fournit une API spécifique
 Dans la suite du support de cours nous utiliserons l’implé-mentation de référence JERSEY
Version actuelle 1.4 respectant la spécification JAX-RS 1.1
 Intégrée dans Glassfish et l’implémentation Java EE6
 Outilssupportés dans Netbeans
Description Maven (partie serveur)
groupId : com.sun.jersey
artifactId : jersey-server
version : 1.4
JAX-RS - M. Baron - Page
keulkeul.blogspot.com
12
Généralités JAX-RS : fonctionnement
Couche Cliente
Développement de
clients dans des
langages différents
JAVA
PHP
.NET
Différentes APIs
possibles pour la gestion
du client en Java
Servlet
ServeurWeb
Couche Serveur
Conteneur Java
JAX-RS
WADL
HTTP
Approche Bottom / Up
Description du Service Web permettant
de générer la partie cliente
Utilisation du Service
Web par envoie /
réception de contenu
HTTP
Classes JAVA annotées
implémentant le
service web
JAX-RS - M. Baron - Page
keulkeul.blogspot.com
13
Généralités JAX-RS : Développement
 Le développement de ServicesWeb avec JAX-RS est basé
sur des POJO (Plain Old Java Object) en utilisant des
annotations spécifiques à JAX-RS
Pas description requise dans des fichiers de configuration
 Seule la configuration de la Servlet « JAX-RS » est requise
pour réaliser le pont entre les requêtes HTTP et les classes
Java annotées
 Un Service Web REST est déployé dans une application Web
JAX-RS - M. Baron -Page
keulkeul.blogspot.com
14
Généralités JAX-RS : Développement
 Contrairement aux Services Web étendus il n’y a pasde
possibilité de développer un service REST à partir du fichier
de description WADL
 Seule l’approche Bottom / Up est disponible
Créer et annoter un POJO
Compiler, Déployer et Tester
Possibilité d’accéder au document WADL
 Le fichier de description WADL est généréautomatiquement
par JAX-RS (exemple : http://host/context/application.wadl)
 Plus tard nous verrons comment utilisé WADL pour générer
la couche cliente
JAX-RS - M. Baron - Page
keulkeul.blogspot.com
15
Le Premier Service Web JAX-RS
Exemple : Service Web REST « HelloWorld »
@Path("/hello")
public class HelloWorldResource {
@GET
@Produces("text/plain")
public String getHelloWorld(){
return "Hello World from text/plain";
}
}
HelloWorldResource.java du projet
HelloWorldRestWebService
Lecture de la ressource
HelloWorld via une requête HTTP
de type GET
Définition d’un chemin de ressource pour
associer une ressource hello à une URI
Le type MIME de la réponse est
de type text/plain
JAX-RS - M. Baron - Page
keulkeul.blogspot.com
16
Le Premier Service Web...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !