Master 1 MIAGE soir - TP EJB 3
Dans ce tp, vous allez réutiliser les concepts
présentés pour mettre en oeuvre des objets
transactionnels distribués (EJB 3.0) et les services
associés.
Aide : voici une référence sur un tutoriel
en français précisant comment réaliser,
instancier, référencer et utiliser des EJB 3.0 dans un
serveur JBoss depuis Eclipse.
EJB 3.0 : prise en main
Pour simplifier, le code d'un EJB session sans état vous est donné. Vous pouvez le récupérer ici.
Le fichier XML dans lequel sont stockées les données est là. N'oubliez
pas de l'inclure dans votre projet, pour qu'Eclipse l'ajoute au jar
lorsqu'il déploiera le fichier dans JBoss.
Vous allez créer un projet de type "EJB Project", dans lequel
vous importerez ces sources. Attention à bien spécifier
que votre classe AnnuaireBean correspond à un EJB.
Compilez l'ensemble de votre projet
et générez le fichier JAR correspondant à votre application.
Serveur d'applications JBoss : premiers contacts
Normalement, le serveur d'applications JBoss est installé sur
les machines de TP. Testez l'assertion précédente. Trois
configurations sont disponibles à l'installation : "all",
"default" et "minimal" ; la première nécessitant beaucoup
de ressources et la troisième ne possédant pas
d'interface Web, vous utiliserez la seconde.
Placez le fichier JAR de votre projet EJB dans le répertoire "deploy" de la configuration par défaut.
Démarrez, donc, le serveur en configuration "default". Pour
cela, ouvrez une fenêtre DOS, placez-vous dans le
répertoire bin de l'installation et utilisez la commande run -c
[config] ou "config est la configuration que vous voulez
démarrer. Si tout s'est bien passé, vous devez voir,
parmi les messages de démarrage du serveur, une ligne indiquant
que votre EJB (en fonction du nom du projet) a bien été
déployé.
Une fois cela fait, et ouvrez son interface Web (port par défaut
: 8080). Explorez-en les différentes fonctionnalités
(cela risque d'être vite fait, aucune interface de configuration
n'existant pour JBoss à ce jour).
Remarque : la configuration de JBoss utilise JMX (Java Management
Framework). Pour accéder aux informations concernant le
déploiement de votre EJB, il faut aller dans "System", "JMX
MBeans", puis dans le cadre de droite, trouver celui-ci dans
jboss.j2ee. Repérez le nom JNDI permettant d'y accéder.
Programmation des clients
À partir du code fourni au premier TP, créez une
application cliente qui interroge le bean et renvoie les
résultats dans la console. Pour vous aider, voici le code de l'interface d'une application cliente qui pourrait interroger l'EJB en question.
Pour contacter le serveur JNDI, n'oubliez pas de créer un
fichier "jndi.properties" dans le répertoire de votre projet (i.e. : dans le dossier "src" de l'arborescence présentée par Eclipse).
Utilisation des EJB entités
Dans le code qui vous est donné, il existe un objet SiteXMLDAO,
qui vous permet de stocker l'annuaire de sites Web dans un fichier XML.
Analysez l'interface de cet objet, et aidez-vous du tutoriel pour
réutiliser cette interface et créer un EJB entité
qui s'appuie sur l'API JPA (Java Persistence API). L'EJB session
AnnuaireBean sera alors le client de cet EJB entité.