En plus de présenter pas à pas les étapes de création d’un projet JEE 5 sous Eclipse WTP, ce tutoriel (en 8 parties) vous donne des éléments d’architecture et de gestion d’un projet Java entreprise complexe. Enfin déployez l’archive EAR produite (ObjisEarProject.ear) sous différents serveurs jee5 : jboss 5 et glassfish.
Ce tutoriel est extrait des travaux pratiques de la formation java entreprise (JEE 5) dispensée par Objis, spécialiste de la formation Java.
Les + objis
70% de travaux pratiques
Clé USB avec tous les outils utilisés + Corrigés TPs
Bilan pédagogique individuel + conseils
Prérequis
(obligatoire) Instal. Eclipse ganymede jee
(optionnel) Article : livraisons j2ee
(optionnel) : intégration eclipse / jboss 5
(optionnel) : Installation Jboss 5 (serveur d’application jee de RedHat)
(optionnel) : Installation Glassfish (serveur d’application jee de Sun Microsystem)
Objectifs
Comprendre un projet JEE international
Comprendre les relations entre les livrables Jee
Créer un squelette de projet jee 5 (EAR)
Déployer un EAR dans jboss 5 et glassfish.
Liens utiles
+ de 100 tutoriaux java/jee Objis
Objis, spécialiste formation java depuis 2005
Tutoriel jee : création EJB3 message
Tutoriel officiel JEE 5 de Sun Microsystem
Spécifications JEE 5 et API javadoc JEE 5
Site téléchargement serveur JEE Glassfish
Site téléchargement serveur JEE Jboss 5
Durée
40 min
Nouveaux tutos objis.com
Soyez informé des nouveaux tutos ou des mises à jour de tutos objis.com .
Programme
Partie 1 : contexte
Partie 2 : comprendre les livrables JEE
Partie 3 : création projet jee eclipse
Partie 4 : développement du module web de l’EAR
Partie 5 : déploiement de l’EAR dans Eclipse/Jboss 5
Partie 6 : export du projet eclipse en livrable EAR
Partie 7 : déploiement EAR dans JBoss 5 (hors eclipse)
Partie 8 : déploiement EAR dans Glassfish (hors eclipse)
Partie 1 : le contexte
Dans le cadre industriel réel d’un projet java Entreprise complexe, vous êtes chef de projet et devez gérer (en plus des contraintes coût/delais) plusieurs équipes qui travaillent sur différents modules. En particulier :
Vous, chef de projet basé en France assurez le suivi du développement des différents modules et la cohérence quantitative et qualitative de l’ensemble. Vous avez été formé par Objis aux technologies Jee et souhaitez relever le défi et mettre en pratique cette expertise.
Une équipe au sénégal développe le module web (Livraison d’un fichier .war)
Une équipe aux Comores développe le module EJB (livraison d’un fichier .jar). Un EJB3 MDB ainsi que des EJB sessions sont prévus.
Une équipe à chicago développe le module application client Type Swing (livraison d’un fichier .jar)
Une équipe au Maroc développe le module de connection à une file de messages ActiveMQ, un Système SAP R/3 et à un Mainframe IBM z series (livraisons de fichiers .rar et .jar).
Gestion des codes sources
Les codes sources et l’arborescence du projet seront centralisé sur un référentiel de sources Subversion SVN.
Serveurs d’application cibles
Votre client, dont les serveurs sont sous Linux RedHat, a imposé JBoss comme serveur d’applications. En particulier, il dispose des services et du support associés à l’offre JEAP 4.3 (JBoss Enterprise Application Platform) de redHat.
Il vous demande cependant de tester l’application livrée sous le serveur Glassfish, dont on lui a dit le plus grand bien.
Partie 2 : Comprendre les livrables JEE
Si vous lisez cet article, c’est que vous souhaitez créer tout ou partie des livrables spécifiés par la norme jee. Le schéma ci-dessous présente les 4 modules que vous pouvez retrouver dans la plus grosse unité de livraison j2ee : l’Enterprise ARchive (EAR).
La compréhension de la partie ‘théorique’ de jee (livrables, Architecture, services) contribue à une meilleure productivité dans vos développements.
REMARQUE : Dans JEE 5, les descripteurs de déploiement (fichiers XML de configuration des modules) des modules EAR er JArs sont optionnels.
Lisez l’article suivant pour mieux comprendre chacun des livrables.
INFO 1 : la société Sun Miicrosystem (créateur de Java) impose à tout logiciel en quête du label ‘certifié j2EE’ une batterie de tests, dont des tests associés au déploiement de tous ces types de livrables (WAR, JAR ejb, JAR appli-client, RAR, EAR). Pour la norme j2ee 1.4 il y avait 123.000 tests à passer pour être certifié.
INFO 2 : le serveur d’application tomcat (tout comme son concurrent direct Jetty) n’est capable de déployer que le type de livrable WAR. Tomcat n’est donc pas un serveur certifié J2EE. Il convient cependant pour 70% des applications web en Java car ce sont surtout des livrables WAR qui sont créés par les équipes de développement.
Partie 3 : Création projet jee eclipse
A partir d’Eclipse (Ici Eclipse Ganymède SR2) , cliquez sur File–>New–> Enterprise Application Project.
vous obtenez l’écran de création d’un projet java Edition Entreprise (Java EE).
Donnez un nom au projet (Ici ObjisEarProject).
REMARQUE : un serveur d’applications cible (Target runtime) est ici associé par défaut : JBoss 5. Lisez le tutoriel suivant pour l’intégration eclipse / jboss 5.
REMARQUE : Dans la section ‘EAR version’ vous avez là la possibilité de choisir la version de la spécification Java (5.0 par défaut pour Eclipse Ganymède SR2) à laquelle doit se conformer votre projet.
Par exemple, vous pourriez très bien choisir de créer un projet EAR compatible avec la norme j2ee 1.4 au lieu de jee 5.
Cliquez sur bouton ‘Suivant’ de l’écran de création d’un projet java EE.
Grace au plugin WTP, Eclipse va ajouter un ‘facet’ EAR, c’est à dire des éléments d’interface eclipse pour projet EAR (fichiers de config, options…).
Eclipse vous demande les modules que vous souhaitez développer. Cliquez sur le bouton ‘New Module’.
REMARQUE : notez le caractère optionnel (case à cocher ‘Generate Deployment Descriptor’) de la génération d’un fichier de configuration de l’EAR. Ce fichier de configuration application.xml s’apelle (spécifications j2ee) le descripteur de déploiement pour l’EAR. Sous j2ee 1.4, le descripteur de déploiement était obligatoire.
Notez le répertoire dans lequel le projet sera créée (par défaut EarContent).
La spécification JEE précise 4 modules (voir schéma plus haut). Ici nous choisissons de créer tous les modules , et leur donnons un nom (on accepte le noms proposés par Eclipse).
REMARQUE : si votre souhait est de ‘packager’ une application web traditionelle (ex : un war qui tourne déja sous tomcat) sous forme d’un EAR, ne choisissez que l’option ‘web module’.
Cliquez sur Finish. Les différents projets apparaissent dans la vue ‘Project Explorer’ d’Eclipse.
QUESTION : quelle est le descripteur de déploiement de chacun des modules générés par Eclipse. Faites 3 remarques.
Voilà. Vous venez de créer le squelette d’un projet JEE complet.
Téléchargez la livraison ObjisEarProject_jee5.ear.zip
Partie 4 : développement du module web de l’EAR
L’équipe sénégalaise va initier un développement du module web : ObjisEarProjectWeb, cela afin de préparer un premier déploiement de l’EAR.
Cliquez droit sur WebContent, puis new/HTML.
Choisissez un HTML Transitionnal (choix par défaut) puis Next.
Ajoutez le contenu du fichier html suivant
Ajoutez au projet le logo objis
Nous allons pouvoir déployer et tester le module web de l’EAR.
Partie 5 : Déploiement de l’EAR dans Eclipse/Jboss5
Le serveur JBoss 5 a été configuré dans Eclipse.
Cliquez-doit sur le projet EAR -> Run as -> run on Server
L’écran suivant apparaît :
Choisissez le serveur JBoss 5 configuré. Puis Next.
L’écran suivant apparaît :
Cliquez sur Finish.
2 conséquences :
1) Eclipse déploie dans Jboss le projet EAR.
2) Eclipse démarre Jboss.
A la fin du démarrage de Jboss, la ligne ‘Jboss started’ apparaît dans la vue ‘console’ d’Eclipse.
ANALYSE : Cliquez ici pour voir l’ensemble des traces de Jboss qui apparaissent dans la console. Parmi ces traces Identifiez les traces précisant le déploiement de chacun des modules de l’EAR, ainsi que de l’EAR lui-même.
De plus le répertoire ObjisEarProject.ear apparaît dans le répertoire serverdefaultdeploy de jboss :
Testons désormais notre livraison.
Test module meb de l’EAR
Lancez le navigateur web d’eclipse (ou tout autre navigateur. Ex Firefox)
sur la barre d’adresse, tapez : http://localhost:8080/ObjisEarProjectWeb/
Le module web de l’EAR entre en scène :
En effet le nom du module web représente le ‘contexte’ par défaut.
QUESTION : Dans le cadre de l’archive EAR, comment faire en sorte que le module web réagisse désormais à l’url : http://localhost:8080/monappliweb au lieu de http://localhost:8080/ObjisEarProjectWeb ?
Et si le module web était déployé dans Jboss 5 hors de l’EAR ?
Partie 6 : Export du projet en livrable EAR
Le chef de projet peut à tout moment générer l’archive EAR (par exemple pour déployer sur un serveur de test/intégration).
File–>Export–>EAR.
L’écran suivant apparaît
Précisez le répertoire destination (ici C:formationjbosslivraisons) ainsi que le nom que vous souhaitez donner à l’ear (ici ObjisEarProject_jee5.ear)
Cliquez sur bouton Finish.
Vous obtenez un fichier, à déployer dans votre serveur d’applications, hors Eclipse.
Partie 7 : Déploiement dans JBoss hors Eclipse
Arrêtez le serveur Jboss démarré dans Eclipse.
Supprimez le répertoire créé précedement dans Jboss (ObjisEarProject.ear).
Lancez Jboss via JBOSS_HOMEbinrun.bat.
Attendre le message de fin de démarrage (Jboss Microcontainer Started in XXs:YYms)
Copiez dans JBOSS_HOMEserverdefaultdeploy le fichier précédement exporté (ObjisEarProject_jee5.ear)
Les traces suivantes apparaissent dans la console :
Lancez un navigateur web ( Ex Firefox)
sur la barre d’adresse, entrer l’adresse : http://localhost:8080/ObjisEarProjectWeb/. Vous obtenez le résultat suivant
ça y est ! Vous avez déployé un EAR dans Jboss hors Eclipse.
Partie 8 : Déploiement dans Glassfish hors Eclipse
Arrêter Jboss 5 (script shutdown.bat ou bien Ctrl+C sur la fenêtre de lancement)
Lancez Glassfish (bin/asadmin start-domain domain1)
Connectez vous à l’interface d’administration de Glassfish (http://localhost:4848 et admin/adminadmin par défaut). Une fois authentifié, voici l’interface d’administration
Sélectionnez l’option de déploiement d’EAR (voir ci-dessus).
Parcourez votre disque pour trouvez l’EAR ObjisEarProject_jee5.ear
Appuyez sur le bouton OK pour déployer . L’écran suivant apparaît.
ça y est : l’application est déployée.
Test du déploiement sous glassfish
Lancez un navigateur web ( Ex Firefox)
sur la barre d’adresse, entrer l’adresse : http://localhost:8080/ObjisEarProjectWeb/. Vous obtenez le résultat suivant
Conclusion
Vous avez créé un projet EAR.
Nouveaux tutos objis.com
Soyez informé des nouveaux tutos ou des mises à jour de tutos objis.com .