IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Frameworks Web Java Discussion :

Quelles sont les solutions actuelles ?


Sujet :

Frameworks Web Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 23
    Points
    23
    Par défaut Quelles sont les solutions actuelles ?
    Bonjour,

    Je travaille actuellement un projet où l'intégration d'un ancien framework périmé doit être supprimé au profit d'une solution plus à jour.

    Le projet basé sur un fonctionnement proche du MVC "ancienne version" réuni plus de 1000 fichiers, de nombreuses classes et de nombreuses JSP.
    Il y a aura très probablement l'intégration d'EJB prochaine afin de se débarasser de couches CICS / COBOL.

    Je retombe souvent sur Spring et Struts, sans trop d'autres formes de concurrences.
    Je préfèrerai qu'on évite les querelles de chapelle, mais quelles sont les solutions qui vous paraitraient les plus adaptées et les plus à jour ?

    Cordialement.

  2. #2
    Expert éminent
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Points : 6 566
    Points
    6 566
    Par défaut
    STRUTS , surtout car tu trouveras une grosse communauté qui t'aidera...

  3. #3
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Struts a une grosse communauté.
    Spring a une communauté grandissante mais surtout un meilleur design.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    Merci pour vos réponses, on reste donc dans le lot de solutions habituelles.

    Citation Envoyé par dlemoing
    Spring a une communauté grandissante mais surtout un meilleur design.
    Qu'entends tu par "meilleur design" ? Quels spécificités t'amènent à cet avis ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Points : 514
    Points
    514
    Par défaut
    Et puis y à JSF aussi. A terme ça devrait remplacer STRUT. Par contre la communauté autour de JSF est plutot mince. tu auras du mal à trouver de l'aide.

  6. #6
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Pour SPRING, le "meilleur design" est surtout dû à une meilleure séparation des responsabilités au niveau des différents éléments du MVC.
    Par exemple, avec SPRING, tu peux aussi faire du Struts, JSF, WebWork, Tapestry, XML, PDF, Excel,...Bref, le concept de vue est très général ce qui permet de mixer plusieurs technos de rendu.
    Tu bénéficie en plus de l'IoC pour configurer tes objets M et C, c'est donc pas mal.
    Tu as aussi SPRING WebFlow pour encore mieux travailler sur l'aspect navigation (mais tu n'es pas obligé de l'utiliser)

  7. #7
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Pourquoi un meilleur design MVC ?

    M comme Model (ou comment fonctionne le data binding et la validation):
    - Struts oblige à étendre une classe concrete ActionForm ce qui interdit la réutilisation de ton domain model et il est donc impossible de travailler directement avec dans ton html. On est obligé de faire le lien entre ActionForm et le domain.
    - Spring permet de réutiliser le domain model
    - je ne connais pas trop le fonctionnement des transformations pour des objets autre que des String ou des primitives mais il semble que ce n'est pas très fameux
    - Spring fournit un support des PropertyEditor (voir norme JavaBeans)
    - la validation dans l'ActionForm ne la rend pas réutilisable dans le reste de l'appli. La validation peut également se faire avec Commons Validator qui utilise une approche à base de XML mais pour ma part je trouve ca assez peu intuitif (question de gout).
    - Spring s'appuie sur l'interface Validator pour la validation (des implémentations existent pour utiliser Commons Validator comme dans Struts)

    V comme Vue :
    - Struts fournit juste un support pour les JSP (il existe toutefois des librairies externes pour supporter d'autres technos : XML, Velocity)
    - Spring s'integre avec de nombreuses technos pour la vue : JSP, Velocity, FreeMarker, XML/XSL, Excel, PDF
    - Spring est facilement extensible et permet d'ajouter très simplement un support pour une autre technologie de présentation en respectant le principe du MVC.

    C comme controleur :
    - Les actions Struts (controleurs) doivent être threadsafe dans la mesure ou il n'existe qu'une seule instance de créée
    - Par défaut, les controleurs de Spring sont uniques (et donc threadsafe) mais la liberté est laissée au développeur de changer ce comportement de manière déclarative
    - L'ajout de fonctionnalités pour plusieurs controleurs de Struts doit se faire en utilisant l'héritage avec une classe abstraite mutualisant un certain nombre de comportements (manque de flexibilité, cf la deuxieme regle du GoF)
    - Spring utilise des HandlerInterceptors pour qui ajoute des comportements avant et après l'execution d'un controleur (très flexible car déclaratif)
    - Spring fournit plusieurs controleurs qui répondent aux cas les plus fréquents (formulaire, wizard, ...) et fournissent de nombreux points d'extensions qui ne laissent pas de doute sur comment bien les utiliser.


    Autres points dont il faut tenir compte :
    - Struts se dirige vers une approche plus orienté JSF (Shale) qui n'a plus grand chose à voir avec le Struts d'origine
    - La branche 1.x ne devrait plus trop évoluée (en dehors de la maintenance)
    - Personnellement (et je ne suis pas le seul), j'ai du mal à comprendre la stratégie de Struts à long terme
    - Les ressources sur Struts sont par contre très nombreuses
    - Spring ne se limite pas à un framework MVC et il y a de grande chance que tu deviennes plus efficace avec Spring MVC si tu l'utilises également pour les autres couches.


    PS : j'ai 2-3 autres arguments mais je ne suis pas suffisament sur de moi en ce qui concerne Struts

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    Merci pour toutes ces précisions et arguments exposés qui plus est fort clairement !

    Cela me fournit un bon début et des pistes très intéressantes pour débuter une étude détaillée et un comparatif entre Struts et Spring.

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Cela me fournit un bon début et des pistes très intéressantes pour débuter une étude détaillée et un comparatif entre Struts et Spring.
    Si tu cherche à comparer les deux, sache que tu ne dois pas confondre Spring et Spring-MVC.

    Spring a un spectre beaucoup plus large que celui de Struts qui lui, ne se limite qu'à de la présentation MVC dans un contexte WEB !

  10. #10
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Pour ma part, je n'ai fait que la comparaison entre Struts et Spring MVC.
    Spring a bien plus encore à offrir.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/12/2014, 11h26
  2. Réponses: 0
    Dernier message: 11/12/2012, 15h08
  3. Productivité : Quelles sont les limites des solutions RAD automatiques / Frameworks ?
    Par benwit dans le forum Débats sur le développement - Le Best Of
    Réponses: 38
    Dernier message: 20/08/2009, 20h22
  4. Quelles sont les distibutions avec le kernel 2.4.x.x?
    Par barucca dans le forum Administration système
    Réponses: 7
    Dernier message: 01/04/2004, 15h44
  5. [CR][Jetform] Quelles sont les différences ?
    Par littlecow dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 23/07/2002, 11h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo