87 votes

Pile de Java EE 6 vs printemps 3

Je commence un nouveau projet. J'ai à choisir des technologies. J'ai besoin de quelque chose de léger, donc pas d'EJB ou la Couture. D'autre part j'ai besoin de JPA (Hibernate ou autre), et JSF avec IceFaces.

Pensez-vous qu'une pile de Printemps, 3 déployé sur Tomcat est un bon choix? Ou Java EE 6 web application qui pourrait être mieux? J'ai peur que Java EE 6 est une nouvelle technologie, n'est pas bien documentée encore. Tomcat semble plus facile à entretenir que Glassfish 3.

Quel est votre avis? Avez-vous des expériences?

101voto

Pascal Thivent Points 295221

J'ai besoin de quelque chose de léger, donc pas d'EJB ou la Couture.

Pourriez-vous expliquer ce qui fait Ejb lourd depuis EJB3? Vous rendez-vous compte que nous ne sommes pas en 2004 plus? J'aimerais vraiment lire votre définition de la lumière et de vos arguments (et je vais mettre à jour ma réponse avec plaisir parce que je suis sûr que j'aurais un peu de solide de choses à dire).

D'autre part j'ai besoin de JPA (Hibernate ou autre), et JSF avec IceFaces.

Java EE 6 Web Profil qui inclut JSF 2.0, JPA 2.0, Bean Validation, EJB 3.1 Lite, CDI,... ce serait parfait pour cela et vous pouvez utiliser GlassFish v3 Profil Web pour exécuter une application basée sur Java EE 6 Web Profil.

Pensez-vous que la pile de Printemps, 3 déployé sur Tomcat est un bon choix? Ou Java EE 6 web application qui pourrait être mieux?

Eh bien, j' aime l'idée d'exécuter mon code sur un non-propriétaire de la plateforme (Java EE) plutôt que sur le propriétaire du conteneur (Printemps). Et je pense que Java EE 6 est assez bon (et c'est un euphémisme, EJB 3.1 (Lite), JPA 2.0, JSF 2.0, CDI kick ass). Notez que j'ai été un JSF sceptique mais j'ai pris un second regard et JSF 2.0 avec le CDI est tellement différent que je ne peux même pas comparer. Et si vous ne les voyez pas de CDI, laissez-moi vous dire que ça déchire.

J'ai peur que Java EE 6 est une nouvelle technologie, n'est pas bien documentée encore.

Java EE semble assez bien documentée pour moi. Cela sonne comme gratuit demande. Et, croyez-moi ou pas, je commence à trouver le Printemps se complique alors que Java EE devient plus facile.

Tomcat semble plus facile à entretenir que Glassfish 3.

Avez-vous essayer quelque chose? Avez-vous rencontré des problème particulier? Encore une fois, cela sonne comme gratuit demande.

32voto

Robert Pappas Points 262

Je n'ai pas utilisé JavaEE6.

Cependant, j'ai été battu assez mal par toutes les versions précédentes de JavaEE et EJB que je ne vais pas confiance en elle jusqu'à ce qu'il établit lui-même comme le standard de facto, et pas seulement l'égalité de droit standard. Maintenant, le Printemps est toujours la norme de facto.

Fool moi une fois, honte sur vous. Fool moi deux fois, honte sur moi. Me tromper trois fois, EJB.

Certains disent que le Printemps est propriétaire. Je dirais que le vendeur implémentations de la JavaEE spécifications ont été seulement en tant que propriétaire, si ce n'est plus.

Je suis passé par une transformation importante, plus récemment, de déplacer un tas d'Applications Java à partir de JBoss pour Weblogic. Tous les Spring/Hibernate apps porté avec zéro modifications, parce qu'ils avaient toutes les bibliothèques dont ils avaient besoin, construite dans. Toutes les applications utilisées JPA et EJB et JSF ont été un désastre de port. De subtiles différences dans les interprétations de la JPA, EJB, et JSF entre appservers causé toutes sortes de méchants bugs a pris une éternité à corriger. Même quelque chose d'aussi simple que de nommage JNDI est complètement différente entre AppServers.

Le printemps est une mise en œuvre. JavaEE est une spec. C'est une ÉNORME différence. Je préfère utiliser un spec SI la spécification est 100% étanche à l'air et a donné absolument aucune marge de manœuvre dans la façon dont les fournisseurs de mettre en œuvre cette spécification. Mais le JavaEE spec n'a jamais été. Peut-être JavaEE6 est plus étanche à l'air? Je ne sais pas. Le plus vous pouvez package dans votre GUERRE, et le moins que l'on dépend de AppServer bibliothèques, le plus portable, votre demande sera, et que, après tout, c'est la raison pour laquelle je utiliser Java et pas de Dot-NET.

