(Mis à jour en avril 2021)
Tout d'abord, "Java EE" a été renommé depuis septembre 2019 en "Java EE". Jakarta EE ", à partir de la version 8. Historiquement, il y avait aussi le terme "J2EE" qui couvrait les versions 1.2 jusqu'à 1.4. Le "Java EE" couvrait les versions 5 à 8. Voir aussi Java Platform, Enterprise Edition, Historique sur Wikipedia .
Est-ce que Jakarta EE est juste une spécification ? Ce que je veux dire, c'est : EJB est-il Jakarta EE ?
Jakarta EE est en effet un abstrait spécification. Toute personne est ouverte pour développer et fournir une mise en œuvre de la spécification. Le site béton sont les serveurs d'application, comme WildFly , TomEE , GlassFish , Liberty , WebLogic etc. Il existe également des conteneurs de servlets qui ne mettent en œuvre que la partie JSP/Servlet de l'énorme API Jakarta EE, tels que Tomcat , Jetée etc.
Nous, développeurs de Jakarta EE, devrions écrire du code en utilisant la spécification (c'est-à-dire importer uniquement jakarta.*
dans notre code au lieu de classes spécifiques à l'implémentation telles que org.jboss.wildfly.*
, com.sun.glassfish.*
) et nous serons alors en mesure d'exécuter notre code sur n'importe quelle implémentation (donc, sur n'importe quel serveur d'application). Si vous êtes familier avec JDBC, il s'agit essentiellement du même concept que le fonctionnement des pilotes JDBC. Voir aussi a.o. En termes simples, qu'est-ce qu'une usine ?
EJB fait partie de la spécification Jakarta EE. Regardez, c'est dans l'API Jakarta EE . Les serveurs d'applications Jakarta EE à part entière le prennent en charge, mais pas les simples conteneurs JSP/Servlet.
Voir aussi :
EJB/Spring sont-ils des implémentations différentes de Jakarta EE ?
Non, comme indiqué, EJB fait partie de Jakarta EE. Spring est un framework autonome qui remplace et améliore de nombreuses parties de Jakarta EE. Spring n'a pas nécessairement besoin de Jakarta EE pour fonctionner. Un conteneur de servlets de base comme Tomcat est déjà suffisant. Pour faire simple, Spring est un concurrent de Jakarta EE. Par exemple, "Spring" (autonome) est en concurrence avec EJB/JTA, Spring MVC est en concurrence avec JSF/JAX-RS/MVC, Spring DI/IoC/AOP est en concurrence avec CDI, Spring Security est en concurrence avec JAAS/JASPIC, etc.
À l'époque de J2EE/EJB2, l'API EJB2 était terriblement difficile à mettre en œuvre et à maintenir. Spring était alors une bien meilleure alternative à EJB2. Mais depuis EJB3 (Java EE 5), l'API EJB a été considérablement améliorée grâce aux leçons tirées de Spring. Depuis CDI (Java EE 6), il n'y a plus vraiment de raison d'y revenir. un autre comme Spring pour faciliter la tâche des développeurs, notamment en ce qui concerne le développement de la couche de services.
Ce n'est que lorsque vous utilisez un conteneur de servlets de base tel que Tomcat et que vous ne pouvez pas passer à un serveur Jakarta EE que Spring est plus intéressant, car il est plus facile d'installer Spring sur Tomcat. Il n'est pas possible d'installer, par exemple, un conteneur EJB sur Tomcat sans modifier le serveur lui-même, ce qui reviendrait à réinventer TomEE.
Voir aussi :
2 votes
Vérifiez stackoverflow.com/questions/1286019/starting-java-ee-mvc
2 votes
Vous devriez couper cette question en deux, l'une est un doublon, l'autre n'a pas de réponse dans le lien.
2 votes
En fait, avez-vous lu le [java-ee] wiki tag ?
0 votes
Lire aussi : stackoverflow.com/questions/106820/what-is-java-ee
0 votes
Également : qui-met-en-place-la-spécification
0 votes
Jakarta EE est le nouveau nom de Java EE.
0 votes
En rapport : Profil Web Java EE et plate-forme complète Java EE
0 votes
Java EE passé, présent et futur fournit le contexte : readlearncode.com/java-ee/java-ee-past-present-and-future
0 votes
Eh bien, java EE est juste comme ruby on rails EE ou javascript EE, choisissez n'importe quel langage aujourd'hui et appelez-le juste EE, ça sonne mieux ..... Aucun autre langage n'a besoin de quelques mots à la mode de Marketing comme enterprise edition juste pour dire hé je peux faire du web et du db. "Je connais Java" "Attendez, vous connaissez Java ou Java EE" ... WTF c'est comme se vanter que je peux faire une requête http en javascript ou accéder à une base de données dans rails... wow magique. mais les gens d'affaires aiment les mots ENTERPRISE EDITION .... laissez tomber le Java EE !