Amosse EDOUARD > MIAGE NTDP 2015-2016 > TP-1 - Prise en main

TP-1 - Prise en main

De $1

Table des matières
aucun titre

Ce TP réalisé dans le cadre du cours Web Services Miage NTDP a pour but de permettre aux étudiants de prendre en main le developpement d'un Web Service RESTFul en utlisant Jersey. L’idée est de développer une application (réelle) et d’essayer d’appliquer les concepts du cours. Nous proposons le développement d’une application de gestion d’une bibliothèque dans laquelle les étudiants ajouteront un module web Service afin d’exposer les entités de l’application comme ressource, pouvant être (ré) utilisée par d’autres applications serveurs et principalement des applications clientes (HTML5, Mobiles). Le modèle de données est présenté sur la figure ci-contre

Main.png

Dans le TP d'aujourd'ui, nous allons principalement exposer certaines ressources d'une application Web de type Java EE, mis à votre disposition pour ce TP et les autres qui vont suivre.  

Travaux à réaliser :

Les  travaux à réaliser dans le cadre de ces  activités consistent à :

  1. Développer  une application serveur permettant la gestion d’un modèle de données correspondant  à celui de la figure ci-dessous
  2. Concevoir une application Web J2EE en vous inspirant du modèle de données
  3. Exposer les entités de ce modèle dans un web service REST
  4. Développer  un client HTML5 pour consommer le web service

Contraintes:  

  1. L’application serveur doit être réalisée en langage Java en utilisant les EJBs
  2. Le service web doit être de type REST
  3. Le service doit supporter les formats JSON et XML
  4. Utiliser obligatoirement l'IDE Netbeans et un SGBD JavaDB

Etape 1: Récupérer l'aplication J2EE sur github 

URL du dépot :  https://github.com/eamosse/bibliotheque_ntdp.git

  • Repérer le fichier glassfish-resources.xml, créez une base de données dans Java DB ainsi qu'une resource JDBC à partir des informations contenues dans ce fichier. Pour créer la resource JDBC, trouver le fichier persistence.xml et dans data source, choisir new Datasource, remplir le formulaire qui s'affiche avec les données du fichier glassfish-resources.xml. 
  • Compilez et testez que tout fonctionne

Etape 2: Eposer les ressources de l'application J2EE dans un Web Service 

Maintenant que votre aplication web est prête, vous êtes prêts pour demarrer avec le TP.

  1. Ajouter un nouveau package dans le projet (fr.unice.miage.ntdp.bibliotheque.services) 
  2. Ajouter une nouvelle classe Java (Java Class) dans le package créé précedemment (CategorieRessource).  Cette classe exposera les instances de l'entité Categorie comme ressource dans le Web Service. 
  3. Ouvrir le fichier contenant les sources de la classe CategorieResource et ajoutez une annoation @Path ("categorie") sur le la classe 
@Path("categorie")
public class CategorieResource {

}

4. Remarquer l'apparition d'une ampoule et le trait jaune soulignant le nom le nom de la classe CategorieResource.  Elle vous signale d'un défaut de configuration de votre service Web.  En lieu et place d'un fichier de configuration, Jersey utilise une classe pour la gestion de la configuration du WS.  Cette classe indique au Framwork, les ressources exposées par le WS ainsi que le contexte du WS (ex. l'URI de base).

Cliquer sur l'ampoule et choisir l'option "Configure REST using Java EE 6 specification" , l'ampoule devrait disparaitre à la fin de cette opération. une nouvelle classe (ApplicationConfig.java) ainsi qu'un nouveau package (org.netbeans.rest.application.config) sont ajoutés à votre projet. 

A partir de Java EE 6, cette classe est proposée comme alternative aux paramètres du service dans le  fichier de configuration « web.xml ».    Ouvrir la classe Application Config dans votre éditeur et remarquer l’annotation @javax.ws.rs.ApplicationPath("webresources")    Observer bien les méthodes de cette classe, elles devraient réveiller votre mémoire  sur  certaines notions qu’on a vues en cours.  

5. Ajouter une méthode (hello) dans la classe CategorieResource qui renvoie la string Hello World. Exposez la méthode dans le service en indiquant le type de méthode HTTP auquel il est capable de répondre ainsi que le format des données qu'elle renvoie. 

@GET
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public String hello(){
        return "Hello World!";
    }

 6. Tester le WS 

Faire bouton droit sur le projet et choisir Test ResfFul Web Service.  Dans la fenêtre qui s'affiche choisir Web test Client in Project --> Browse --> Bibliotheque puis cliquer sur OK.  A la fin de cette opération, Netbeans lancera automatiquement une interface Web qui vous permettra de faire vos premiers tests.  

7. Ajouter une nouvelle méthode qui renverra la liste des categories disponibles dans la base de données. Faire hériter la classe CategorieRessource de AbstractFacade (qui se trouve dans le package bean). Ajouter une méthode list n'acceptant aucun paramètre et qui renvoie une liste de catégorie. La méthode doit répondre aux requetes HTTP de type GET et retourne les catégories au format JSON ou XML.

@GET
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public List<Categorie> list(){
        return super.findAll();
    }

 8. Testez 

9. Exercices à rendre au prochain cours 

Completez la resource Categorie en y ajoutant les méthodes: 

  • Update : Mettre à jour une catégorie existante (retourne la catégorie modifiée)
  • Create : Ajouter une nouvelle catégorie (retourne la catégorie)
  • Count : Retourne le nombre de catégorie dans la base 
  • FindByRange: Retourne une liste de categories dont les identifiants (ID) sont compris entre deux valeurs entières passées en paramètres. 

 

Mots clés:
 
Images (1)
Voir 1 - 1 sur 1 images | Voir tout
Aucune description
Main.png  Actions
Commentaires (0)
Vous devez être connecté pour poster un commentaire.