1 mai 2008
Imprimer ce billet

SpringSource Application Platform : la brèche dans Java EE

L’annonce de SpringSource a des allures de schisme. Après des années à critiquer la complexité et le monolithisme de Java Enterprise Edition (Java EE), les équipes de Rod Johnson ont franchi le Rubicon et proposent un serveur d’applications Java qui ne reposera pas sur la monolithique spécification Java EE.

SpringSource Application Platform se limite à quelques fragments de cette spécification (principalement Servlet et JPA) assemblés dans un conteneur OSGI augmenté de quelques particularités Spring. Les applications web ne seront plus assemblées sous forme de WAR avec un fichier web.xml mais sous forme de plusieurs bundles OSGI avec des fichiers de configuration Spring.

Révolution ou évolution ?

L’utilisation d’OSGI pour assembler des applications Java n’est pas une nouveauté.
On le retrouve déjà dans les internes des serveurs d’applications Java (Websphere, Weblogic et maintenant Glassfish). L’ESB Service Mix va même plus loin en nous annonçant que dans sa version 4, nous déploierons nos médiations et transformations sous forme de bundle OSGI : pour la première fois, les développeurs d’informatique de gestion allaient assembler leur code métier avec OSGI.

Cependant, OSGI restait utilisé dans des domaines pour lesquels les spécifications Java n’avaient pas ‘légiféré’. La grande rupture de SpringSource Application Platform est de proposer OSGI en alternative à un standard utilisé par tous. C’est en cela qu’on peut percevoir cette initiative comme schismatique.

La fin des standards ?

Le monde unipolaire dans lequel seul le Java Community Process gouverné par Sun décidait des standards de l’écosystème Java a vécu.
Nous assistons aujourd’hui à l’émergence d’un monde multi-polaire avec l’arrivée d’autres organismes de standardisation incontournables comme OSGI Alliance, Open SOA (SCA) et l’OASIS Group (SOAP, WS-*). On peut voir dans cette évolution l’influence d’IBM et BEA qui ont appelé en vain Sun à partager la gouvernance de Java.

Cependant, Spring Source a apporté des extensions propriétaires au standard OSGI (problèmes de load-time weaving JPA, etc). La fragmentation qu’apporte Spring Source peut donc causer un recul de la standardisation de l’écosystème Java.

Une rupture irréversible avec Java EE ?

Les directions prises par Spring Source et Java EE semblent conciliables. Il faudra pour cela que le Java Community Process accorde un rôle de premier ordre à OSGI dans la spécification Java Module System qui définit actuellement l’assemblage de composants de bas niveau. Si on a pu douter de cette reconnaissance, le récent support d’OSGI par Sun dans GlassFish laisse espérer un dénouement rapide.

On observe par ailleurs que Spring Source veille à ne pas couper les ponts avec le Java Community Process : Rod Johnson participe à plusieurs comités de spécifications Java EE 6 et Spring Source annonce que sa plateforme sera très vraisemblablement conforme à la spécification Java EE 6 Web Profile. On peut voir dans la démarche de Rod Johnson le souhait d’influencer les futures standards Java EE.

Un nouveau modèle économique pour Spring Source

Le lancement d’un serveur d’application est pour SpringSource un changement sensible de modèle économique.
L’ancien éditeur proposait une offre difficile à monétiser : un framework à licence open source business-friendly (Apache).
Aujourd’hui, Spring Source s’engage sur un modèle connu pour être monétisable : un middleware à licence duale (open source business-unfriendly GPL et commerciale) avec du support et des outils d’administration réservés aux clients commerciaux.

On s’amusera à remarquer que ce modèle ressemble à s’y méprendre au modèle de Marc Fleury et JBoss avec qui SpringSource a des relations tendues.

Adopter SpringSource Application Platform immédiatemment ?

Le pari de SpringSource est ambitieux, la plateforme est en version beta, et les équipes de supports sont sans doute encore limitées, il faudra de plus former les équipes de développement.
Si l’utilisation en production n’est pas pour demain, une phase d’évaluation a tout son sens.

Mots-clefs :,