Même SI la spécification est étanche à l'air, il serait agréable d'être en mesure de mettre à niveau le serveur d'applications sans avoir à mettre à niveau tous mes la technologie des piles à toutes mes demandes. Si je veux mettre à jour à partir de JBoss JBoss 4.2 7.0, je dois considérer l'impact de la nouvelle version de l'ACI sur l'ensemble de mes applications. Je n'ai pas de tenir compte de l'impact sur mon Spring-MVC (ou Struts) des applications.

23voto

Bozho Points 273663

Il n'a pas d'importance. Java EE 6 est assez bon et en raison des profils de là, il n'est pas "lourd" - vous aurez juste être en utilisant le profil web.

Personnellement, je préfère le Printemps. Mais je suis à cours d'arguments rationnels à l'encontre de Java EE 6 :)

(Comme me l'a dit un commentaire, et vous voudrez peut-être essayer RichFaces, ainsi que ICEfaces et/ou de PrimeFaces - selon les composants dont vous avez besoin).

17voto

priyatam Points 665

Récemment, un de mes client missions liées évaluation de Printemps Pile Vs Personnalisé cadre de pile Vs Java EE Normes. Après un mois d'évaluation et de prototypage, je n'étais pas seulement heureux, mais emportés par le Java EE 6 ensemble de fonctionnalités. Pour toute nouvelle "entreprise" architecture de projet en 2011 et à l'avenir, je voudrais aller avec Java EE 6 et le potentiel des extensions comme de Couture de 3 ou de la prochaine Apache JSR299 extensions projet. Java EE 6 Architecture est épurée et intègre le meilleur de beaucoup de open source idées qui ont évolué dans les dernières années.

Tenez compte des caractéristiques suivantes: la Gestion de l'Événement, les Contextes et les DI, les Intercepteurs, les Décorateurs, les webservices RESTful, de test intégré avec intégrable conteneur, de la Sécurité, et beaucoup plus.

La plupart de mes résultats sont publiés dans mon blog expliquant les concepts clés de Java EE 6, que vous pourriez trouver utiles.

Bien sûr, il n'y a aucune règle dure et rapide pour le choix d'un cadre. Java EE 6 pourrait être bien lourd pour les plus simples, les "sites web" qui ne nécessitent pas une riche conversation état de la session. Vous pourriez aussi bien choisir Graal ou Jouer! Cadre. Mais pour la conversation des applications web, je ne vois pas un argument pourquoi Java EE 6 est pas un bon ajustement.

15voto

Piotr Gwiazda Points 5208

Maintenant, après un certain temps, j'ai de l'expérience avec les piles :

  • Java EE 5 + Couture + GraniteDS + Flex
  • Le printemps 3 + Vaadin (GWT)
  • Le printemps 3 + JSF 2.0 (PrimeFaces)

Mon colclusions sont:

  • Le printemps 3 est beaucoup beaucoup plus simple que de Couture (presque Java EE 6) et s'exécute sur le serveur Tomcat et Jetty! (Jetty pour le développement avec le plugin maven est un trasure).
  • J'aime Flex (j'ai d'ailleurs été un développeur Flex pour longtemps donc je suis partial) et si vous avez besoin d'interface riche et peut acheter FlashBuilder utiliser, mais utiliser ce qui Ressort + GraniteDS ou BlazeDs backend. Si vous ne pouvez pas acheter FlashBuilder ne perdez pas votre temps.
  • Vaadin est grande!. Développement de processus est plus simple que de Flex, mais vous pouvez créer des applications riches facilement sans HTML mess. Vous ne pas écrire un seul JS ligne. Vous avez juste besoin d'un peu de CSS (dans Flex vous en avez besoin). Donc, si votre interface de l'application va se comporter comme application de bureau et vous ne pouvez pas (ou ne veulent pas) utiliser Flex - utilisation Vaadin. Avertissement! Vaadin a de grandes JS généraux pour le navigateur.
  • Si vous créez plus simple site web-comme une utilisation de l'application JSF2.0 (avec le printemps backend comme ci-dessus). Vous aurez besoin de se battre avec HTML (je déteste ça) et la création de richesse de l'interface sera plus difficile que Vaadin (surtout les mises en page). Vous obtiendrez léger HTML pour les plus lents navigateurs/compuetrs. J'aime PrimeFaces - c'est simple et bien documenté. La deuxième place est IceFaces
  • Si vous créez un site web (PAS d'une application web) où vous avez besoin de mettre la vie en HTML (au lieu de créer des applications d'entreprise qui s'intègre dans le navigateur) utilisation de Guichet (si vous préférez, à base de composants, pull attitude) ou spring mvc (si vous préférez le modèle de base, appuyez attitude) ou utilisez simplement Jouer! cadre. Rappelez-vous que la création de richesse basé sur les données des composants sera beaucoup beaucoup plus difficile, mais vous aurez le contrôle sur chaque balise html (HTML/Graphics designer, il aime)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X