Tutoriel jee eclipse et Jboss 5 : projet EAR

////Tutoriel jee eclipse et Jboss 5 : projet EAR

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-detaille-formation-architecture-java-objis

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 :

formation_objis_architecture_projet_jee_complexe.png

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

livraisons_j2ee.jpg

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.

tutoriel_creation_projet_jee_eclipse_ganymede.png

vous obtenez l’écran de création d’un projet java Edition Entreprise (Java EE).

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_2.png

 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.

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_2bis.png

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

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_3.png

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

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_4.png

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

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_5.png

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.

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_14.png

 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.

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_6.png

 Choisissez un HTML Transitionnal (choix par défaut) puis Next.

 Ajoutez le contenu du fichier html suivant

 Ajoutez au projet le logo objis

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_7.png

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

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_8.png

L’écran suivant apparaît :

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_9.png

 Choisissez le serveur JBoss 5 configuré. Puis Next.

L’écran suivant apparaît :

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_10.png

 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.

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_111.png

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 :

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_18.png

Testons désormais notre livraison.

Test module meb de l’EAR

 Lancez le navigateur web d’eclipse (ou tout autre navigateur. Ex Firefox)

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_15.png

 sur la barre d’adresse, tapez : http://localhost:8080/ObjisEarProjectWeb/

Le module web de l’EAR entre en scène :

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_16.png

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.

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_12.png

L’écran suivant apparaît

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_13.png

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.

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_17.png

Partie 7 : Déploiement dans JBoss hors Eclipse

 Arrêtez le serveur Jboss démarré dans Eclipse.

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_18.png

 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)

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_22.png

Les traces suivantes apparaissent dans la console :

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_20.png

 Lancez un navigateur web ( Ex Firefox)

 sur la barre d’adresse, entrer l’adresse : http://localhost:8080/ObjisEarProjectWeb/. Vous obtenez le résultat suivant

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_21.png


ç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

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_23.png

 Sélectionnez l’option de déploiement d’EAR (voir ci-dessus).

 Parcourez votre disque pour trouvez l’EAR ObjisEarProject_jee5.ear

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_24.png

 Appuyez sur le bouton OK pour déployer . L’écran suivant apparaît.

tutoriel_creation_projet_jee_eclipse_ganymedeSR2_25.png

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

2018-01-27T15:10:57+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java