TP3 AOS sous Java EE - M2 GIL
EJB 3.2 et JSP
Lina Soualmia
6 octobre 2014
1 Pr´eambule
R´ecup´erez le tutoriel (disponible dans le sous r´epertoire de Glassfish (glassfish/docs/javaee-
tutorial/doc/JavaEETutorial.pdf ou en ligne `a l’adresse : http://docs.oracle.com/javaee/7/
tutorial/doc/javaeetutorial7.pdf) Chapitre 33. Getting Started with Enterprise Beans pp.537
// Chapitre 23. p.459 pour la version 6)
2 Exercice 1
Exemple “Converter” ici adapt´e pour Eclipse. // `a adapter `a votre IDE
2.1 Pr´eparation de l’environnement
Ce premier exercice repose sur deux parties distinctes :
Des Enterprise Java Beans (EJB) composant une application
Une application Web et des JSP faisant oce d’application cliente.
2.1.1 Projet EJB
1. Cr´eez un projet ’EJB Project’ de type 3.2 // ou 3.1 pour la version 6 sous Eclipse que vous
nommerez ’GettingStarted’.
2. V´erifiez que ”GlassFish Server Open Source Edition 4 (Java EE 7)” // ou GlassFish Server
Open Source Edition 3 (Java EE 6) est s´electionn´e comme ”Target Runtime”.
3. Le champ Configuration doit ˆetre `a la valeur Default Configuration for GlassFish Server
Open Source Edition 4 (Java EE 7). //Default Configuration for GlassFish Server Open
Source Edition 3 (Java EE 6)
2.1.2 Dynamic Web project
1. Cr´eez un ”Dynamic Web Project” que vous nommerez ’GettingStartedWeb’.
2. V´erifiez bien que ”GlassFish Server Open Source Edition 4 (Java EE 7)” est s´electionn´e
comme Target Runtime” //GlassFish Server Open Source Edition 3 (Java EE 6)
3. Le Dynamic Web module version doit ˆetre 3.x
4. Le champ Configuration doit ˆetre `a la valeur Default Configuration for GlassFish Server
Open Source Edition 4 (Java EE 7) //Default Configuration for GlassFish Server Open
Source Edition 3 (Java EE 6)
2.1.3 Java project
1. Cr´eez un New” ”Java Project” que vous nommerez GettingStartedStandalone
2. Assurez-vous que le radio bouton du panneau JRE est bien sur ”Use Default JRE”
3. Le projet doit int´egrer une biblioth`eque sp´ecifique aux applications clientes JEE 7 // JEE6
fournie par GlassFish : cliquez avec le bouton droit sur le projet GettingStartedStandalone
4. Choisissez l’item ”Build path” puis Configure build path... ;
1
5. Ajouter dans Libraries” ”Add External JARs...” jar gf-client.jar disponible dans glass-
fish/modules.
2.2 Premier exemple d’EJB 3.2 (Conversion mon´etaire entre dollars et
yens)
Un EJB n´ecessite toujours au moins :
Une interface (appel´ee Business Interface, ou Interface M´etier) qui permettra la communi-
cation entre le serveur et les clients. Cette interface doit d´ecrire les m´ethodes publiques du
bean qui seront invoquables depuis les clients.
Une classe qui codera le bean lui mˆeme. Cette classe implantera l’interface m´etier et sera
annot´ee en fonction du comportement que l’on veut donner au bean.
2.2.1 Interface M´etier
1. Dans le menu contextuel de l’EJB project GettingStarted (clic droit), s´electionnez ”New”
Interface”
2. Donnez comme nom de package com.sun.tutorial.javaee.ejb
3. Nommez l’interface Converter, ´editez-la vide puis ins´erez le code du fichier ’Converter int’
en ligne.
2.2.2 Bean
1. Dans le menu contextuel de l’EJB projet GettingStarted, s´electionnez ”New” Class”
2. donnez comme nom de package com.sun.tutorial.javaee.ejb
3. Nommez la classe ConverterBean et ins´erez le code du fichier ’Converter bean’ en ligne.
(Comme pour l’interface pr´ec´edente, vous trouverez la classe ConverterBean ´egalement dans le
r´epertoire ejbModule” du projet GettingStarted”.)
2.2.3 Client
1. Cr´eez une nouvelle classe ConverterClient dans le package com.sun.tutorial.javaee.ejb
pour le projet GettingStartedStandalone
2. D´efinissez la avec le code contenu dans Converter client en ligne.
Initialisez si besoin l’objet InitialContext avec comme propri´et´es :
org.omg.CORBA.ORBInitialHost=localhost
org.omg.CORBA.ORBInitialPort=3700
2.3 Premi`ere ex´ecution
1. D´eployez le projet ”GettingStarted” sur le serveur
2. Lancez le client (”Run As” Java Application”)
=)L’application se lance et doit acher sur la console le r´esultat de la conversion.
2.4 Connexion `a un autre serveur Java EE
Vous pouvez essayer de vous connecter au serveur d’application d’une autre machine en chan-
geant les valeurs des propri´et´es org.omg.CORBA.ORBInitialHost et org.omg.CORBA.ORBInitialPort
en sp´ecifiant respectivement l’IP ou le DNS et le port d’un autre serveur Java EE.
2.5 Client web
1. A partir du menu contextuel du projet web dynamique GettingStartedWeb cr´eez un fichier
jsp (”New” ”JSP”) converter.jsp.
2. Cette JSP doit ˆetre cr´eee dans le r´epertoire WebContent du projet GettingStartedWeb.
3. Editez-la avec le code inclus dans converter jsp.jsp en ligne.
2
4. Reliez l’interface m´etier Converter `a la JSP en recopiant cette interface dans la partie Java
du projet (`a partir du projet GettingStartedWeb New” ”Interface” )
5. Donnez comme nom de package com.sun.tutorial.javaee.ejb
6. Nommez l’interface Converter
7. Copier le code de l’interface Converter du projet GettingStarted dans l’interface Converter
du projet GettingStartedWeb.
8. Recompilez le tout pour que erreurs dans la JSP disparaissent.
9. D´eployer les pages sur le serveur (”GettingStartedWeb” ”Run As...” ”Run on server...” Glass-
Fish Server Open Source Edition 4 (Java EE 7) //GlassFish Server Open Source Edition 3
(Java EE 6)
10. Acc´edez au client web en entrant l’adresse : http://localhost:8080/GettingStartedWeb/converter.jsp
=)vous pouvez essayer de vous connecter aux serveurs d’autres machines pour v´erifier leur fonc-
tionnement.
3 Exercice 2 : exemple cart (Panier)
Suivez le tutoriel d’Oracle pour d´eployer l’EJB Session “Cart” (pp.541-547) //pp.465-470 V6
(sources : glassfish\docs\javaee-tutorial\examples\ejb)
4 Exercice 3 : web service helloservice
Idem qu’en 3 pp.553-556.
5 pour ceux qui ont fini : Exercice 4 : compte bancaire
Il s’agit de mod´eliser une application de gestion d’un compte bancaire. Il sera possible d’acc´eder
`a distance `a cette application par le biais d’une application cliente. (un module EJB (bean session
avec ´etat), un module web et un client). L’application permettra :
1. de d´eposer de l’argent sur le compte,
2. de retirer de l’argent sur le compte,
3. de donner le solde du compte.
Un compte est repr´esene par la classe Compte (Serializable) qui poss`ede les champs suivants :
id (Long), Prenom (String), Nom (String) et Solde (Float).
5.1 Appli java
5.1.1 Op´erations unitaires
D´eveloppez une application java autonome dans laquelle vous eectuerez des op´erations sur le
compte bancaire :
1. d´epˆot de 1,200 ,
2. retrait de 500 ,
3. d´epˆot de 650 ,
4. achage du solde,
5. retrait de 500 ,
6. achage du solde.
5.1.2 Test de fonctionnalit´es
Dans un second temps construisez une interface cliente (JSP ou servlet) qui permettra de tester
les trois fonctionnalit´es oertes par le serveur ”Compte”.
3
1 / 3 100%