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 Full 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 au soutien des organismes tels que Bull, France Télécom 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 trop 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-lists.
Bien entendu, certains me diront qu'en tant que débutant, ce n'est pas si é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 ainsi que 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 :
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 bibliothèque 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 /usr/local/.
Lorsque ces packages sont dézippés, vous avez alors dans votre répertoire /usr/local/ des répertoires tels que :
apache-ant-1
.5
.2
j2sdk1.4
.1_02
jonas-3
-2
En général, on ne change pas le nom de ces répertoires, car du premier coup d'œil, il nous indique la version de chacun des outils. De plus, on peut ainsi mettre dans notre répertoire (/usr/local/) plusieurs versions différentes d'un même produit.
Donc, pour désigner les outils courants que l'on utilise, on crée des liens symboliques :
ln -s apache-ant-1
.5
.2
Ant
ln -s j2sdk1.4
.1_02 Jsdk
ln -s jonas-3
-2
Jonas
Ainsi, on peut switcher facilement entre les versions de tels ou tels outils. Très pratique chez un client, pour changer de version ou pour remettre la version d'origine, car l'apport de la nouvelle version apporte des bogues à corriger.
Ensuite, il faut déplacer le package de BCEL dans le répertoire des bibliothèques de Ant (/usr/local/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 bibliothèques, 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 :
#!/bin/sh
export APPLI_HOME
=
/usr/local
export JAVA_HOME
=
$APPLI_HOME
/Jsdk
export JONAS_ROOT
=
$APPLI_HOME
/Jonas
export JONAS_BASE
=
$JONAS_ROOT
export CATALINA_HOME
=
$JONAS_ROOT
export CATALINA_BASE
=
$JONAS_ROOT
export ANT_HOME
=
$APPLI_HOME
/Ant
export PATH
=
$JAVA_HOME
/bin:$JONAS_ROOT
/bin/unix:$ANT_HOME
/bin:$PATH
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.
On peut se servir de cette commande pour exécuter le script : source setenv.
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 : /usr/local. 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 (/usr/local/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 « ls » 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). On verra également 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, car vous n'étiez pas Root au moment de l'installation ou que le répertoire du lien vers Jonas (/usr/local/Jonas) ne possède pas les bons droits.
Arrêtez le serveur par la commande :
jonas stop
Modifiez les droits avec chmod, chown ou chgrp puis relancez le serveur :
jonas start
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. Donnez 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ée, 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 (/usr/local/Jonas).
Puis tapez la commande :
jonas admin -a sb.jar
Pour vérifier, utilisez cette syntaxe :
jonas admin -l
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 Philippe DUVAL pour sa correction orthographique.