N'étant pas un spécialiste de JBoss, cet article mériterait certainement
des améliorations. Si vous avez noté des erreurs, des points à approfondir ou plus simplement, si
vous souhaitez participer à la rédaction de cet article :
Contactez moi
Remerciements
Je tiens à remercier
Alacazam
pour avoir traqué les erreurs de cet article.
1. Présentation
JBoss est le serveur J2EE open source le plus populaire. Avec plus de 4
millions de téléchargements, c'est l'un des plus gros succès de SourceForge.net.
Quand on parle de JBoss, il faut bien différencier JBoss, le projet
open source soutenu par environ 100 développeurs et JBoss Group qui est
une entreprise qui offre des services de grande qualité autour du
projet JBoss, comme la documentation, formation, support...
De nombreuses personnes de cette entreprise travaillent sur le projet
open source. Marc Fleury (né à Paris) est le très médiatique initiateur de ce projet,
l'équipe est également composé de Gavin King, le fondateur du projet Hibernate.
JBoss est un serveur très léger implémentant l'ensemble des spécifications J2EE.
2. Description
2.1. Certification J2EE
JBoss n'est pas certifié J2EE. Ils sont en cours de certification pour
obtenir la licence J2EE 1.4. JBoss Group teste actuellement (Avril 2004)
son produit avec la suite de tests de compatibilité de Sun. Pour plus
d'information, vous pouvez lire le
communiqué de presse de JBoss Group
2.2. Plates-formes supportées
JBoss peut fonctionner sur Unix (posix) et Windows, mais son développement
100% Java le rend complètement portable, il doit donc fonctionner sur
toutes les plates-formes suivantes :
On ne peut pas vraiment parler d'installation, la procédure est
simplifiée au maximum : il faut extraire l'archive (.zip ou tar.gz)
dans le répertoire de destination.
Un JDK doit être accessible sur la machine, la variable JAVA_HOME positionnée.
L'installation inclut toutes les briques nécessaires : Tomcat 4.1.29,
le moteur EJB, le moteur CMP, JCA, IIOP, le Clustering, JTA, JMX...
2.5. Administration
Le lancement de JBoss se fait par la commande run de <jboss>/bin.
Le produit se lance très rapidement : 14 sencondes ! sur ma configuration
(26 secondes en chargeant tous les services).
L'arrêt se fait par un simple CTRL + C, JBoss s'arrête encore plus vite
qu'il est venu.
Le déploiement est lui aussi très simple et très réussi, il nécessite
juste la copie de l'archive dans le répertoire "deploy", JBoss charge
automatiquement le module J2EE à chaud. Cette technique fonctionne
également pour le redéploiement et la suppression d'un module.
Une console web http://http://localhost:8080/web-console
permet de suivre à distance les informations sur les serveurs : statistiques,
modules déployés, services démarrés... Les modules JMX peuvent être
pilotés par la console.
2.6. Configuration matérielle
JBoss n'est pas exigeant sur la configuration machine, les recommandations
minimales :
Eclipse / JBoss-IDE : JBoss IDE est un plugin Eclpise
supporté et recommandé par JBoss.org
Eclipse / Lomboz : Un autre plugin pour Eclipse plus généraliste
Ant / XDoclet : Beaucoup de développeurs JBoss utilisent Ant / XDoclet conjointement avec vi, notepad, emacs...
JBuilder : JBuilder offre une intégration complète de JBoss, y compris les aspects spécifiques à JBoss (les .sar ...)
2.8. Popularité
La popularité de JBoss est très importante, bien que récent par rapport
aux autres produits, JBoss a su rapidement rattraper son retard de popularité.
JBoss doit en grande partie sa popularité à l'engouement des solutions
libres et de son très médiatique président, Marc Fleury qui est souvent
au devant de la scène.
2.9. Documentation
Sauf le guide de démarrage, les documentations de JBoss écrites par
JBoss Group sont payantes, c'est en parti grâce à ces revenus que le
produit peut rester gratuit. 99$ pour une personne ou 500$ pour un site.
2.10. Particularités
JBoss a de nombreuses particularités la première concerne sont architecture.
JBoss possède une architecture de type micro-kernel, tout est développé
sous forme de module JMX.
Les différents modules couvrent la norme J2EE : JBossMQ gère les messages
Java (Java Messaging System), JBoss MX la messagerie électronique,
JBoss TX les transactions JTA/JTS, JBoss SX la sécurité (basée sur JAAS),
JBoss CX la connectivité JCA et JBossCMP la persistance CMP.
Chacun de ces modules peut être remplacé par un module au format JMX.
Trois types de configuration sont installés en standard : minumum, default et all.
Une autre particularité intéressante concerne le moteur CMP, il est
bâti sur le populaire outil Hibernate. Hibernate a une très bonne
réputation sur les persistances objets.
L'équipe de développement de JBoss a été très inspirée par l'AOP
(Programmation par aspect) . L'AOP leur a servi à implémenter de manière
transparente les services offerts par J2EE. Par exemple, la sécurité
est prise en charge par le SecurityInterceptor. Il en est de même pour
d'autres facettes : Persistance, Transactionnel et Clustering sont tous
implémentés de cette façon.
Lors d'un chargement d'un EJB, JBoss va instrumenter la classe en
interceptant son bytecode et en le modifiant de manière à modifier le
comportement de la classe selon les besoins définis par le développeur.
Un des gros avantages de cette technique : nous n'avons pas à générer
les stubs/skeleton lors des déploiements, donc autant de temps de gagné.
JBoss permet finalement de faire des Webservices et du clustering
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.