2010-04-19 3 views
5

Spring mvc est un cadre qui a longtemps été là-bas, il est une technologie bien documentée et éprouvée. Beaucoup de sites Web utilisent le printemps. Seam est un framework basé sur l'implémentation de faces riches en jsf. Il a beaucoup de composants basés sur ajax. Il utilise des trucs lourds comme EJB, JPA. Tout cela est sujet à des erreurs et ce cadre est si lent (sur mon ordinateur, il est presque impossible de développer quelque chose car il est vraiment lent, surtout redéployer sur jboss) Mais est très bon pour les applications de back-office.printemps mvc vs couture

Est-ce que quelqu'un a une expérience professionnelle avec ces deux frameworks? Pouvez-vous recommander le meilleur? Pourquoi?

Cordialement

+0

Avec Seam, vous pouvez utiliser des POJO au lieu des EJB. Et qu'est-ce qui est lent à propos de JPA? –

+0

L'ensemble du cadre est lent, pas JPa. Si vous testez la page la plus simple par rapport à d'autres frameworks, vous obtiendrez 10 fois moins de demandes. – darpet

+0

Aussi pour couture. J'ai regardé beaucoup d'applications de couture productivement. Je peux facilement trouver des erreurs. – darpet

Répondre

7

-je utiliser: Spring MVC (2.5) et Seam

SEAM utilise Java Server Faces Technology (Une technologie basée sur le serveur côté), dans les coulisses, il est mieux conçu pour les applications petites et moyennes entreprises. (Chaque vue JSF Tree est stockée sur Session - Vous pouvez stocker du côté client, mais soyez conscient des problèmes de bande passante).Mais il a quelques avantages:

Typiquement application Web utilise le chemin suivant

view >> controller >> service >> domain 

Avec Seam, vous pouvez obtenir

view >> service >> domain 

Ou même (en utilisant modèle de médiateur fourni par cadre Seam)

No controller, No service 

view >> domain 

En outre,

  • JSF 2 prend en charge JSR 303 - Bean Validation
  • Vous pouvez utiliser Wicket au lieu de JSF si vous voulez
  • soutien de la conversation et la gestion des processus d'affaires
  • utilisation peut utiliser Spring DI si vous voulez

Spring MVC

Il dispose d'une infrastructure puissante Web Tier

  • Mapping Handler (Il choisit le contrôleur doit gérer la demande)
  • Voir résolveur (Il choisit la vue que doit rendre la réponse)
  • Il peut être utilisé pour des applications
  • données de liaison puissante
  • Spring 3.0 prend en charge du contrôleur à base d'annotations (JSR 303 - validation Bean, coming soon)

Mais je toujours pas utiliser Spring 3.0 parce

  • En utilisant (et l'extension en cas de besoin) MultiActionController, je peux obtenir la convention sur la configuration sans aucun paramètre xml pour définir votre contrôleur (il vous suffit de configurer votre MultiActionController comme @component)
  • SimpleFormController offre un comportement similaire trouvé dans l'annotation Spring 3.0 contrôleur basé

...

A propos du parcours d'apprentissage, je pense que les deux sont semblables.

+2

'' Parce que Seam utilise Java Server Faces Technology (Une technologie basée sur le serveur), dans les coulisses ". Pouvez-vous s'il vous plaît prouver ce point? Oui Seam utilise JSF et fait un pont pour cela, mais vous pouvez utiliser Seam sans toucher à JSF ou à l'une des fonctionnalités JSF. Tout dépend des filtres, servlets et intercepteurs que vous activez. Bien sûr, il y a des tonnes de composants intégrés qui sont spécifiques à JSF, mais il en est de même pour la sécurité, le ressort, REST, etc. –

+0

@Shervin Vous avez raison de dire: Tout dépend des filtres, servlets et intercepteurs que vous activez. Mais remarquez que j'ai inclus Wicket à la place. –

+0

@ArthurRonaldFDGarcia - Utilisez-vous la couture intégrée à Spring ou toute seule? – ziggy

1

Je travaille professionnellement avec Seam et il est un cadre de tueur. Cela augmente vraiment votre productivité. Vous pouvez utiliser POJOs au lieu de EJBs, si vous pensez que EJBs vous ralentissent. À propos du déploiement, envisagez simplement de le déployer au Tomcat au lieu de JBoss. Le redéploiement de ma machine au Tomcat se fait en quelques secondes. Mais je n'ai toujours pas utilisé Spring MVC pour les comparer.

+0

Avez-vous des problèmes avec le bouton de retour? Mon client dérange vraiment ça. – darpet

+0

L'utilisation du bouton Back devrait être déconseillée dans les applications Web. Il ne devrait pas être utilisé pour le déroulement du programme. Sinon Seam est l'un des rares frameworks qui vous aide avec le bouton de retour. http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/seam/Seam_Reference_Guide/Pageflow_in_Seam-Seam_and_the_back_button.html –

+0

Quelle idée utilisez-vous? Utilisez-vous jpa? – darpet

1

Nous avons utilisé Seam pour un très grand site utilisant POJOS et communiqué avec les services web ou Hibernate déployés sur Tomcat. Nous avons constaté que le support du bouton arrière ne fonctionne pas bien ou qu'il est susceptible d'être spécifique aux modèles d'implémentation. De plus, les sessions ont tendance à devenir très volumineuses si vous utilisez l'état côté serveur. Les tentatives de réduction de la taille de la session ont un impact sur le support du bouton arrière ou l'utilisation de l'iframe en raison de la réduction du nombre d'états d'affichage stockés dans la session. Plus ou moins, notre problème a été lié à la performance. Le Tomcat nécessite plus de mémoire et prend en charge moins d'utilisateurs par rapport à un Struts 1.2 ou un Spring Mvc. Nous utilisons environ 50 tomcats pour supporter notre base d'utilisateurs.

0

Je l'ai utilisé à la fois Seam 3 et ressort 3 frameworks.While Seam 3 est plus facile à coder et a beaucoup de fonctionnalités de gestion de session d'appui et de gestion des transactions, la performance est lente .Spring est beaucoup plus rapide.