I. Introduction▲
Jonas est un serveur d'application J2EE. Il propose en outre la possibilité de déployer des solutions EJB et WEB avec une grande facilité. Complètement gratuit et Open Source, Jonas rattrape petit à petit son retard face aux serveurs J2EE commerciaux. Grâce à une organisation robuste et une facilité d'utilisation de plus en plus accrues, il permet à des petites et moyennes entreprises de développer des architectures complexes dans un environnement entièrement J2EE.
Mais ne vous y trompez pas, beaucoup de grandes entreprises font aussi confiance à ce produit. Il faut dire que c'est grâce à l'apport et aux soutiens des organismes tels que Bull, France Telecom et l'INRIA que ce produit a obtenu ses galons de serveur d'application. Même si, par rapport à ses homologues, Jonas n'est pas certifié par Sun comme un serveur J2EE (il faut dire que pour un organisme open source, une telle certification demande beaucoup d'argent), il propose toutes les fonctionnalités que peut apporter un serveur J2EE classique.
Enfin, il bénéficie d'une communauté soudée et de plus en plus nombreuse permettant de trouver rapidement les solutions aux problèmes rencontrés dans les différents forums et mailing-list.
Bien entendu, certains me diront qu'en tant que débutant, ce n'est pas aussi évident d'amorcer une approche dans le domaine des serveurs J2EE. Alors, voici un tutoriel très simple qui vous montre pas à pas comment installer et configurer votre serveur Jonas, comment gérer et administrer ce serveur et comment déployer son premier EJB sur cette plate-forme. En regardant la suite du document, vous réaliserez vite que Jonas est à la portée de n'importe quel développeur.
II. Prérequis▲
Tout d'abord, pour ce faire, il nous faut les prérequis suivants :
SDK J2SE que l'on récupère sur le site officiel de Sun1.4.1. J'ai utilisé la version ;
Ant, un Make multiplateforme basé sur Java que l'on récupère sur le site officiel d'Apache. J'ai utilisé la version 1.5.2 ;
BCEL, une librairie nécessaire à Ant pour compiler que l'on récupère sur le site officiel du projet Jakarta d'Apache. J'ai utilisé la version 5.1 ;
Jonas et Tomcat, les deux sont liés dans un seul package que l'on récupère sur le site officiel d'ObjectWeb. J'ai utilisé la version 3.2 pour Jonas et la version 4.1.24 pour Tomcat.
III. Installation▲
Une fois, que tout a été téléchargé, il suffit de dézipper SDK J2SE, Ant et le package Jonas/Tomcat. Je dézippe ces packages dans le répertoire C:\Appli. Lorsque ces packages sont dézippés, vous avez alors dans votre répertoire (C:\Appli) des répertoires tels que :
apache-ant-1
.5
.2
j2sdk1.4
.1_02
jonas-3
-2
En général, on change le nom de ces répertoires, car sous certaines émulations de DOS, les noms longs des répertoires peuvent poser des problèmes, surtout dans les scripts. Ainsi, mieux vaut ne pas prendre de risques et passer des heures à chercher une erreur aussi bête que celle-ci. Nous obtenons donc les répertoires :
C:\Appli\Ant
C:\Appli\Jsdk
C:\Appli\Jonas
Ensuite, il faut déplacer le package de BCEL dans le répertoire des librairies de Ant (C:\Appli\Ant\lib) afin que ce package soit pris en compte par Ant.
Attention, ce n'est pas le Zip qu'il faut mettre dans le répertoire des librairies, mais le Jar contenu à l'intérieur.
IV. Configuration▲
Enfin, il nous faut déclarer un script (setenv) qui déclare les variables d'environnement nécessaires :
@echo off
set APPLI_HOME
=
C:\Appli
set JAVA_HOME
=
%APPLI_HOME%\Jsdk
set JONAS_ROOT
=
%APPLI_HOME%\Jonas
set JONAS_BASE
=
%JONAS_ROOT%
set CATALINA_HOME
=
%JONAS_ROOT%
set CATALINA_BASE
=
%JONAS_ROOT%
set ANT_HOME
=
%APPLI_HOME%\Ant
set PATH
=
%JAVA_HOME%\bin;%JONAS_ROOT%\bin\nt;%ANT_HOME%\bin;%PATH%
IV-A. Pour les utilisateurs de Windows 98▲
Si vous êtes possesseur d'un Windows 98 alors des petites modifications s'imposent avant de lancer le script.
Tout d'abord, il vous faut télécharger le Zip suivant, ici.
Ce Zip contient les scripts de lancement des applications de Jonas 3.2 (scripts modifiés par moi-même), car les scripts fournis par Jonas ne sont pas valides dans l'émulation du DOS de Windows 98.
Après avoir téléchargé ce fichier, décompressez-le dans le répertoire :
C:\Appli\Jonas\bin
Le répertoire « win98 » doit apparaître dans ce dernier. Bien entendu, vous devez modifier la dernière ligne de votre script (setenv.bat) :
set PATH
=
%JAVA_HOME%\bin;%JONAS_ROOT%\bin\win98;%ANT_HOME%\bin;%PATH%
De plus, lors du lancement du script dans la fenêtre DOS, le message « mémoire insuffisante » risque d'apparaître. Pour contourner cette erreur, il existe une méthode. Créez sur votre bureau un nouveau raccourci et lorsqu'il vous demande la ligne de commande, tapez :
C:\Windows\Command.com
Une fois le raccourci créé, faites un clic droit sur ce raccourci puis allez dans « Propriétés ». Des onglets vont apparaître, choisissez l'onglet « Mémoire ». Dans le bloc de la mémoire conventionnelle, vous avez l'environnement initial qui est en « auto ». Modifiez cette valeur en allouant par exemple 4096. Ainsi, votre mémoire destinée à l'environnement initial aura une taille suffisamment importante pour que le message d'erreur « mémoire insuffisante » n'apparaisse plus. Donc à chaque fois que vous voudrez lancer une nouvelle fenêtre DOS, vous cliquerez sur ce raccourci qui initialise correctement votre mémoire d'environnement. Enfin il est aussi possible de changer la mémoire d'environnement sous DOS grâce à la commande :
Command.com /E:4096
Puis vous n'avez plus qu'à lancer le script.
Attention, à chaque fois que vous ouvrez une nouvelle console, vous devrez lancer ce script pour que les variables soient initialisées. Mais vous pouvez aussi lancer ce script au démarrage de votre ordinateur afin que ces variables soient toujours prises en compte.
V. Vérification▲
Lorsque vous avez exécuté le script, vérifiez qu'il a bien été pris en compte. Pour cela, faites :
echo %APPLI_HOME%
Cela devrait vous afficher : C:\Appli. Si ce n'est pas le cas, cela veut dire que le script n'a pas été correctement exécuté…
Maintenant, nous allons vérifier le bon fonctionnement du JSDK et de Ant. Pour cela, il suffit de lancer les commandes :
java -version
javac -help
ant -version
Si aucune exception ou erreur n'apparaît, tout va bien. Pour Jonas et Tomcat, il faut aller dans le répertoire de ce dernier (C:\Appli\Jonas), puis lancer la commande :
ant
Cette commande détecte le fichier build.xml puis s'occupe de créer les packages adéquats au bon fonctionnement.
VI. Lancement de Jonas▲
Il vous suffit finalement de lancer la commande :
jonas start
Vous voyez le serveur démarrer les services, les uns après les autres et parmi ces services, vous aurez l'occasion de voir Tomcat démarrer. En effet, Tomcat est totalement intégré dans Jonas. Pour s'en rendre compte, il suffit de faire un « dir » dans le répertoire de Jonas. Et vous voyez le répertoire « conf » où se trouvent les fameux fichiers server.xml et web.xml. Vous voyez le répertoire « webapps » où se trouvent les applications Web (.war). De plus, vous voyez le répertoire « work » contenant l'activité dynamique des applications Web.
Si ce répertoire n'a pas été créé lors du lancement de Jonas, cela signifie sûrement que Jonas n'a pas eu les droits nécessaires pour le créer.
Enfin le répertoire « logs » contient les traces et log de Jonas et Tomcat. Ainsi, ces fichiers sont très utiles pour détecter et déboguer un problème.
Donc, comme vous pouvez le voir, tous les répertoires utiles à Tomcat sont présents. C'est d'ailleurs pour cela que, lorsqu'on a défini les variables d'environnement de Catalina et par conséquent de Tomcat, nous avons mis le répertoire de Jonas comme répertoire racine.
VII. Administration par interface Web▲
Les serveurs Jonas et Tomcat sont bien lancés, vous êtes en face de votre machine de guerre, mais à part des affichages textuels, vous n'avez aucune assurance que tout fonctionne. Ne vous inquiétez pas, nous allons remédier à cela.
Beaucoup d'entre vous aiment les affichages Web tels que Webmin.
Si c'est le cas, la suite va vous émoustiller…
Démarrez votre navigateur préféré, puis tapez dans la barre d'URL : http://127.0.0.1:8080/jadmin.
Une fois l'URL validée, un login et un mot de passe devraient vous être demandés ; comme login : jonas et idem pour le mot de passe. Après cette authentification va apparaître une interface Web qui vous permet de configurer, administrer et gérer votre serveur Jonas.
Voici un petit aperçu de cette interface Web :
Bien entendu, il existe aussi une interface web pour configurer, administrer et gérer Tomcat. Démarrez votre navigateur préféré, puis tapez dans la barre d'URL : http://127.0.0.1:8080/tomcat-admin.
Une fois l'URL validé, un login et un mot de passe devraient vous être demandés ; donnez comme login : tomcat et idem pour le mot de passe.
Voici un petit aperçu de cette interface Web :
VIII. Déploiement et exécution d'un EJB▲
Bien, maintenant que vous avez eu l'occasion de bien jouer avec les interfaces graphiques et que vous avez vu les possibilités de gestion qu'elles offraient, nous allons tester notre premier EJB…
Pour cela, nous allons utiliser un exemple fourni par Jonas sur les Session Bean, car les exemples sur les Entity Bean dépendent des bases de données présentes sur votre machine, donc à voir au cas par cas.
Pour cela, allez dans le répertoire « ejbjars » de votre répertoire Jonas (C:\Appli\Jonas).
Puis tapez la commande :
jonas admin -a sb.jar
Normalement un message de ce type doit apparaître pour confirmer l'ajout du module :
JContainer.addBean : Op available
Enfin, il ne vous reste plus qu'à lancer le client grâce à la commande :
jclient sb.ClientOp
Et voilà ce que vous devez obtenir à partir de cette commande :
Create a bean
Start a first transaction
First request on the new bean
Second request on the bean
Commit the transaction
Start a second transaction
Rollback the transaction
Request outside any transaction
ClientOp OK. Exiting.
Si c'est le cas : Bravo !!! Vous venez de déployer et d'exécuter votre premier EJB sur le serveur JONAS
(je verse une larme d'émotion, la première fois c'est toujours un moment important).
Maintenant il ne vous reste plus qu'à créer vos propres EJB…
IX. Note et remerciement du gabarisateur▲
Cet article a été mis au gabarit de developpez.com.
Le gabarisateur remercie ced pour sa correction orthographique.