Bistro!
Alexis Moussine-Pouchkine's Weblog
public enum Topic { Java, GlassFish, Tools, Sun, InFrenchInZeText, SDPY }

20090629 lundi juin 29, 2009

Which GlassFish version is right for me?

GlassFish has several versions that you may have heard of. Each one attempts to address different needs. I've had several people in the last couple of weeks ask me which one they should use, so here's a quick list of features and reasons to use one more than the other.

GlassFish v2.1: current JavaEE 5-certified and supported product. Offers centralized admin, clustering. v2.0 was released in September 2007 and v2.1 in March 2009 with the Enterprise Manager value add. All major IDE's (NetBeans, Eclipse, IntelliJ) have plugins to deploy to this version. GlassFish v2.1 update 3 is the latest version available for supported customers.

GlassFish v3 Prelude: interesting if you want a lightweight Java EE 5 web container (no EJB, JMS, etc...) with admin tools. This is the first release using the modular OSGi architecture, IPS packaging format, and developer features such as preserve session across redeployments. This was released in November 2008 and is a supported product (although not a long-lived as traditional software at Sun). It also offers native deployment of Grails and Rails applications. Some people use this version in development and deploy to v2.1.

GlassFish v3 Preview: while not yet a supported product, this is a more recent version building on the same foundation as the above "Prelude" version, only it now offers both a Web distribution and a full Java EE 6 (Preview) distribution. It has a number of improvements over the "Prelude" version (IPS and updatetool for instance) and certainly much closer to a fully-featured application server. The final version should ship in September 2009 and offer a JavaEE 6, single-instance architecture. At that point this will become a supported product. The centralized administration will come in the v3.1 release which will mean feature parity with v2.1. If you like bleeding edge stuff, promoted builds for v3 are here.

For more details on the releases, including sustaining (restricted) releases, please visit http://blogs.sun.com/GlassFishForBusiness/

( juin 29 2009, 10:16:00 AM CEST ) Permalink Comments [10]

Présentations de l'aquarium d'été - JavaOne, Java EE 6, GlassFish, Metro, OpenDS, Cloud, OpenSolaris

Voici les présentations faites à la troisième édition de l'Aquarium Paris :
Versions PDF.
• Les mêmes sur slideshare.net

Merci à tous les participants et en particulier à Jacky de Cap Gemini pour son retour sur GlassFish et son déplacement de Lille.
Pour ceux déçus par l'absence d'une présentation dédiée à JavaFX, je vous invite à vous rendre au ParisJUG ce 7 Juillet ou il en sera question en détails.

( juin 29 2009, 05:57:09 AM CEST ) Permalink Comments [0]

20090625 jeudi juin 25, 2009

GlassFish et Java EE 6 à Niort mercredi prochain

Antonio pour la partie Java EE 6 et votre serviteur pour GlassFish v3. Détails ICI.
Comme le dit Wadael, espérons que GlassFish y gagnera en assurances! ;-)

( juin 25 2009, 10:53:47 AM CEST ) Permalink Comments [4]

20090624 mercredi juin 24, 2009

GlassFish v3 (custom) distributions with IPS

In the last part of my 'GlassFish à la carte' series of blogs and screencasts there is a missing piece if you were to try to reproduce the scenario - the GlassFish v3 IPS package containing the definition of my custom distribution (a distribution could be thought as a product/implementation of the notion of a profile as defined in Java EE 6).

That custom distro is the set of core GlassFish v3 packages which are required by my application (in this case it was using JAX-RS and EJB 3.1). While most GlassFish packages are meant to contain some sort of artifact (most likely a collection of JAR files as explained in these posts), this "distro" package for GlassFish has no such artifact but rather a key depends section of the package prototype file.

You can find the source for building the package on the glassfish-repo project site. As you can see there, the list of required modules is simply expressed :

