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

YAPS Pet Store sous NetBeans


précédentsommairesuivant

X. Importer le projet Yaps - côté client

Le projet YAPS Pet Store est composé de deux interfaces clientes. L'une dite légère et composée d'une interface Web (JSF) et l'autre dite lourde (Java Swing).
Comme nous l'avons vu (voir ici), le client « léger » de type Web est déployé avec les composants du serveur de l'application Yaps.
Nous allons décrire le processus d'importation du client « lourd » (Java Swing) sous le projet de type « Java Applications » baptisé Yaps-Client.
L'ensemble des opérations qui suivent est réalisé sous NetBeans.

LLX-A. Créer un nouveau projet

LLX-A-1-a. Fermer les projets

Vous allez créer un nouveau de groupe de projets qui sera spécifique à Yaps-Client.
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
LLX-A-1-b. Type de projet

Créez un nouveau projet de type « Java 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 > Java Application » :

Image non disponible

Cliquez sur le bouton « Next » pour continuer.

Java Desktop Application ?

Nous aurions tendance à opter pour un projet de type « Java Desktop Application » préconisé pour le développement d'applications de type Swing.
L'application client de Yaps Pet Store est certes de type Swing mais son fonctionnement a été enrichi par l'apport d'un framework baptisé XSwing.
Nous avons ainsi préféré rester dans le contexte d'une application Java standard pour rester dans l'esprit de l'application originale.

LLX-A-1-c. Nom et répertoires

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

Image non disponible

Les informations à introduire sont les suivantes :

 Project Name:  Yaps-Client
 Project Folder:  C:\Projects\YapsON\Yaps-Client

Il n'est pas nécessaire de cocher l'option « Create Main Class », car nous allons importer nos propres codes sources.

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 « Finish » pour terminer le processus.

LLX-A-1-d. 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 Yaps (côté client) de l'application Yaps vers l'arborescence de NetBeans.

LLX-B. Transférer le projet sous NetBeans

L'opération de transfert du projet Yaps consiste à copier les fichiers de la partie serveur 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.

LLX-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

LLX-B-2. Transférer le projet

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

 
Sélectionnez
%YAPSON-HOME%> ant -f yapson.xml transferYapsClient
Buildfile: yapson.xml
transferYapsClient:
[echo] Transfer to NetBeans the client's side of the Yaps project
...

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
...

La tâche Ant copie code source Java du projet :

 
Sélectionnez
...
[echo] === Copy Java Sources ===
[copy] Copying 82 files to c:\Projects\YapsON\Yaps-Client\src\com\yaps\petstore\client
...

Pour terminer, les librairies sont copiées dans un répertoire spécifique :

 
Sélectionnez
...
[echo] === Copy Libraries ===
[copy] Copying 2 files to c:\Projects\YapsON\Tools\Lib
BUILD SUCCESSFUL

NetBeans rafraîchit automatiquement le projet Yaps-Client :

Image non disponible

LLX-B-3. Référencer les librairies

Comme on peut le constater, des erreurs apparaissent dans le code source du projet.

Ces erreurs sont causées par l'absence de librairies requises par le projet :

  • Les classes des EJBs du projet Yaps-Server
  • Les librairies utilitaires (Apache Commons, Framework XSwing)
  • Les librairies JMS
  • Les librairies de TopLink

Les références à ces libraires se réalisent en modifiant les propriétés du projet.

Nous allons décrire comment référencer chacune de ces libraires ainsi que la manière de créer certaines d'entre elles sous NetBeans.

LLX-B-3-a. Référencer les classes de Yaps-Server

L'application Yaps-Client référence un ensemble de classes définies dans le projet Yaps-Server : entity, stateless, util, exception.

Vous allez ajouter la référence à la librairie contenant les classes construites dans le cadre de l'application Yaps-Server et plus spécifiquement les classes du module Yaps-Server-ejb.

