![]() |
|||||
Geronimo, le nouveau serveur J2EE 100% Open Source de la fondation Apache |
|||||
Depuis quelques mois, et depuis quelques jours pour la compatibilité J2EE 1.4, le paysage des serveurs d’application sur plate forme J2EE, s’est enrichi du serveur d’application sous licence libre, Apache Geronimo. Rappelons qu’il existe déjà deux serveurs d’application sous licence LGPL (voir détail des types de licences sur notre site) à savoir JBoss (www.jboss.org) très populaire au niveau de la communauté Open Source, et Jonas (http://jonas.objectweb.org/), tous les deux ayant déjà passé les tests de certification J2EE 1.4 (J2EE Test Compatibility Kit).Rappelons que ces serveurs permettent de bâtir des architectures distribuées et robustes sur le WEB, basées sur le langage Java, et qu’en terme de part de marché JBoss arrive largement en tête des serveurs d’application sous technologie « libre ». Alors pourquoi un serveur d’application J2EE supplémentaire ? Selon Apache, Geronimo devrait alors se distinguer des serveurs JBoss, BEA (Weblogic) ou IBM (WebSphere), par le poids plume de son noyau, plus facile à configurer et tuner, ainsi que par son modèle de licence de type Apache BSD (Berkeley Software Distribution), plus attractif pour les sociétés que les licences GPL et qui permet l'intégration du produit dans des offres propriétaires. Au passage, Apache est lui-même sous licence BSD, ce qui permet à bon nombre d'éditeurs de l'incorporer dans leurs produits pour le meilleur des deux mondes. Enfin, et pour bâtir ce nouveau serveur J2EE, les développeurs de la fondation Apache (http://www.apache.org/) ne sont pas partie de zéro, mais ce sont appuyés sur un certain nombre de modules ou projets déjà « éprouvés » et disponibles sous licence Apache ou BSD, et rassemblés en partie par le biais du référentiel de projets libres Codehaus (http://transql.codehaus.org). Ces modules reposent aussi s ur des standards technologiques comme JMX (Java Management Extensio) pour l’instrumentation et le contrôle des ressources J2EE, EJB avec OpenEJB, des services de conteneur Servlets/JSP comme Jetty et Tomcat, des services de middleware de messages (JMS) avec ActiveMQ, des services de gestion du pooling de données (TranQL), de gestion de base de donnée avec Derby et la couche de support au services Web, Axis… En bref, un « concentré » de belles références à des projets Open Source qui sont devenus des incontournables et des standards de l’industrie Java. Soulignons au passage, et c’est important, que les équipes de Geronimo ont bénéficiés de l’expérience acquise par le consortium ObjectWeb (http://www.objectweb.org/) un projet financé initialement par des groupes de recherche français l’INRIA, BULL et France Telecom, en particulier pour la partie spécifique lié à la gestion des logs et à la journalisation (projet HOWL) et pour la gestion transactionnelle, partie critique des serveurs d’application (projet JOTM ou Java Open Transaction Manager). L’architecture du serveur d’application Apache Geronimo Geronimo est un serveur J2EE compatible, il peut donc déployer et exécuter vos applications Web et d’entreprise sans aucun problème. Vous pouvez utiliser les composants JSPs 2.0 et Servlets 2.4 et EJBs 2.1, plus d’autres frameworks standards comme Struts et JSF, pour construire votre application. Votre application peut ensuite accéder à des ressources externes à savoir par exemple des bases de données relationnelles à travers des connecteurs JDBC, à des annuaires via l’interface JNDI (Java Naming and Directory Interface), à des MOM (Middleware Orienté Message) via l’interface JMS, … Le cœur de l’architecture du serveur Geronimo est le framework GBean, qui permet de rendre le conteneur « manageable» à travers JMX (Java Management Extension). En effet si chaque instance d’objet du conteneur est contrôlable, alors le système peut facilement être contrôlé, géré par le biais d’outils externes, et en final « scalable » c'est-à-dire performant en condition de charge. Les composants GBeans Geronimo qui sont l’équivalent des composants MBeans JMX (un composant MBean est une application ou une ressource Java qui est instrumentable par le biais du standard JMX) permettent de gérer plus finement le cycle de vie des services du conteneur J2EE par le biais de l’interface GBeanLifecycle (voir en particulier, et pour plus de détails sur le modèle de gestion des ressources J2EE supporté par Geronimo, la JSR, Java Specification Request 77 et 78). La figure 1 qui suit décrit les différents composants qui constituent l’architecture d’exécution du serveur J2EE Geronimo et les dépendances entre ces composants et les services avec le noyau : ![]() Comme on peut le voir sur cette figure, la barre en trait continue indique que le noyau démarre et contrôle l’ensemble des composants, un trait discontinue indique que les composants de manière individuel communique avec chacun des autres composants une fois qu’ils s’exécutent. Le point important à noter ici, est que le noyau Geronimo est responsable du cycle de vie des composants du système du serveur par le biais justement des composants « managables » GBeans En conclusion Le serveur Geronimo à le potentiel pour devenir un des serveurs les plus attractifs pour le développement d’applications J2EE performantes. Son architecture modulaire, sa richesse et son type de licence libre, mais aussi sa récente certification J2EE 1.4 sont là pour le prouver. L’article prochain, sera consacré à la mise en œuvre du serveur et au déploiement d’une application exemple. Karim DJAAFAR
|
|||||
|