TP TUSC : Développement d’application J2EE en utilisant Lomboz & JBoss ~ Chapitre 1 ~ 1/ Création d’un nouveau projet J2EE avec Lomboz Aller dans File > New > Lomboz J2EE Project Ou bien Clic-Droit dans le navigateur puis idem Ensuite : - - saisir le nom du projet (par exemple : Test), puis spécifier un répertoire pour ce projet SUR VOTRE COMPTE (ne pas utiliser le répertoire par défaut). Puis NEXT. (si nécessaire) spécifier que l’on veut distinguer le répertoire source du répertoire cible (où seront créés les .CLASS). Vérifier que la librairie JAVA est bien ajoutée au projet (soit une JRE, soit une JDK). Puis NEXT. Ajouter un module WEB : Web Modules > Add o Nom du module : OnlineBank Ajouter un module EJB : EJB Modules > Add o Nom du module : MyBank Ajouter un serveur cible pour nos modules : sélectionner JBOSS 3.2.5 puis Add Puis FINISH. Vous devriez vous retrouver avec une arborescence contenant les répertoires suivants : - Src (là où vous allez ajouter vos sources JAVA du projet) - j2src ( ??? ) - les différentes librairies utilisées dans le projet - MyBank (contenant un répertoire META-INF avec différents fichiers XML générés par JBoss et Lomboz) - OnlineBank (contenant un répertoire WEB-INF avec différents fichiers XML générés par JBoss et Lomboz) + deux fichiers JSP : error et index qui serviront à l’interface Web. 2/ Création de la Base de Données utilisée dans le TP TUSC a) Afficher le J2EE View de Lomboz - Window > Show View > Lomboz J2EE View b) lancer un serveur Jboss - clic-droit sur le JBOSS 3.2.5 de MyBank > Run Server - regarder si le serveur a démarré correctement (dans la console d’Eclipse) NB1 : si votre serveur est bien lancé, vous devriez trouver cette ligne dans la console : INFO [Server] JBoss (MX MicroKernel) [3.2.5 (build: CVSTag=JBoss_3_2_5 date=200406251954)] Started in 18s:93ms NB2 : si le serveur est lancé, vous devriez pouvoir accéder à la console en ligne de JMX en ouvrant un navigateur Internet, puis saisir l’adresse suivante : http://localhost:8080 c) Remplir la BDD - lancer la console de JMX (http://localhost:8080 sous un navigateur Internet quelconque) puis cliquer sur JMX Console - cliquer ensuite sur database=localDB,service=Hypersonic pour accéder aux services de gestion de Jboss - Lancer le service de gestion de la BdD : Bouton INVOKE du StartDatabaseManager (tout en bas de la page !) - Télécharger les scripts de création de la BdD TUSC disponibles sur la page web du tp : http://www.tusc.com.au/tutorial/data/myStoreSchema.script http://www.tusc.com.au/tutorial/data/myStoreSchema.data Dans le DatabaseManager : o Ouvrir myStoreSchema.script o Cliquer sur Execute SQL Statement (création des tables) o Ouvrir myStoreSchema.data o Cliquer sur Execute SQL Statement (remplissage des tables) o Cliquer sur View > Refresh Tree (les tables doivent apparaître) o Cliquer sur Options > Commit (pour sauvegarder la BdD) o Tester la requête suivante : « select * from storeaccess » Vous pouvez maintenant arrêter le serveur Jboss (nous le relancerons plus tard) o clic-droit sur le JBOSS 3.2.5 de MyBank > Stop Server - - 3/ Création d’un EJB de consultation File > New > Lomboz EJB Creation Wizard - nom du package : au.com.tusc - nom de l’EJB : MySession - Type EJB : StateLess Session EJB (EJB Session pour une seule requête) - Puis FINISH fichier MySessionBean.java créé. Ensuite il faut ajouter une méthode à notre EJB (histoire qu’il fasse quelque chose....). Donc, ajoutons une Business Method ( = Méthode de Transaction) : - clic-droit sur la classe MySessionBean (en dessous du MySessioBean.java dans l’explorateur) puis faire : New > Lomboz EJB Method Wizard - Ecrire l’entête de la méthode : Public String learnJ2EE(String messg) - Type de la méthode : Business Method (Méthode de transaction) - Type de l’interface : Remote Interface (Interface d’accès à distance) - Puis FINISH => code ajouté dans MySessionBean.java - ensuite, il faut changer le code du Return afin de constater que notre programme de test va bien passer dans l’EJB : return « Me too ! »; // c’est la réponse que donnera notre EJB à toute question.... - maintenant, après avoir sauvegardé notre EJB, il faut l’ajouter au module d’EJB MyBank : o Clic-Droit sur MySessionBean > Lomboz J2EE > Add EJB to Module - enfin, il faut re-générer les fichiers de MyBank : o Clic-Droit sur le répertoire MyBank dans l’explorateur > Lomboz J2EE > Generate EJB Classes Cela va créer un répertoire « ejbsrc » qui contiendra tous les fichiers nécessaires à notre EJB, et seront à re-générer à chaque modification importante du projet. NB : en théorie, nous ne devons pas modifier ces fichiers car, dans ce cas, il faudra REFAIRE toutes ces modifications à CHAQUE re-génération.....Cependant, nous serons dans certains cas obligé de les modifier à cause de quelques petits bugs qui subsistent dans Lomboz (exemple : mauvaise déclaration de section dans jboss.xml..............cf. chap. 5). - il reste à déployer cet EJB sur le serveur Jboss pour installer le .jar sur notre serveur, c’est à dire dans un répertoire spécial de Jboss : o Clic-Droit sur MyBank dans le J2EE View > Deploy 4/ Création d’un client qui accèdera à notre EJB - Clic-Droit sur src dans Test > New > EJB Test Client o Pachage name = test o Client name = client o EjbHome = au.com.tusc.MySessionHome o EjbInterface = au.com.tusc.MySession o Puis FINISH - Ouvrir le fichier client.java généré et compléter le code dans testBean() : public void testBean() { try { au.com.tusc.MySession myBean = getHome().create(); //-------------------------------------//This is the place you make your calls. //System.out.println(myBean.callYourMethod()); String request = "I'm tired of 'Hello, world' examples.."; System.out.println("Request from client : " + request); System.out.println("Message from server : " + myBean.learnJ2EE(request) ); } catch (RemoteException e) { e.printStackTrace(); } catch (CreateException e) { e.printStackTrace(); } catch (NamingException e) { e.printStackTrace(); } } - - maintenant, après avoir sauvegardé le client, il faut relancer le serveur (sauf vous ne l’avez pas stoppé, évidemment) : o clic-droit sur le JBOSS 3.2.5 de MyBank > Run Server vous pouvez désormais tester votre client : o Run > Run as...> Java Application vous devriez pouvoir lire ceci dans la console (si tout fonctionne !) : Request from client : I’m tired of ‘Hello, world’ examples.. Message from server : Me too! Voilà ! Vous venez de finir le chapitre 1 !!! J’espère que vous n’avez pas trouvez ça dur, car ce n’est rien comparé aux autres à venir.... NB : le chapitre 2 n’est pas un chapitre de travaux pratique mais un chapitre d’information sur J2EE, et il est intéressant à lire pour éclairer nos lanternes.