Un clic droit sur le projet Yaps-Client fait apparaître le menu contextuel dans lequel vous allez activer l'option Properties :

Image non disponible

Dans l'écran des propriétés du projet, sélectionnez la catégorie Libraries :

Image non disponible

Dans la partie de droite, cliquez sur le bouton « Add JAR/Folder ». La boîte de dialogue permet de sélectionner la librairie à référencer dans le projet. Dans notre cas, vous devez retrouver la librairie Yaps-Servr-ejb.jar qui se trouve sous le répertoire Build du projet Yaps-Server :

{yapson_home}\build\Yaps-Server-ejb.jar

Image non disponible

À ce stade, les librairies référencées dans le projet sont les suivantes :

Image non disponible

Cliquez sur « OK » afin d'ajouter la référence de la libraire au projet.

En consultant le projet, on constate la disparition des erreurs relatives au référencement des classes du projet Yaps-Server.

LLX-B-3-b. Référencer les librairies utilitaires

En utilisant la méthode décrite précédemment, vous allez référencer les deux librairies utilitaires transférées du projet Yaps.

Ces deux librairies sont localisées sous le répertoire suivant :

 
Sélectionnez
{yapson_home}\Tools\Libs\commons-lang-2.3.jar
{yapson_home}\Tools\Libs\vstm-xcore-0.5.0.jar
Image non disponible

À ce stade, les librairies référencées dans le projet sont les suivantes:

Image non disponible

Cliquez sur « OK » afin d'ajouter la référence des libraires au projet.

En consultant le projet, on constate la disparition des erreurs relatives au référencement des classes d'Apache Commons et du framework XSwing.

LLX-B-3-c. Référencer les librairies JMS

L'application cliente met en oeuvre un MessageListener JMS pour être à l'écoute de la file de messages.

Il est donc nécessaire de référencer l'ensemble des classes JMS pour permettre à l'application de se connecter au topic JMS, de souscrire aux messages et de recevoir lesdits messages.

Le fournisseur JMS utilisé par l'application YAPS est celui fourni en standard avec Sun GlassFish à savoir Sun Java System Message Queue software.

Vous allez ajouter les références aux libraires JMS livrées avec Sun GlassFish.

Sous NetBeans, sélectionnez le menu « Tools > Libraries » :

Image non disponible

L'écran suivant montre l'ensemble des librairies définies sous NetBeans :

Image non disponible

Vous allez ajouter une nouvelle librairie.
Cliquez sur le bouton « New Library » pour ajouter une nouvelle libraire de type « Class Libraries » que nous allons nommer « JMS » :

Image non disponible

Cliquez sur « OK » pour poursuivre.
À ce stade, la libraire JMS est sélectionnée.

En utilisant le bouton « Add Jar/Folder », vous allez ajouter l'ensemble des fichiers suivants localisés sous le répertoire de Sun GlassFish :

  1. {glassfish-home}/lib/install/applications/jmsra/imqjmsra.jar
  2. {glassfish-home}/lib/appserv-admin.jar
  3. {glassfish-home}/imq/lib/imq.jar
  4. {glassfish-home}/lib/appserv-rt.jar
  5. {glassfish-home}/lib/javaee.jar
Image non disponible

Les boutons « Move Up » et « Move Down » permettent d'agencer l'ordre des fichiers tel que nous l'avons décrit plus haut.

Cliquez sur le bouton OK pour appliquer vos modifications.

Maintenant que la librairie JMS est prête à l'emploi, vous allez ajouter sa référence au projet Yaps-Client.

Ouvrez les propriétés du projet Yaps-Client et sélectionnez la catégorie « Libraries » :

Image non disponible

Cliquez sur le bouton « Add Library » :

Image non disponible

Dans la liste des librairies, sélectionnez « JMS » et cliquez sur le bouton « Add Library » :

Image non disponible

Cliquez sur « OK ».

La librairie JMS est maintenant référencée dans le projet Yaps-Client.

NetBeans va automatiquement compiler le projet et résoudre les références manquantes.