"depends" : {
     "pkg:/felix@1.8.0" : {"type" : "require"},
     "pkg:/glassfish-amx@3.0-51" : {"type" : "require"},
     "pkg:/glassfish-common@3.0-51" : {"type" : "require"},
     "pkg:/glassfish-corba-omgapi@3.0.0-20" : {"type" : "require"},
     "pkg:/glassfish-ejb-lite@3.0-51" : {"type" : "require"},
     "pkg:/glassfish-grizzly@1.9.15-0" : {"type" : "require"},
     "pkg:/glassfish-hk2@3.0-51" : {"type" : "require"},
     "pkg:/glassfish-jca@3.0-51" : {"type" : "require"},
     "pkg:/glassfish-jsf@2.0.0-13" : {"type" : "require"},
     "pkg:/glassfish-jta@3.0-51" : {"type" : "require"},
     "pkg:/glassfish-management@3.0-51" : {"type" : "require"},
     "pkg:/glassfish-nucleus@3.0-51" : {"type" : "require"},
     "pkg:/glassfish-web@3.0-51" : {"type" : "require"},
     "pkg:/jersey@1.1.0-1.0" : {"type" : "require"},
     },

Note that this requires using the http://pkg.glassfish.org/v3/dev repository which hosts the promoted builds of GlassFish v3. With a stable build (once GlassFish v3 is declared final), the explicit implementation could go away (mostly the -51's in the example above which refer to promoted build 51). Finally, the glassfish-jca module listed above should really not be required if it wasn't for a silly bug (that is fixed in the next promoted build).

So there it is, a really simple way to make sure a given set of packages will be present before you deploy your application. Of course the packages that make up a distribution do not need to all be core GlassFish package. In particular one could imagine including the Spring container as demoed here and discussed there.
Maybe we should create two such packages for the two official Web and Full distributions Sun offers for GlassFish v3.

( juin 24 2009, 07:00:00 AM CEST ) Permalink Comments [0]

20090622 lundi juin 22, 2009

GlassFish at the Jazoon Conference

The GlassFish Day at Jazoon was really well attended (significantly more than last year) and is now over, so the rest of the conference can now start. This is a good time to go thru the list of GlassFish-related talks at the conference, so here it goes:

James Gosling's Keynote
Roberto on Java EE 6
Jérôme and Ludo on GlassFish v3
Java EE 6 BOF
Hudson talk
Ed's JSF 2.0 presentation
Harold on Metro Web Services
Ludo again, this time on JavaFX+GlassFish v3
Ed on JavaFX+JavaEE

Slides for the GlassFish Day are being posted here.

( juin 22 2009, 06:29:26 PM CEST ) Permalink Comments [0]

20090621 dimanche juin 21, 2009

L'aquarium d'été - ce vendredi 26 juin 2009

La nouvelle édition de l'aquarium à Paris c'est cette semaine! Vendredi 26 juin, une journée pleine de contenu!
N'oubliez pas de vous inscrire: http://fr.sun.com/sunnews/events/2009/jun/open_source/
Nouvelle adresse: Capital 8 - 32, rue de Monceau.

( juin 21 2009, 11:32:26 PM CEST ) Permalink Comments [0]

20090619 vendredi juin 19, 2009

GlassFish v3 a la carte screencast - Part 3 - Jersey and EJBs

In the first screencast, I installed a minimal GlassFish v3 from a small bootstrap (IPS toolkit), created a domain and started the server. The second entry did something actually useful with GlassFish and two containers: Java Web and Spring. In this screencast, I layer a custom distribution on top of a GlassFish kernel. Enough to deploy a JAXR-RS / EJB 3.1 (lite) application.

For the sake of brevity this screencast is mostly command-line. It starts with the 5MB ips bootstrap and installs a pre-defined custom distribution which is enough to deploy the jersey-ejb sample application. The custom distribution is essentially an IPS package with no artifact, only a set of dependencies on other packages. For the curious out there, here is the step-by-step for the screencast :

bin/pkg set-publisher -P --enable -O http://pkg.glassfish.org/v3/dev dev.glassfish.org
bin/pkg set-publisher --enable -O http://localhost:10001 localRepo
bin/pkg install sample-distro
bin/asadmin create-domain --instanceport 8080 --adminport 4848 mydomain
bin/asadmin start-domain
bin/asadmin deploy ~/jersey/jersey/samples/jersey-ejb/target/jersey-ejb.war
open http://localhost:8080/jersey-ejb/

I hope this series of screencasts demystifies the IPS/packaging side of GlassFish and shows the interesting possibilities it offers to end-users.

( juin 19 2009, 04:42:38 PM CEST ) Permalink Comments [0]

20090618 jeudi juin 18, 2009

GlassFish at Lyon JUG

JUG's in France have been popping up here and there at an amazing rate in the past 18 months since Antonio and the team have started the Paris JUG. I think we're somewhere in the 12 JUGs or so. For a country that didn't have any really active one only 2 years ago that's just amazing.

