JUG Paris 13/01/2009 : Glassfish v3

Le 13 janvier a été une soirée spéciale pour le JUG de Paris puisqu'il s'agissait d'une soirée spéciale JavaEE 6 !
Antonio Goncalves nous a présenté brillamment les évolutions attendues dans cette version 6 ! Il était donc tout naturel qu'AlexisMP nous parle un peu de Glassfish 🙂

Le 13 janvier a été une soirée spéciale pour le JUG de Paris puisqu'il s'agissait d'une soirée spéciale JavaEE 6 !
Antonio Goncalves nous a présenté brillamment les évolutions attendues dans cette version 6 ! Il était donc tout naturel qu'AlexisMP nous parle un peu de Glassfish 🙂

Glassfish - Kezako ?

Glassfish est un serveur d'application JavaEE. Il fut le premier à être certifié JavaEE 5. Pour ceux qui ont connu Sun Java System Application Server (SJSAS), Glassfish pourrait leur sembler familier puisque la console Web d'administration est directement issue de SJSAS PE - pour Platform Edition - qui date de 2004.

En juin 2005, SJSAS devient Glassfish - le fameux projet Open Source - qui petit à petit va faire entendre parler de lui pour plusieurs raisons :

  • Un développement soutenu puisqu'à peine un an après la création de la communauté, la version 1 sort officiellement en mai 2006. Ensuite, la version 2 suivra de prêt en septembre 2007 avant de connaître deux mises à jour majeures améliorant sans cesse les performances (temps de réponse, montée en charge) du serveur d'application. La version 3 sera à l'instar de la version 2 pour JavaEE 5, l'implémentation de référence de JavaEE 6 ;
  • Des performances comme nul autre serveur d'application JavaEE (Tomcat n'est pas un serveur full JavaEE puisqu'il n'implémente que la partie Web de la spécification) mis à part peut-être JBoss (dont on ne connaît aucun résultat issu d'un benchmark officiel) soit 30% devant WebSphere et 10% devant WebLogic - Benchmark SPECjAppServer2004 ;
  • Des outils d'administration et de monitoring fort agréables qui le rendent plus attrayant et plus facile d'utilisation que JBoss ;
  • Une console d'administration en mode console permettant de déployer des applications et toute ressource JDBC, JMs ou JBI ;
  • Le support en cluster - testé et approuvé et même que tout se configure et s'installe en 15-20 minutes 🙂 ;

Un serveur applicatif léger ?

La version 3 de Glassfish qui a été présentée lors du JUG est un serveur d'application dit léger - 28Mo au téléchargement, démarrage de 3 à 6 secondes et une architecture OSGI (Felix) le rendant plus modulaire et évitant ainsi de charger les services inutiles au démarrage. Puisque JavaEE 6 n'est pas stabilisée, cette version de Glassfish s'intitule joliment Prelude et doit intégrer au fur et à mesure les JSR de JavaEE 6 une fois stabilisées. Il est en effet prévu que Glassfish v3 sorte peu de temps après la Release de la spécification 🙂

Les points forts de Glassfish peuvent se résumer à :

  • Des plugins Eclipse et Netbeans pour le développement permettant de redéployer à la sauvegarde - deploy on save. Ce point paraît anodin et pourtant il permet de gagner en productivité !
  • Le maintien des sessions HTTP lors du redéploiement d'applications Web. Il suffit pour cela de saisir :

asadmin redeploy --properties keepSessions=true webapp.war

  • L'Update Center ! Plus la peine de télécharger la dernière version puisque l'Update Center permet de mettre à jour son serveur d'application ou d'installer des applications tierces (Liferay, XWiki) un peu comme une sorte de WindowsUpdate mais pour serveur d'applications ! Update Center s'inspire de systèmes de téléchargement tels que apt-get sous Linux. Cette fonctionnalité était déjà présente dans Glassfish v2 mais la v3 permet de faire cohabiter plusieurs versions de Glassfish à partir d'une seule installation. Il est ainsi possible d'installer d'autres containers que des conatainers JavaEE tels que Groovy, Grails ou JRuby on Rails, ces derniers profitant des services offerts par le container JavaEE de Glassfish tels que le pooling JDBC ou les services Web ;

Et JavaEE 6 ?

Pour le moment, la spécification JavaEE 6 n'est pas encore stabilisée mais Glassfish intègre déjà quelques éléments clés tels qu'une preview de JSF 2.0(intégration de Groovy, support intégré d'Ajax, conception simplifiée de composants réutilisables, etc.), les EJB 3.1 (packaging simplifié, opérations asynchrones, utilisation out of the box avec l'API Embedded qui positionne enfin les EJB au même niveau que Spring qui aura su montrer la voie comme conteneur léger avec un temps de démarrage de l'ordre de 1 seconde, etc.) et JAX-RS pour les web services RESTful.

Si vous voulez quelques plus d'informations sur Glassfish V3, rendez-vous ici !

A noter que depuis plusieurs semaines déjà, Sun propose une version de son serveur d'application reposant sur Glassfish V3 et donc le support qui va avec.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.