Spring, alternative légère à JEE ?

Les ingénieurs de Red Hat, pourtant, estiment que la dernière version de Java Enterprise Edition, JEE 6, permet de se passer de frameworks tels que Spring. En particulier, elle inclut la spécification JSR (Java Specification Requests) 299 qui couvre le découplage de composants logiciels (dependency injection). La prise en compte du contexte et le « dependency injection » figurent de fait parmi les principales fonctionnalités de Spring.

Pour appuyer cet argument, Ashesh Badani, de Red Hat, renvoie vers une note de Lincoln Baxter, de l'équipe de développement JBoss, portant sur  la migration d'une application de Spring vers Java EE 6 (). « Le framework Spring apparait comme une alternative légère à Java EE qui s'était alourdi et était devenu complexe, peut-on y lire. En fait, utiliser Java EE peut s'avérer plus simple que recourir à Spring et prendre moins de temps. Il faut juste trouver la bonne documentation. »

Le patron de SpringSource a reconnu que Java EE 6 avait emprunté quelques idées à Spring et que sa dernière version était plus simple à utiliser que la précédente (dont la complexité avait attiré des développeurs vers Spring). Malgré tout, Java EE 6 ne dispose pas encore de toutes les fonctionnalités de son challenger, tel qu'un framework web à part entière, ou encore un outil d'amélioration de la productivité tels que Roo. Par ailleurs, Rod Johnson rappelle que Java EE 6 n'est pas encore mis en oeuvre sur l'ensemble des serveurs d'application. Certes, JBoss le supporte, mais pas encore WebSphere, d'IBM. Quant au serveur d'application Open Source Tomcat, il ne prend en compte qu'une partie des fonctionnalités de cette v.6.

« Je ne crois pas qu'il faille comparer point à point les modèles de programmation de Java EE et de Spring », a toutefois conclu Rod Johnson en ajoutant que pour une large majorité des mises en production actuelles, on ne pouvait pas non plus considérer Java EE comme une alternative à Spring.

Illustration : Rod Johnson, vice président senior et directeur général de la division des produits SpringSource chez VMware (crédit photo : D.R.)