Pourquoi les grandes entreprises préfèrent-elles Spring à Java EE? [fermé]


Tout en cherchant le travail, j'ai assisté à des entretiens d'embauche dans des entreprises, qui travaillent dans la sphère financière. Chaque entreprise utilise Spring Framework comme cadre principal pour le développement. Et presque partout, on m'a dit: "Nous avons besoin de technologies éprouvées et stables, c'est pourquoi nous utilisons Spring.'

Je voudrais savoir, car je ne comprends pas, pourquoi Spring est plus populaire et "plus sûr", que Java EE (par exemple, Spring MVC est plus utilisé, que JSF, alors que les deux fournissent presque le même la fonctionnalité)?

Comment est-il possible que les fonctionnalités Java EE natives soient moins stables que les bibliothèques tierces?

Author: aliteralmind, 2014-04-23

3 answers

Quelques raisons:

  1. Spring était déjà là: J2EE était moche (pas d'injection de dépendance, pas de conversion sur la configuration et beaucoup de frayeurs de EJB2, aïe). Java EE a "volé" toutes les bonnes idées de Spring, et il est en fait plus léger et plus facile que les versions précédentes. Mais maintenant, tout le monde utilise déjà le Printemps. Cela signifie beaucoup de code de production, beaucoup de produits testés et ainsi de suite. En fin de compte, pourquoi les gens au Royaume-Uni/États-Unis utilisent-ils des unités anglaises? (Il y a un coût énorme pour changer)

  2. Spring est plus léger: vous n'avez pas besoin d'un serveur d'applications Java EE lourd, vous pouvez déployer votre application dans un conteneur Web tel que Tomcat.

  3. Spring offre une tonne de fonctionnalités qui ne sont pas disponibles en tant que normes Java EE, telles que Spring Batch ou Spring Integration. Vous pouvez utiliser les fonctionnalités Spring avec les normes Java EE, mais il faut supposer que Spring fonctionne mieux avec Spring, n'est-ce pas?

  4. La programmation orientée Aspect Printemps est plus flexible et puissance que Java EE intercepteurs. Vous pouvez utiliser un AOP tiers avec Java EE, mais vous pouvez l'avoir prêt à l'emploi à partir de Spring.

  5. Le Printemps se déplace plus vite. Spring peut libérer souvent et plus rapidement car il n'y a pas de norme et un seul fournisseur. Donc, il n'est pas nécessaire bulletins de vote JCP, approbations, etc. La réaction aux exigences du marché est beaucoup plus rapide. Quelques exemples actuels: cloud, mobile, social computing.

Ironiquement, j'ai "eu" beaucoup d'idées de: http://www.kai-waehner.de/blog/2011/11/21/why-i-will-use-java-ee-jee-and-not-j2ee-instead-of-spring-in-new-enterprise-java-projects-in-2012/

 19
Author: rdllopes, 2015-04-29 15:35:33

Tout en cherchant le travail, j'ai assisté à des entretiens d'embauche à entreprises, qui travaillent à la sphère financière. Chaque entreprise utilise le printemps Cadre principal pour le développement. Et presque partout on nous a dit: "Nous avons besoin de technologies éprouvées et stables, c'est pourquoi nous utilisons Printemps.'

Je travaille dans le domaine financier depuis plusieurs années - donc, je peux parler de mon expérience.

De nombreux fournisseurs de services financiers que je connais ont eu une mise à niveau majeure de leur entreprise pile logicielle autour de 2006-2008, à une époque où la désillusion à propos des EJB était à son apogée après plusieurs projets EJB non maintenables et mal écrits. Donc, afin de mettre à niveau leur système et d'attirer les développeurs, ils ont commencé à ré-implémenter leurs produits au printemps et Hibernate, c'était également une étape logique pour eux de démarrer de nouveaux projets dans les cadres de pointe (qui étaient à l'époque Spring, Hibernate et Wicket)

Mais depuis lors, la crise financière a éclaté et peu de sociétés de services financiers pensent à investir autant d'argent dans de nouveaux développements, à moins qu'il ne soit très critique. La plupart ne se soucient pas de savoir si Java EE 6 ou 7 a été lancé et certains des anciens arguments ne tiennent plus bon.

Ils aimeraient donc croire que ce qu'ils ont est plus sûr, faster etc (qui peut ou non être vrai)

 9
Author: senseiwu, 2015-04-29 15:36:05

Une chose qui rend Spring attrayant pour les développeurs, en particulier dans les grandes organisations comme les sociétés financières, est qu'il leur permet de prendre plus de contrôle sur leur middleware. Avec Java EE pur, les développeurs sont à la merci d'un groupe d'opérations qui a des objectifs très différents de ceux qu'ils ont. Dans de nombreux cas, operations veut éviter de jouer avec tout ce qui fonctionne, chaque mise à niveau est une chance pour que les choses tournent mal, et ce n'est pas comme si c'était eux qui voyaient les avantages des mises à niveau, donc cela rend leurs choix très conservateurs. Cela peut signifier que les développeurs se retrouvent coincés avec des versions obsolètes d'un serveur d'applications, et si un problème survient, les développeurs doivent travailler avec le support technique du fournisseur (vous devez donc convaincre le fournisseur que vous avez un problème et le reproduire dans les conditions qu'ils spécifient), puis coordonner avec les opérations pour implémenter le correctif (ce qui signifie bien sûr justifier votre demande auprès d'une organisation avec des priorités différentes de vous). Les développeurs aiment pour minimiser ce genre de chose autant que possible.

Avoir Spring dans l'application donne aux développeurs plus de liberté pour mettre à jour plus de leur infrastructure selon leur propre calendrier.

 8
Author: Nathan Hughes, 2014-04-23 17:23:44