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
Pour utiliser la base de données MySQL plutôt que Derby, suivez ce lien
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
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.xml setup. 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)
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
Comments: 0