Developpez.com

Le Club des Développeurs et IT Pro

Choix technologique : Spring 3.0 ou Java EE 6

Pour vos projets Java en 2010 ?

Le 2010-04-11 11:30:16, par Hikage, Rédacteur
Fin 2009, ce sont deux solutions très attendues qui ont finalement été livrées :

D'un coté Spring 3.0, framework déjà fort utilisé en entreprise, et qui arrive avec quelques nouveautés : Support de Rest, Expression Language, ..
Principal atout : Il est déjà utilisable sur des serveurs omniprésents en production (Tomcat, Websphere 6.1,..)

De l'autre coté, Java EE 6. Un nouvelle version du standard, beaucoup plus légère et souple que les anciennes versions.
Il propose également un profil Web, qui propose des fonctionnalités fort similaire à ce qui est proposé par Spring (EJB Lite, Injection de dépendances, ..).
Pour l'heure, la seule implémentation disponible est Glassfish.

De votre coté, quelle solution utiliserez vous pour vos nouveaux projets en 2010 ?
  Discussion forum
9 commentaires
  • romaintaz
    Rédacteur
    Question bête : pourquoi Spring 3 ou JavaEE6 ?
  • Patriarch24
    Membre expérimenté
    On utilise beaucoup Spring là où je bosse, je ne pense pas que ce soit près de changer. Ceci dit, force est de constater que Java EE 6 est franchement très séduisant, par son approche encore plus légère.
    Pour autant,
    pourquoi Spring 3 ou JavaEE6
    +1. Pourquoi forcément avoir à choisir ?
  • Hikage
    Rédacteur
    Bien sur il est tout à fait possible d'utiliser Spring 3.0 sur un serveur JEE 6.
    Mais comme Spring 3.0 fonctionne aussi bien sur un serveur JEE 5 ou un conteneur de servlet, je n'ai pas mis cette option.

    Ici, c'est plutot au niveau API.
    Spring 3.0 et JEE 6 proposent des fonctionnalités similaires :

    • Gestion de la vie des objets (Bean ou ManagedBean)
    • Injection de dépendance
    • AOP


    Ils serait bien évidemment possible de faire un mix des deux, mais je doute de l'intérêt de cette solution.
  • longbeach
    Rédacteur
    Java EE 6 (EJB 3.1) avec JBoss 6 bien sûr

    Pourquoi as-tu proposé Java EE 6 d'emblée avec Glassfish ?
  • antoinesd
    Futur Membre du Club
    Personnellement je choisi Java EE6 d'autant plus que d'ici 6 mois, JBoss 6 devrait compléter l'offre de Glass Fish.

    Cela dit, le choix Java EE6 est probablement plus couteux vu le nombre de personnes déjà formées sur Spring. Se lancer dans un projet avec cette nouvelle technologie présente donc un risque.

    Pour ceux intéressés par l'historique de Spring vs Java EE6, je vous recommande ce post sur notre blog : Les rendez-vous manqués de Spring.

    Antoine
  • Hikage
    Rédacteur
    Envoyé par longbeach
    Java EE 6 (EJB 3.1) avec JBoss 6 bien sûr

    Pourquoi as-tu proposé Java EE 6 d'emblée avec Glassfish ?
    Parce que pour l'heure c'est la seule solution disponible
  • vincent.poupet
    Membre du Club
    Spring ou JEE6... c'est vraiment la grande question pour moi !

    Je ne connais pas Spring MVC mais JSF, alors le choix de JEE6 sur toutes les couches me parait le plus simple !

    Je suis plutôt attiré par le côté "standard" de JEE6... Pour avoir fait quelques petits projets sous Netbeans sur cette techno, c'est quand même très simple ! 2/3 annotations et tout fonctionne (attention qd mm à Netbean qui fait tout le travail à notre place !).

    Maintenant, c'est vrai que JEE6 est tout récent. J'espère faire le bon choix !

    Au final, je pense qu'avec un code bien structuré... passer de l'un à l'autre (pour la couche métier) ce n'est pas quelque chose d'insurmontable (c'est pour cela que ces technos existent !).

    Reste la couche présentation...
  • manblaizo
    Membre confirmé
    Pour un nouveau projet, Java EE 6 sans hésiter. Je trouve que JEE atteint là un très grand niveau de maturité, le boulot fait sur les specs laisse parfois sans voix, et ça ne pourrait que s'améliorer encore. Pour ne citer que JAX-RS, EJB3.1, et notamment le très séduisant CDI

    Bon, c'est vrai que c'est nouveau et le reste des frameworks que j'utilise (RichFaces, Seam,... ) n'ont pas encore été totalement adapté à EE6, mais là aussi les choses avancent très vite. Les premiers modules Seam3 sous forme d'extensions CDI sortent déjà.

    Sinon, j'utilise Spring3 pour la maintenance de mes anciens projets pour lesquels une migration vers EE6 est inutile et coûteuse.

    Envoyé par romaintaz
    Question bête : pourquoi Spring 3 ou JavaEE6 ?
    Aujourd'hui la question du choix a quand même bien du mérite à être posée, tant il y a beaucoup de chevauchement entre les deux, et JEE6 est meilleur à mon avis sur les fonctions de base pour lesquelles on connait Spring (DI, Interceptors...)
  • Chabanus
    Membre régulier
    Sans hésiter, JEE6 et Glassfish. Ce dernier se trouve être un très bon serveur d'application pour la réalisation de projets de très grande envergure.