{"id":325,"date":"2010-06-25T08:42:18","date_gmt":"2010-06-25T07:42:18","guid":{"rendered":"http:\/\/www.alpesjug.fr\/?p=325"},"modified":"2010-06-25T08:43:34","modified_gmt":"2010-06-25T07:43:34","slug":"compte-rendu-de-la-soiree-glassfishjava-ee-6","status":"publish","type":"post","link":"https:\/\/www.alpesjug.fr\/?p=325","title":{"rendered":"Compte rendu de la soir\u00e9e Glassfish\/Java EE 6"},"content":{"rendered":"<div>\n<p>L&rsquo;Alpes JUG accueillait mardi <a title=\"blog alexis\" href=\"http:\/\/blogs.sun.com\/alexismp\/\" target=\"_blank\">Alexis Moussine-Pouchkine<\/a>, c\u00e9l\u00e8bre \u00e9vang\u00e9liste du serveur d\u2019application <a title=\"Glassfish\" href=\"https:\/\/glassfish.dev.java.net\/ \" target=\"_blank\">Glassfish<\/a>.<a href=\"http:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/06\/photo-4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-329\" title=\"Alexis pr\u00e9sente Glassfish\" src=\"http:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/06\/photo-4-300x225.jpg\" alt=\"Alexis  Glassfish\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/06\/photo-4-300x225.jpg 300w, https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/06\/photo-4.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Apr\u00e8s nous avoir pr\u00e9sent\u00e9 la roadmap du serveur, Alexis nous a rassur\u00e9 sur la p\u00e9rennit\u00e9 de Glassfish, malgr\u00e9 \u00a0le rachat de Sun par Oracle.<\/p>\n<p>Glassfish 3 est l&rsquo;impl\u00e9mentation de r\u00e9f\u00e9rence \u00a0des sp\u00e9cifications Java EE, cependant nous avons pu voir que son utilisation est b\u00e9n\u00e9fique m\u00eame en dehors de l&rsquo;utilisation de Java EE. Alexis nous a fait une petite d\u00e9monstration de red\u00e9ploiement \u00e0 chaud d&rsquo;une application Spring, de mani\u00e8re ultra-rapide et transparente. De quoi faire r\u00eaver tout d\u00e9veloppeur qui subit chaque jour les red\u00e9ploiements complets et red\u00e9marrages de contexte en environnement de dev.<\/p>\n<p>La paire <strong><a title=\"Glassfish\" href=\"https:\/\/glassfish.dev.java.net\/ \" target=\"_blank\">Glassfish<\/a> &#8211; <a title=\"Netbeans\" href=\"http:\/\/www.netbeans.org\" target=\"_blank\">Netbeans<\/a><\/strong> permet donc une compilation et un d\u00e9ploiement incr\u00e9mental, avec en plus, option propre \u00e0 Glassfish, la possibilit\u00e9 de conserver les sessions utilisateurs lors du red\u00e9ploiement. Mais Glassfish ne s&rsquo;int\u00e8gre pas uniquement avec <strong>Netbeans<\/strong> (dont la version 6.9 vient de sortir) mais aussi avec <a title=\"Eclipse\" href=\"http:\/\/www.eclipse.org\" target=\"_blank\"><strong>Eclipse<\/strong><\/a>.<\/p>\n<p>Nous avons \u00e9galement pu d\u00e9couvrir HK 2, une couche d&rsquo;abstraction au dessus d&rsquo;OSGI \u00e0 destination des d\u00e9veloppeurs de Glassfish , offrant la possibilit\u00e9 de d\u00e9velopper des services de mani\u00e8re modulaire, sans \u00eatre fortement coupl\u00e9 \u00e0 une impl\u00e9mentation OSGI. Ainsi si Glassfish fonctionne principalement sur Apache Felix, il est possible d&rsquo;utiliser un conteneur OSGI <a title=\"Equinox\" href=\"http:\/\/www.eclipse.org\/equinox\/\" target=\"_blank\"><strong>Equinox<\/strong><\/a> ou <a title=\"Knopflerfish\" href=\"http:\/\/www.knopflerfish.org\/\" target=\"_blank\"><strong>Knopflerfish<\/strong><\/a>.<\/p>\n<p>La deuxi\u00e8me partie de la pr\u00e9sentation f\u00fbt \u00a0ax\u00e9e sur Java EE 6 et nous a fait faire le tour des \u00a0nouveaut\u00e9s de la sp\u00e9cification, comme les EJB 3.1, JSF 2.0 ou encore CDI.<br \/>\nA ce propos nous avons pu remarquer que JAX-RS (que Paul \u00e9tait venu nous pr\u00e9senter en avril) n&rsquo;\u00e9tait pas inclus dans le profile Web de Java EE 6, ce qui est dommage dans le sens ou le Web et REST sont fondamentalement li\u00e9s! Heureusement pour nous, Glassfish embarque par d\u00e9faut l&rsquo;impl\u00e9mentation Jersey dans sa distribution Web!!<\/p>\n<p>Glassfish est enti\u00e8rement pilotable programmatiquement et ses diff\u00e9rents modules\/conteneurs aussi. Alexis nous a donc montr\u00e9 comment tester avec JUnit nos EJBs.<\/p>\n<p>Enfin, nous avons d\u00e9couvert la console d&rsquo;administration du serveur ainsi que son mode embarqu\u00e9, qui permet de d\u00e9marrer le serveur en une commande et de se passer de la phase d&rsquo;installation. Par exemple pour lancer l\u2019application web <em>toto.war<\/em> : <em><strong>java -jar glassfish.jar toto.war<\/strong><\/em><br \/>\nCe mode peut aussi \u00eatre utilis\u00e9 pour embarquer le serveur et son application et fournir un package pr\u00eat \u00e0 l&#8217;emploi.<\/p>\n<p><a href=\"http:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/06\/photo.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-332\" title=\"Alexis en pleine d\u00e9mo\" src=\"http:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/06\/photo-300x225.jpg\" alt=\"Alexis en demonstration\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/06\/photo-300x225.jpg 300w, https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/06\/photo.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Puis nous sommes un peu sorti des sp\u00e9cifications pour nous int\u00e9resser \u00e0 la partie OSGI de Glassfish et montrer comment d\u00e9ployer ses propres modules dans le conteneur de Glassfish puis int\u00e9ragir avec eux depuis une application JEE &lsquo;classique&rsquo;.\u00a0 Cependant, comme Miguel l&rsquo;a fait remarquer, on est hors de JEE et notamment pour tout ce qui concerne les <strong><em>ClassLoaders<\/em><\/strong>.<\/p>\n<p>En conclusion ce fut une pr\u00e9sentation tr\u00e8s convaincante, en partant on avait r\u00e9ellement envie de d&rsquo;installer Glassfish et de s&rsquo;amuser avec! D&rsquo;ailleurs c&rsquo;est ce que j&rsquo;ai fait d\u00e8s le lendemain ;o)<\/p>\n<p><strong><a href=\"http:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/06\/JavaEE6GlassFish3_AlpesJUG.pdf\">Les slides de la soir\u00e9e JEE6 GlassFish3<\/a><\/strong><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;Alpes JUG accueillait mardi Alexis Moussine-Pouchkine, c\u00e9l\u00e8bre \u00e9vang\u00e9liste du serveur d\u2019application Glassfish.Apr\u00e8s nous avoir pr\u00e9sent\u00e9 la roadmap du serveur, Alexis nous a rassur\u00e9 sur la p\u00e9rennit\u00e9 de Glassfish, malgr\u00e9 \u00a0le rachat de Sun par&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,18],"tags":[10,366,11],"class_list":["post-325","post","type-post","status-publish","format-standard","hentry","category-compte-rendu","category-slides","tag-jee6","tag-slides","tag-soiree"],"_links":{"self":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts\/325","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=325"}],"version-history":[{"count":8,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts\/325\/revisions"}],"predecessor-version":[{"id":337,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts\/325\/revisions\/337"}],"wp:attachment":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}