IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

YAPS Pet Store sous NetBeans


précédentsommairesuivant

VIII. Importer le projet PetEx

Le projet PetEx est une application Web (« Web Applications ») exposant le Web Service « DeliveryService » chargé de simuler le processus de transport des marchandises achetées en ligne.

Nous allons décrire les différentes étapes nécessaires pour importer le projet PetEx de l'application Yaps vers NetBeans. Vous noterez que le principe est en tout point similaire au processus d'importation du projet BarkBank.

L'ensemble des opérations qui suivent est réalisé sous NetBeans.

LLVIII-A. Créer un nouveau projet

LLVIII-A-1. Fermeture des projets

Vous allez créer un nouveau de groupe de projets qui sera spécifique à PetEx.

Si c'est le cas, il y a d'abord lieu de fermer l'ensemble des projets actuellement ouverts sous NetBeans.

Sélectionnez l'onglet « Projects ».

Un clic droit fait apparaître le menu contextuel. L'option « Project Group (none) » permet de fermer l'ensemble des projets ouverts :

Image non disponible

LLVIII-A-2. Type de projet

Créez un nouveau projet de type « Web Application ».

Pour cela, sélectionnez l'onglet « Project » et créez un nouveau projet via le menu « File New Project ».

Le projet que vous allez créer est de type « Java Web -> Web Application » :

Image non disponible

Cliquez sur le bouton « Next » pour continuer.

LLVIII-A-3. Nom et répertoires

L'écran suivant vous permet de nommer le projet, et de définir le dossier cible:

Image non disponible

Les informations à introduire sont les suivantes:

Project Name:  PetEx
Project Folder:  C:\Projects\YapsON\PetEx

Project Folder

Le répertoire du projet est donné ici à titre d'exemple et doit correspondre au répertoire où vous avez décompressé le fichier d'archives de l'application YapsON (voir ici).

Cliquez sur le bouton « Next » pour continuer.

LLVIII-A-4. Configuration du serveur

Cette étape vous permet d'identifier le serveur d'applications « PetStore » (voir ici) sur lequel sera déployée l'application PetEx :

Image non disponible

La configuration utilisée pour le déploiement est la suivante :

Server:  Petstore
Context Path:  /petex

Cliquez sur le bouton « Next » pour continuer.

LLVIII-A-5. Les frameworks

La dernière étape consiste à spécifier les frameworks à utiliser.

Dans le cadre du projet « PetEx », aucun framework spécifique n'est employé :

Image non disponible

Appuyez sur le bouton « Finish » pour terminer le processus de création du projet.

LLVIII-A-6. Génération du projet

Le projet est maintenant généré et présente l'ensemble des dossiers suivants :

Image non disponible

Vous êtes prêt à importer le code source du projet PetEx de l'application Yaps vers l'arborescence de NetBeans.

LLVIII-B. Transférer le projet sous NetBeans

L'opération de transfert du projet PetEx consiste à copier les fichiers de l'application Yaps vers l'application YapsON.

Pour faciliter cette opération, le script Ant « yapson.xml » (décrit dans la section 3.5) automatise la copie des fichiers.

Assurez-vous d'avoir configuré le fichier « yapson.properties » tel que décrit dans la section 4.

LLVIII-B-1. Positionner les variables d'environnement

Les commandes que vous allez exécuter nécessitent de positionner les variables d'environnement pour l'exécution des tâches Ant.

Rendez-vous dans le répertoire de l'application YapsON et exécutez le fichier de commande « setenv-yaps.cmd » :

 
Sélectionnez
C:> cd {yapson_home}
{yapson_home}> setenv-yaps.cmd

LLVIII-B-2. Transférer le projet

À partir de la ligne de commande, exécutez la tâche Ant « transferPetEx » chargée de transférer le projet sous NetBeans :

 
Sélectionnez
%YAPSON-HOME%> ant -f yapson.xml transferPetEx
Buildfile: yapson.xml
transferPetEx:
[echo] Transfer the PetEx projet to NetBeans
...

L'exécution du script Ant commence par demander une confirmation à l'utilisateur avant de procéder au remplacement des fichiers :

 
Sélectionnez
...
[input] The target source files will be overwritten by the original YAPS project. Do you
want to continue? (y, n)
y
...

Dans l'affirmative, la tâche Ant copie respectivement les codes sources Java, les fichiers de ressources Web et les descripteurs :

 
Sélectionnez
...
[echo] === Copy Java Sources ===
[copy] Copying 1 file to c:\Projects\YapsON\PetEx\src\java
[echo] === Copy Web Resources ===
[copy] Copying 2 files to c:\Projects\YapsON\PetEx\web
[echo] === Copy Web Descriptors ===
[copy] Copying 1 file to c:\Projects\YapsON\PetEx\web\WEB-INF
BUILD SUCCESSFUL

NetBeans rafraîchit automatiquement le projet PetEx :

Image non disponible

LLVIII-B-3. Créer le groupe de projet

À partir du menu « File » ou via un clic droit dans la fenêtre « Projects », NetBeans offre la capacité de créer le nouveau groupe de projet:

Image non disponible

Sélectionnez l'option « New group ».

La fenêtre suivante permet de nommer le groupe de projet qui est dans notre cas PetEx :

Image non disponible

Les options par défaut indiquent que les projets en cours de chargement dans l'IDE seront automatiquement ajoutés au groupe de projet PetEx.

Cliquez sur le bouton « Create Group ».

LLVIII-C. Compiler le projet

Un clic droit sur le projet fait apparaître le menu contextuel proposant les options pour compiler le projet (« Build » ou « Clean and Build ») :

Image non disponible

Cliquez sur l'option « Clean and Build ».
La fenêtre « Output » affiche les traces de la compilation :

Image non disponible

Les messages intéressants sont les suivants :

 
Sélectionnez
...
compile:
compile-jsps:
Created dir: C:\Projects\YapsON\PetEx\dist
Building jar: C:\Projects\YapsON\PetEx\dist\PetEx.war
do-dist:
dist:
BUILD SUCCESSFUL (total time: 2 seconds)

Ces traces indiquent que le projet a été correctement compilé (« BUILD SUCCESSFUL ») et archivé dans le fichier « PetEx.war ».

LLVIII-D. Déployer le projet

Vous allez maintenant procéder au déploiement du projet sous GlassFish.

Un clic droit sur le projet fait apparaître le menu contextuel proposant l'option de déploiement (« Deploy ») :

Image non disponible

Cliquez sur l'option « Deploy ».
Si nécessaire, NetBeans se charge de démarrer le serveur d'applications « PetStore ».
Si l'application PetEx était déjà déployée sur le serveur, NetBeans se charge de la supprimer (Undeploying) pour la remplacer par la nouvelle version.

La fenêtre « Output » trace les messages suivants :

 
Sélectionnez
...
deployment started : 0%
deployment finished : 100%
Deploying application in domain completed successfully
...
All operations completed successfully
run-deploy:
BUILD SUCCESSFUL (total time: 4 seconds)

Le déploiement terminé, vous pouvez explorer le contenu de l'application PetEx sur le serveur PetStore.

Rendez-vous sur l'onglet "Services" et sélectionnez le serveur "Petstore".

Le noeud « Applications -> Web Applications -> PetEx» affiche les ressources et services exposés par l'application :

Image non disponible

L'application PetEx est accessible à l'adresse http://localhost:8080/petex et se présente comme suit:

Image non disponible

À ce stade, vous pouvez inspecter le WSDL ou tester le service tel que décrit dans le livre de référence.

LLVIII-E. Tester le projet

Nous sommes maintenant en mesure de tester l'application PetEx en invoquant le Web Service « DeliveryService ».

