[INF21] TP4 : JEE 6 - EJB (Enterprise Java Beans)
Extrait du La page de Julien Seinturier
http://www.seinturier.fr/spip/spip.php?article53
[INF21] TP4 : JEE 6 - EJB
(Enterprise Java Beans)
- Enseignements - Archives - 2010 / 2011 - USTV - INF21 - Systèmes d'Information sur Internet -
Date de mise en ligne : mardi 11 janvier 2011
Description :
Introduction aux EJB pour Java EE 6
Copyright © La page de Julien Seinturier - Tous droits réservés
Copyright © La page de Julien Seinturier Page 1/11
[INF21] TP4 : JEE 6 - EJB (Enterprise Java Beans)
1. Source
Ce TP va nous faire suivre une partie du tutoriel de Sun sur les Enterprise Beans disponible à l'adresse :
http://download.oracle.com/javaee/6/tutorial/doc/. Une version PDF de cette documentation est disponible depuis le
répertoire où le serveur JEE 6 (glassfish) est installé. Celle-ci se trouve dans le sous-répertoire
glassfish/docs/javaee-tutorial/doc/JavaEETutorial.pdf ou sur le web à l'adresse
http://docs.oracle.com/javaee/6/tutorial/doc/javaeetutorial6.pdf
Nous nous interessons aujourd'hui au chapitre 15 : Getting Started with Enterprise Beans, page 319. Cette section
concerne la mise en place d'un application simple à partir d'Enterprise Beans et de Java Server Pages (JSP).
Afin de bien comprendre les mécanismes mis en places ici, vous devrez avoir au préalable lu le chapitre 20 du
même tutoriel, Enterprise Beans, pages 299-318.
Le tutoriel étant écrit pour des personnes utilisant Netbean, vous trouverez dans les sections ci dessous des
indications pour la mise en place des exemples du tutoriel avec Eclipse.
2. Préparation de l'environnement
Ce TP va reposer sur deux parties distinctes :
Des Enterprise Java Beans (EJB) composant une applications
Une application Web et des JSP faisant office d'application cliente.
Afin de représenter ces 2 parties, nous créons 2 projets dans Eclipse.
2.1. Projet EJB
Créons un projet Eclipse consacré au développement d'EJB. Pour cela :
Ouvrez le menu "File"
Sélectionnez l'item "New"
Sélectionnez "EJB Project" (Si cet item n'est pas directement disponible, choisissez simplement "Project" puis
dans l'arbre des projets cherchez "EJB Poject")
La fenêtre de création d'un nouveau projet EJB s'ouvre alors.
Donnez au projet le nom de GettingStarted ;
vérifiez bien que "GlassFish Server Open Source Edition 3 (Java EE 6)" est sélectionné comme "Target
Runtime" ;
assurez vous que le EJB module est bien 3.1.
Copyright © La page de Julien Seinturier Page 2/11
[INF21] TP4 : JEE 6 - EJB (Enterprise Java Beans)
Le champ Configuration doit être à la valeur Default Configuration for GlassFish Server Open Source
Edition 3 (Java EE 6)
Cliquer sur le bouton "Finish" afin de créer le projet.
2.2. Dynamic Web project
Créons maintenant un projet Eclipse consacré au développement d'applications web. Pour cela :
Ouvrez le menu "File"
Sélectionnez l'item "New"
Sélectionnez "Dynamic Web Project" (Si cet item n'est pas directement disponible, choisissez simplement "
Project" puis dans l'arbre des projets cherchez "Dynamic Web Poject")
La fenêtre de création d'un nouveau projet Dynamic Web s'ouvre alors.
Donnez au projet le nom de GettingStartedWeb ;
vérifiez bien que "GlassFish Server Open Source Edition 3 (Java EE 6)" est sélectionné comme "Target
Runtime" ;
assurez vous que le Dynamic Web module version est bien 3.0.
Le champ Configuration doit être à la valeur Default Configuration for GlassFish Server Open Source
Edition 3 (Java EE 6)
Cliquer sur le bouton "Finish" afin de créer le projet.
2.3 Java project
Créons pour finir un projet Java standard dans lequel nous allons stocker les applications java indépendantes
(comme les clients applicatifs). Pour cela :
Ouvrez le menu "File"
Sélectionnez l'item "New"
Sélectionnez "Java Project" (Si cet item n'est pas directement disponible, choisissez simplement "Project" puis
dans l'arbre des projets cherchez "Java Poject")
La fenêtre de création d'un nouveau projet Java s'ouvre alors.
Donnez au projet le nom de GettingStartedStandalone ;
Assurez-vous que le radio bouton du panneau JRE est bien sur "Use Default JRE"
Cliquer sur le bouton "Finish" afin de créer le projet.
Les applications qui se trouvent dans ce projet doivent pouvoir dialoguer avec un serveur JEE 6 GlassFish. Pour
cela, le projet doit intégrer une bibliothèque spécifique aux applications clientes JEE 6 fournie par GlassFish.
Copyright © La page de Julien Seinturier Page 3/11
[INF21] TP4 : JEE 6 - EJB (Enterprise Java Beans)
L'intégration de cette bibliothèque est faite de la manière suivante :
cliquer avec le bouton droit sur le projet GettingStartedStandalone ;
choisir l'item "Build path" ;
cliquer sur le sous item Configure build path... ;
dans la nouvelle fenêtre, activer l'onglet "Libraries"
cliquer sur le bouton "Add External JARs..."
dans la nouvelle fenêtre, aller chercher le jar gf-client.jar qui se trouve dans le répertoire glassfish/modules de
l'installation de glassfish et cliquer sur le bouton "Ouvrir" ;
cliquer sur le bouton "Ok"
3. Premier exemple d'EJB
Maintenant que nos deux projets sont prêts, nous allons créer un petit EJB. Cette section résume les pages 319-324
du tutoriel.
Un EJB nécessite toujours au moins :
Une interface (appelée Business Interface, ou Interface Métier) qui permettra la communication entre le
serveur et les clients. Cette interface doit décrire les méthodes publiques du bean qui seront invoquables depuis
les clients.
Une classe qui codera le bean lui même. Cette classe implantera l'interface métier et sera annotée en fonction
du comportement que l'on veut donner au bean.
3.1. Interface Métier
Cet exemple nous permet de représenter un bean utilisé pour faire de la conversion monétaire entre des dollards et
des yens.
Afin de créer cette interface, nous n'utiliserons pas les assistants d'eclipse permettant de générer directement
l'interface métier et le bean associé. Nous utiliserons la méthode classique :
1. Faire un click droit sur l'EJB projet GettingStarted créé précédemment.
2. Dans le menu contextuel, sélectionnez le sous-menu "New" ;
3. dans la liste des items, choisissez "Interface" ;
4. donnez comme nom de package com.sun.tutorial.javaee.ejb ;
5. nommez l'interface Converter ;
6. cliquez sur le bouton "Finish".
L'interface métier est maintenant crée. Vous devez la retrouver dans le "Project explorer", à l'intérieur du dossier "
ejbModule" et dans le package com.sun.tutorial.javaee.ejb du projet "GettingStarted"
Editez maintenant l'interface vide Converter et donnez lui le code suivant :
package com.sun.tutorial.javaee.ejb;
Copyright © La page de Julien Seinturier Page 4/11
[INF21] TP4 : JEE 6 - EJB (Enterprise Java Beans)
import java.math.BigDecimal;
import javax.ejb.Remote;
@Remote
public interface Converter {
public BigDecimal dollarToYen(BigDecimal dollars);
public BigDecimal yenToEuro(BigDecimal yen);
}
L'annotation :
@Remote
Indique que les beans qui implanterons cette interface pourront être accessibles depuis des clients s'exécutant sur
d'autres JVM, et donc également sur d'autre machines.
Si nous voulions que les beans implantant cette interface soit accessibles localement (c'est à dire par des clients
exécutés sur le même serveur) nous aurions du utiliser l'annotation :
@Local
3.2. Bean
L'interface métier définie, nous pouvons coder le bean qui sera charger de l'exécution des méthodes. Pour cela,
nous utilisons encore la création simple de classe depuis l'interface d'eclipse :
1. Faire un click droit sur l'EJB projet GettingStarted créé précédemment.
2. Dans le menu contextuel, sélectionnez le sous-menu "New" ;
3. dans la liste des items, choisissez "Class" ;
4. donnez comme nom de package com.sun.tutorial.javaee.ejb ;
5. nommez la classe ConverterBean ;
6. ajoutez à la liste des interfaces Converter ;
7. cliquez sur le bouton "Finish".
Comme pour l'interface précédente, vous trouverez la classe ConverterBean dans le répertoire "ejbModule" du
projet "GettingStarted".
Editez cette nouvelle classe et remplacer son code par :
package com.sun.tutorial.javaee.ejb;
import java.math.BigDecimal;
import javax.ejb.Stateless;
@Stateless
public class ConverterBean implements Converter {
private BigDecimal yenRate = new BigDecimal("115.3100");
private BigDecimal euroRate = new BigDecimal("0.0071");
Copyright © La page de Julien Seinturier Page 5/11
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !