Présentation
Le livre Java EE 5 vous permet de développer une application de commerce électronique en utilisant de multiples spécifications Java EE 5. Tout au long des chapitres vous devez développer couche après couche (persistance, session façade, interface web, gestion du panier électronique, services web et traitements asynchrones) pour obtenir le site de vente d’animaux domestiques.
Téléchargez le code
Avant toute chose, il vous faut télécharger le code de l’application pour l’exécuter.
Structure des répertoires
Décompressez le fichier que vous venez de télécharger et vous obtiendrez trois sous-répertoires principaux. Ceux-ci correspondent aux différentes applications :
- le site de commerce électronique à proprement dit (Yaps Pet Store) se trouve dans le répertoire yaps
- le service web de validation de carte bancaire de la société BarkBank dans le répertoire barkbank
- le service web du transporteur PetEx dans le répertoire petex
Comme vous pouvez le voir dans les images ci-dessous, chacune de ces applications est composée de sous-répertoires.
Chaque sous répertoire contient des fichiers spécifiques :
- build : contient les fichiers à déployer dans GlassFish (war et ear)
- classes : répertoire contenant le bytecode des classes de l’application
- config : contient les fichiers de paramétrage de l’application
- generated : classes Java générées pour les services web
- resources : pages web et images du site Yaps PetStore
- src : ce répertoire contient les fichiers sources Java des applications
- WEB-INF : contient les fichiers de configuration de l’application web
Installez les outils
Avant de d’exécuter l’application, assurez vous que vous avez les outils nécessaire installés:
- JDK
- Installez une version du JDK égale ou supérieure à 1.5_11
- Positionnez la variable JAVA_HOME
- Ant
- Installez une version de Ant égale ou supérieure à 1.7
- Positionnez la variable ANT_HOME
- Rajoutez le répertoire %ANT_HOME%/bin dans votre PATH
- GlassFish
- Installez une version du serveur Glassfish égale ou supérieure à V2b41
- Téléchargez le fichier jar puis exécutez la commande java -Xmx256m -jar nomDuFichier.jar
- Positionnez la variable GLASSFISH_HOME
- Ensuite tapez la commande %GLASSFISH_HOME%/ant -f setup.xml pour terminer l’installation de GlassFish
- Rajoutez le répertoire %GLASSFISH_HOME%/bin dans votre PATH
Configurez les serveurs
Il faut maintenant configurer GlassFish et la base de données. Les taches d’administrations se trouvent dans le fichier %PETSTORE_HOME%/admin.xml
- Créez le domaine petstore dans GlassFish en tenant compte des mots de passe ci-dessous (le port d’admin est 8282)
%GLASSFISH_HOME%/\bin/\asadmin create-domain --adminport 8282 --user admin --savemasterpassword=true --instanceport 8080 petstore Please enter the admin password>adminpwd Please enter the admin password again>adminpwd Please enter the master password>masterpwd Please enter the master password again>masterpwd Using port 8282 for Admin. Using port 8080 for HTTP Instance. Using default port 7676 for JMS. Using default port 3700 for IIOP. Using default port 8181 for HTTP_SSL. Using default port 3820 for IIOP_SSL. Using default port 3920 for IIOP_MUTUALAUTH. Using default port 8686 for JMX_ADMIN. Domain petstore created.
Vous devez alors voir apparaitre le répertoire %GLASSFISH_HOME%/domains/petstore
- (Si par la suite vous voulez supprimer ce domaine, tapez la commande ant -f admin.xml delete-domain ou asadmin delete-domain petstore)
- Démarrez le serveur Glassfish en tapant %PETSTORE_HOME%/ant -f admin.xml start-domain
- Vérifier que le serveur fonctionne en allant sur http://localhost:8080/
Si votre serveur de démarre pas, consulter le fichier %GLASSFISH_HOME%/domains/petstore/logs/server.log
- Démarrez la base de données en tapant %PETSTORE_HOME%/ant -f admin.xml start-db
[exec] Database started in Network Server mode on host localhost and port 1527. ... [exec] Command start-database executed successfully.
- Configurez le serveur GlassFish en tapant %PETSTORE_HOME%/ant -f admin.xmlsetup. Ceci a pour effet d’effectuer les taches suivantes :
- Créer un pool de connection à la base de données (%PETSTORE_HOME%/ant -f admin.xml create-connection-pool)
- Créer la base de données (%PETSTORE_HOME%/ant -f admin.xml ping-connection-pool). Vous devez voir alors apparaître le répertoire %GLASSFISH_HOME%/javadb/petstoreDB
- Créer une source de données (%PETSTORE_HOME%/ant -f admin.xml create-datasource)
- Créez les ressources JMS nécessaires:
- une ConnectionFactory (%PETSTORE_HOME%/ant -f admin.xml create-jms-connection-factory)
- un Topic JMS nécessaires (%PETSTORE_HOME%/ant -f admin.xml create-jms-topic)
- Créer le logger de l’application Petstore qui utilise java.util.logging (%PETSTORE_HOME%/ant -f admin.xml set-loggers)
Vérifiez la configuration
Vérifiez que le paramètrage à bien fonctionné en tapant %PETSTORE_HOME%/ant -f admin.xml list. Ceci a pour effet d’effectuer les taches suivantes :
- Vérifier que le pool de connection petstorePool a été créé soit (commande ant -f admin.xml list-connection-pool)
[exec] CallFlowPool [exec] TimerPool [exec] DerbyPool [exec] petstorePool
-
- ou bien par la console d’admin http://localhost:8282/ (dans l’arbre, déployez le noeud Resources>JDBC>Connection Pools)
- Vérifier que la source de données petstoreDS a été créé (%PETSTORE_HOME%ant -f admin.xml list-datasource)
[exec] jdbc/TimerPool
[exec] jdbc/CallFlowPool
[exec] jdbc/default
[exec] jdbc/petstoreDS
-
- ou par la console d’admin (dans l’arbre, déployez le noeud Resources>JDBC>JDNC Resources)
- Vérifier que les ressources JMS ont été créés (%PETSTORE_HOME%ant -f admin.xml list-jms-resources)
[exec] jms/queue/client [exec] jms/topic/order [exec] jms/petstoreConnectionFactory
-
- ou par la console d’admin (dans l’arbre, déployez les noeuds Resources>JMS Resources>Connection Factories et Destination Resources)
- Pour vérifier que le logger a bien été configuré
- Connectez-vous à la console http://localhost:8282 (admin/adminpwd)
- Selectionnez “Application Server”
- Cliquez sur l’onglet “Logging”
- Sur la page de logging, cliquez sur l’onglet “Log Levels”
- En bas de la page vous trouverez la section “Additional Module Log Level Properties”
- Vous devez voir aparaitre le logger com.yaps.petstore, com.barkbank et com.petex
Deployez l’application
Maintenant que tout est configuré, il faut déployer les applications sur le serveur.
Déployez l’application BarkBank
- Construisez l’application en tapant %PETSTORE_HOME%/ant barkbank-build. Ceci a pour effet de compiler l’application, de générer les artefacts pour les services web et de la packager dans le fichier %PETSTORE_HOME%/BarkBank/build/barkbank.war
- Déployez l’application sur le serveur en tapant %PETSTORE_HOME%/ant barkbank-deploy. Pour vérifier que le déploiement a bien été effectué, rendez-vous à l’adresse http://localhost:8080/barkbank/
Déployez l’application PetEx
- Construisez l’application en tapant %PETSTORE_HOME%/ant petex-build. Ceci a pour effet de compiler l’application, de générer les artefacts pour les services web et de la packager dans le fichier %PETSTORE_HOME%/PexEx/build/petex.war
- Déployez l’application sur le serveur en tapant %PETSTORE_HOME%/ant petex-deploy. Pour vérifier que le déploiement a bien été effectué, rendez-vous à l’adresse http://localhost:8080/petex/
Déployez l’application Yaps
- Construisez l’application en tapant %PETSTORE_HOME%/ant yaps-build. Ceci a pour effet de compiler l’application, de générer les artefacts pour les services web et de la packager dans les fichiers %PETSTORE_HOME%/Yaps/build
- Déployez l’application sur le serveur en tapant %PETSTORE_HOME%/ant yaps-deploy. Cette tache déploie l’application et insère des données en base. Pour vérifier que le déploiement a bien été effectué, rendez-vous à l’adresse http://localhost:8080/petstore/
Utilisez l’application
Une fois les trois applications déployées, vous pouvez les utiliser à l’adresse http://localhost:8080/petstore/.Consulter le catalogue, créez vous un compte ou logger vous job/job. Achetez des animaux domestiques, passez commande et vous utiliserez alors les services web des application BarkBank (pour la vérification des cartes bancaires) et PetEx (avertit le transporteur).
Pour executer l’application client tapez %PETSTORE_HOME%/ant run-client
Demarrer/Arreter les serveurs
- Derby
- ant -f admin.xml start-db
- ant -f admin.xml stop-db
- GlassFish
- ant -f admin.xml start-domain
- ant -f admin.xml stop-domain