I was down in Lyon earlier this week for a JUG meeting (this was only their third meeting) on Groovy and GlassFish where over 60 people showed up. Come to think of it, when adding up all the JUGs, I think we average about 1000 attendees very months, that's the equivalent of a pretty decent conference. The feedback I've received was pretty good. I did a demo-heavy presentation focused on GlassFish v3 (most importantly the modularity and extensibility) and the 30-minute Q&A session took me to demo v2 (Enterprise Manager), explain the pricing model and monetization strategy, discuss more generally the Java EE and app server statuses, and deflect the best I could some Oracle-related questions...

My slides are here and you can read some notes on the event here (in French).

( juin 18 2009, 11:27:44 AM CEST ) Permalink Comments [1]

20090617 mercredi juin 17, 2009

Livre Java EE 6 (in english in the text) en dédicace ce samedi à Paris

Antonio Goncalves :
" Je vous propose de nous retrouver samedi 20 juin à la librairie Le Monde En Tique de 15h50 à 18h pour une séance de dédicace. Le principe est simple : vous venez, vous achetez un exemplaire du livre (ou plusieurs exemplaires pour offrir à votre femme et à vos parents), et je vous écris un petit mot doux. C’est un bon deal non ? "

Détails ici.

( juin 17 2009, 03:51:45 PM CEST ) Permalink Comments [0]

20090612 vendredi juin 12, 2009

GlassFish v3 a la carte screencast - Part 2

In the first screencast, I installed a minimal GlassFish v3 from a small bootstrap (IPS toolkit), created a domain and started the server. This entry will actually do something useful with GlassFish and two containers: Java Web and Spring.

The Spring DM (OSGi) part of the demo is described in Jerome's GlassFish V3 Extensions, part 3 : Spring, Java EE 6 and OSGi blog entry. In the screencast, the manual install of the Spring bits is replaced by adding a new repository definition (a local one) and installing a single package from there. For the rest, the demo demonstrates how to extend GlassFish without using any GlassFish API and how to invoke an OSGi bundle service without using any OSGi API - the servlet injects the service by name using a standard @Resource annotation. Note that Jerome's most recent blog entry covers OSGi Declarative Services for a somewhat simpler approach.

The screencast was done using the dev/ repository, so your experience may vary as the boundaries of the IPS packages and their dependencies are still being worked. Also, instead of the default Felix console briefly shown, you could use the web console described by Sahoo.

The full-size (and offline) video is available here (15MB, video/x-m4v).
The next screencast will show how one can seamlessly add more GlassFish v3 features to obtain a "full" Java EE application server and still benefit from the modular architecture in terms of pay-as-you-grow (startup time, load-on-demand, memory consumption, ...).

( juin 12 2009, 01:32:12 PM CEST ) Permalink Comments [0]

20090611 jeudi juin 11, 2009

How many bytes does it take to update a full GlassFish install?

The answer is 24MB.
... and that's for an initial full install weighting 63MB. The reason for it being small (other than the fact that you *can* do such a full update) is that IPS, the packaging system behind GlassFish v3 works at the file level rather than with package granularity.

Your mileage may vary depending on the jump you're trying to make (in my case this was from b47 to b49).
Here's a quick replay of my experience :
% bin/pkg set-authority -P -O http://pkg.glassfish.org/v3/dev --enable dev.glassfish.org
% bin/pkg image-update
DOWNLOAD PKGS FILES XFER (MB)
Completed 32/32 198/198 24.10/24.10

PHASE ACTIONS
Removal Phase 64/64
Install Phase 39/39
Update Phase 193/193
PHASE ITEMS
Reading Existing Index 9/9
Indexing Packages 41/41

Voilà !

( juin 11 2009, 08:54:08 AM CEST ) Permalink Comments [0]

20090610 mercredi juin 10, 2009

Lyon(JUG) mardi prochain - GlassFish, JavaOne, ...

Je suis invité mardi prochain par le LyonJUG pour présenter GlassFish (détails et inscription, lieu). L'autre partie de la soirée (la première en fait) sera consacrée à Groovy.

J'y parlerai essentiellement de GlassFish v3 Preview disponible depuis JavaOne et en particulier des ses fonctionnalités pour développeurs et son extensibilité OSGi.

