Bob et Gavin sont dans un bateau

mai 8, 2009

…et qui va tomber à l’eau ?

Gavin et Red Hat étaient solidement arnachés grâce à SEAM 3 / Web Beans / JSR 299, laquelle est propulsée par JEE6 / JSR 316.

Le requin Rod et SpringSource, tournant autour du bateau de JEE 6, ne l’entendait pas de cette oreille. Et fin février le pied de Gavin a glissé du bateau JEE 6 (spécification générale et celle du profil web). Il vacille, et le statut de l’inclusion de la JSR 299 dans JEE 6 est devenu indécis.

Note – The expert group would like to solicit feedback from the community on whether to include Web Beans (JSR-299) 1.0 in the full Java EE Platform (see Section 6.30 of the Platform specification) and/or in the Web Profile. 

Note – The expert group hasn’t yet made a decision regarding the inclusion of the Web Beans 1.0 technology in the platform. The present section was added to solicit feedback from the community during public review.

Web Beans revendiquait depuis son origine (3 ans!) un héritage spirituel de Guice, mais Bob et Google étaient absents de la JSR 299. Google est bien présent en embuscade dans la JSR 316, malgré un dédain maintes fois affirmé pour JEE.

Et voila que depuis le 05 Mai, Rod et Bob proposent une nouvelle spécification “Annotations for Dependency Injection” ! Elle est très proche d’une petite sous-partie de la JSR 299, donc plus facile et rapide pour s’entendre sur ce standard. Et Bob pense qu’il est possible de monter un Groupe d’Experts et d’obtenir une validation finale de cette JSR en 5 mois (du jamais vu), juste à temps pour le round final de validation de JEE 6 en septembre. Gavin et Bob sont des potes (puisqu’on vous le dit) mais le débat fait rage depuis lors dans un fil de discussion technique des plus animés.

IBM, présent dans la JSR 299, mais aussi dans la 316, et Oracle/Sun, qui dirige la 316, vont devoir se positionner très vite.

Derrière ce débat d’apparence purement technique, c’est bien davantage le débat de la force des standards concernant Java pour l’entreprise, et l’enjeu de leur contrôle pour des acteurs historiques (Red Hat ou IBM avec un modèle JEE) ou de nouveaux entrants dans le monde de l’entreprise (Google avec un modèle JEGE à base de Guice 2 et Google App Engine, SpringSource avec Spring DM Server et leurs framework). Ce que l’on pourrait résumer en une phrase : assurer la portabilité des applications, c’est d’abord assurer leur passage vers le Cloud.