Un Web Service peut être testé de différentes manières. Nous allons ici nous contenter de quelques unes d'entre elles disponibles sous NetBeans.

LLVIII-E-1. Méthode 1: Web Service Tester de GlassFish

Au travers de la fenêtre « Projects », un clic droit sur le Web Service « Delivery » propose le menu contextuel suivant:

Image non disponible

L'option « Test Web Service » invoque le mécanisme de tests de Web Service de GlassFish qui a son tour invoque le Web Service « DeliveryService » au travers de l'URL suivante:

http://localhost:8080/petex/DeliveryService?Tester

Cette mécanique de test n'est pas vraiment appropriée pour tester le Web Service « DeliveryService ». La raison est que la requête à transmettre contient un message complexe.

LLVIII-E-2. Méthode 2: Web Service Tester de NetBeans

Cette méthode consiste à enregistrer le Web Service sous NetBeans afin de bénéficier d'un outil de test un peu plus évolué que celui offert par GlassFish.
Les Web Services sont répertoriés dans la fenêtre « Services » sous le noeud « Web Service » :

Image non disponible

Le groupe de Web Service « YapsON » a déjà été créé précédemment.
Nous allons nous concentrer sur l'ajout de la référence du Web Service de PetEx.
Un clic droit sur le groupe « YapsON » offre un ensemble d'options parmi lesquelles celles permettant d'ajouter un Web Service:

Image non disponible

Le formulaire permet d'identifier le Web Service à partir de son WSDL:

Image non disponible

Veuillez localiser le WSDL du Web Service à partir de son URL :

http://localhost:8080/petex/DeliveryService?WSDL

Cliquer sur le bouton "OK" pour ajouter la référence au Web Service sous NetBeans.

Le Web Service « DeliveryService » est maintenant ajouté à la liste des Web Service :

Image non disponible

Un clic droit sur l'opération « deliveryItems » permet de tester la méthode au travers de l'écran suivant :

Image non disponible

La partie supérieure concerne la requête à émettre tandis que la partie inférieure se charge d'afficher le message de retour. Le bouton « Submit » permet d'envoyer la requête au Web Service.

Testez le Web Service avec les données suivantes:

Delivery From  City  Liège
   Contact  Said Eloudrhiri
   Country  BE
   State  None
   Street  My street
   Zipcode  1234
Delivery To  City  Paris
   Contact  Antonio Goncalves
   Country  FR
   State  None
   Street  Your street
   Zipcode  5678
Reference  Number  12345678
Image non disponible

Cliquez sur le bouton « Submit » pour envoyer la requête au Web Service « DeliveryService ».

La réponse retournée par le Web Service est vide :

Image non disponible

En effet, le code de retour du Web Service « DeliveryService » est de type « void ».

Par contre, le Web Service trace la requête en utilisant le « logger » applicatif défini pour « com.petex.transport ».

Si l'on se reporte sur la fenêtre « Output » et en particulier sur les traces générées par le serveur « Petstore », on retrouvera les traces suivantes :

 
Sélectionnez
..
ENTRY
Delivery Order Received
Deliver from DeliveryPlace{contact='Said Eloudrhiri', street='My street', city='Liège',
state='None', zipcode='1234', country='BE'}
Deliver to DeliveryPlace{contact='Antonio Goncalves', street='Your street', city='Paris',
state='None', zipcode='5678', country='FR'}
Reference n° 12345678
RETURN

Ces traces montrent que le Web Service a bien reçu le message de requête.

LLVIII-F. Conclusion

Les sources de l'application « PetEx » ont été transférées sous NetBeans dans une arborescence conforme au format préconisé par le Java Blueprints.

Les tests que nous avons réalisés attestent que le Web Service de l'application PetEx a été correctement compilé et est déployé sur le serveur.


précédentsommairesuivant

Copyright © 2008,2009 Said Eloudrhiri Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.