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 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 OpenSource,
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-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 tutorial 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é de n'importe quel développeur.
1. 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
Sun.
J'ai utilisé la version
1.4.1
Ant, un Make multi-plateforme 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
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'oeil, 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 de version 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 bugs à corriger.
Ensuite, il faut déplacer le package de BCEL dans le répertoire des
librairies 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 librairies mais le Jar contenu à l'intérieur.
3. Configuration
Enfin, il nous faut déclarer un script (setenv) qui déclare les variables d'environnement nécessaires :
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
4. Vérification
Lorsque vous avez exécuté le script, vérifier 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 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.
5. 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" ou se trouve les fameux fichiers
server.xml et web.xml
Vous voyez le répertoire "webapps" ou se trouve les applications
Web (.war)
De plus, 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êter le serveur par la commande :
jonas stop
Modifier les droits avec chmod, chown ou chgrp puis relancer 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ébuguer 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.
6. 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 telle 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é, un login et un mot de passe devraient vous être demandé
donner 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 devrait vous être
demandé donner comme login : tomcat et idem pour le mot de passe.
Voici un petit aperçu de cette interface Web :
7. Déploiement et execution 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 fournit 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 ...
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de
l'autorisation de l'auteur.
Responsables bénévoles de la rubrique Java : Eric Siber et Baptiste Wicht - Contacter par EMail :