À ce stade, plus aucune erreur ne doit être détectée dans le projet :

Image non disponible
LLX-B-3-d. Référencer les librairies TopLink

Durant la phase d'exécution du l'application Yaps-Client, des objets de type Entity sont manipulés pour lesquelles les classes du framework TopLink sont requises.

Vous allez référencer les classes du framework TopLink pour éviter les erreurs d'exécution.

Ouvrez les propriétés du projet et sélectionnez la catégorie « Libraries » :

Image non disponible

Cliquez sur le bouton "Add Library" et sélectionnez la librairie TopLink Essentials :

Image non disponible

Cliquez sur « Add Library ».

Cliquez ensuite sur OK afin d'ajouter la référence de la libraire TopLink :

Image non disponible

LLX-B-4. Identifier la classe principale

Avant de tester l'application, il vous reste à localiser la classe principale « Main Class » qui sera invoquée à l'exécution.

Ouvrez les propriétés du projet et rendez-vous sur la catégorie « Run » :

Image non disponible

Le champ « Main Class » permet d'identifier la classe principale.

Cliquez sur le bouton « Browse » pour sélectionner la classe principale « com.yaps.petstore.client.ui.PetstoreFrame » :

Image non disponible

Cliquez sur le bouton « Select Main Class ».

Cliquez ensuite sur OK afin de sauver vos modifications dans les propriétés du projet :

Image non disponible

LLX-B-5. 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 « Yaps - Client » :

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.

Cliquez sur le bouton « Create Group ».

LLX-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

En analysant en détail les traces de la compilation, on relève les messages suivants :

 
Sélectionnez
...
Building jar: C:\Projects\YapsON\Yaps-Client\dist\Yaps-Client.jar
...
To run this application from the command line without Ant, try:
java -jar "C:\Projects\YapsON\Yaps-Client\dist\Yaps-Client.jar"
...
BUILD SUCCESSFUL (total time: 6 seconds)

Ces traces indiquent que l'application Yaps-Client a été correctement compilée et qu'il est possible de l'exécuter à partir de la ligne de commande en invoquant la commande suivante :

 
Sélectionnez
java -jar {yapson_home}\Yaps-Client\dist\Yaps-Client.jar

LLX-D. Tester le projet

Nous allons décrire les spécificités de NetBeans en matière d'exécutions d'applications Java.

LLX-D-1. Démarrer le serveur PetStore

Avant de démarrer l'application Yaps-Client, il est nécessaire de démarrer le serveur « PetStore ».

Rendez-vous sur l'onglet « Services » et démarrez le serveur PetStore :

Image non disponible

LLX-D-2. Exécuter l'application Yaps-Client

Sous NetBeans, l'application Yaps-Client peut-être démarrée de différentes façons :

  • En appuyant sur la touche « F6 »
  • À partir du menu « Run -> Run Main project » :Image non disponible
  • À partir de l'option « Run » du menu contextuel du projet :Image non disponible
  • À partir de la barre d'outils en cliquant sur l'icône suivant :Image non disponible

L'application apparaît à l'écran :

Image non disponible

Reportez-vous au livre de référence qui décrit les fonctionnalités de l'application client.

S'abonner au topic JMS

Pour recevoir les messages postés dans la file d'attente JMS (les articles de type « reptiles »), n'oubliez pas de vous abonner au topic JMS en ouvrant la fenêtre « Watch orders » disponible sous le menu « Order ».

L'application cliente ne gère pas la notion de durabilité des messages JMS.

La barre de statut de NetBeans (en bas et à droite) affiche le statut de l'application en cours d'exécution :

Image non disponible

Pour stopper l'exécution de l'application, un clic droit sur la barre de statut propose un menu contextuel permettant de stopper l'application :

Image non disponible

LLX-E. Conclusion

Les sources du client de l'application « Yaps» 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 l'application cliente Swing communique correctement avec les composants déployés 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.