( juin 10 2009, 02:00:00 PM CEST ) Permalink Comments [3]

GlassFish v3 a la carte screencast - Part 1

Given the modular approach taken in GlassFish v3 (170+ OSGi bundles in v3 Preview) and the IPS/pkg(5) tooling provided, I created a first screencast showing the following :
• install the IPS toolkit image (download), a 5MB bootstrap
• define the repository to get to the GlassFish v3 bits (pkg.glassfish.org/v3/dev/ in this case)
• install the minimum set of packages required to create and start a domain (using the pkg command-line and the graphical updatetool)

The full-size (and offline) video is available here (15MB, video/x-m4v).
Further screencasts will show how one can add selected features (containers) to deploy specific applications.

Of course you don't have to be fiddling around with the various GlassFish v3 packages and could also be downloading one of two GlassFish v3 Preview distributions: web profile and full Java EE 6. Even then you'll only pay for what you use.

( juin 10 2009, 08:18:34 AM CEST ) Permalink Comments [0]

20090531 dimanche mai 31, 2009

Pre-versions GlassFish v3 et Java EE 6 disponibles

Avec quelques heures d'avance sur le démarrage de JavaOne 2009, Sun vient d'annoncer la sortie de GlassFish v3 Preview (à ne pas confondre avec Prelude sorti l'année passée) qui propose une implémentation de Java EE 6 en attendant le mois de septembre et les versions finales.

GlassFish v3 Preview est disponible en deux versions pour refléter le profil Web défini par la spec Java EE 6 (la modularité du serveur et son updatetool permet de passer facilement d'une version à l'autre). Cette version propose une implémentation complète d'un appserver (contrairement à Prelude qui ne proposait qu'un web container). On y trouve donc un conteneur EJB 3.1 (local ou distant), JSR 299 et Bean Validation (merci JBoss), JAX-RS (Jersey), JSF 2.0 (Mojarra), JAX-WS 2.2 (Metro), et d'autres encore.

Bien entendu, le socle technique reste basé sur OSGi (par défaut Felix dans le cas de v3 Preview), l'extensibilité reste offerte par HK2 (pour n'avoir qu'une seule ligne de commande, un seul fichier de config et une seule console d'admin web extensible quels que soient les modules présents) et les fonctionnalités de productivité (temps de démarrage, deploy on change, préservation des sessions sur redéploiement) sont là et élargies à Eclipse (3.4) en plus de NetBeans (6.7 RC). Mon petit doigt me dit que tout ceci sera démontré lors de la technical keynote de JavaOne du mardi après-midi.

Il y a également le support des langages et frameworks dynamiques: Groovy/Grails et jRubyOnRails, mais aussi désormais Jython (encore en Release Candidate) et Django. Tous sont disponibles sur l'updatecenter (ou on trouve également un package hibernate). Au delà des profils Java EE 6, la modularité de GlassFish v3 permet de se monter un serveur à la carte et d'imaginer par exemple une solution légère alliant Grizzly et Jersey (une combinaison populaire).

Et maintenant, place à JavaOne!

( mai 31 2009, 10:00:00 AM CEST ) Permalink Comments [0]

20090529 vendredi mai 29, 2009

GlassFish unconference - this Sunday

What do Ted Goddard, Eduardo Pelegri-Llopart, Paul Sandoz, Kohsuke Kawaguchi, Bill Shannon, Jeanfrancois Arcand, Larry Cable and Jerome Dochez have in common? They've all registered to attend the GlassFish Unconference this coming Sunday in San Francisco (1pm Hall A at Moscone Center, details in the previous link).

As a reminder this is a free event and the content will be based on the interest of the people who show up. So don't be shy and make sure you take this opportunity to pick the brains of the development team, provide feedback, and understand where the community and products are going. Here's some background on unconferences.

So far, popular topics include GlassFish (v3), OpenESB, Hudson, and REST/JAX-RS/Jersey.
Registration is recommended.

( mai 29 2009, 07:04:16 PM CEST ) Permalink Comments [0]


GlassFish Podcast
Get GlassFish V3 Preview
Support GlassFish Enterprise

Today's Page Hits: 636





Get the Source Get OpenSolaris
bea conference glassfish groovy ips java javaee javafx javaone jbi jug metro mysql netbeans openesb openoffice opensource paris performance podcast presentation sdpy sun swing techdays tips updatecenter v3 webservices wsit
Links