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