Une brève explication sur l’architecture de Glassfish V3

En cherchant des informations sur OSGi, je me suis rappelé que Glassfish V3 utilisait OSGi. Grâce à ma lecture de cette présentation d’OSGi, je vous livre ma vision de l’architecture de Glassfish V3.

Le cœur du serveur est constitué d’un noyau léger et extensible, le hundred-kilobytes kernel (HK2). Ce nom est évidemment lié à la taille très réduite du noyau : 100 ko (fichier modules/hk2-core.jar d’une installation de GlassFish). HK2 reprend 2 idées fortes d’OSGI :

  • un sous-système de modules qui accueille différents composants, comme le préconise OSGi,
  • un modèle de composant qui correspond à la notion de service d’OSGi.

Bien évidemment, les différents containers de Glassfish (container Web, container d’EJB, EclipsLink pour JPA, Jersey pour JAX-RS, Metro pour JAX-WS, …) sont implémentés sous la forme de modules.

On peut développer ses propres modules et les installer dans HK2. Il existe même un plugin Maven pour développer et déployer des modules HK2.

On peut aussi composer son serveur Glassfish à la carte, en ajoutant ou enlevant des modules. En général, cela permet de réduire la taille de Glassfish pour rapport aux distributions classiques. Certains modules sont optionnels comme Groovy on Rails, JRuby on Rails et Jython/Django.


Vous pouvez suivre les réponses à cet article grâce au fil RSS 2.0.
Vous pouvez laisser un commentaire, ou créer un trackback depuis votre propre site.
Pour la tranquilité de tous, les commentaires sur ce blog sont modérés.

Pas de commentaire pour l'instant, soyez le premier à commenter cet article


Laisser un commentaire. Pour la tranquilité de tous, les commentaires sur ce blog sont modérés.

XHTML: Vous pouvez utiliser ces balises HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>