169 votes

Qu'est-ce que Java EE exactement ?

Je travaille sur Java SE depuis quelques années maintenant et je suis en train de passer à Java EE. Cependant, j'ai du mal à comprendre certains aspects de Java EE.

  1. Java EE est-il seulement une spécification ? Ce que je veux dire, c'est : EJB est-il Java EE ?

  2. EJB/Spring sont-ils des implémentations différentes de Java EE ?

Je suis désolé de vous demander cela mais j'ai quelques difficultés à comprendre ce qu'est Java EE.

Quelqu'un pourrait-il expliquer ce qu'est Java EE ? Et EJB ?

2 votes

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 ?

198voto

BalusC Points 498232

(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

On pourrait donc dire que Java EE définit le support qui doit exister pour qu'une application JEE typique fonctionne ?

4 votes

@James : Oui. Presque tout dans l'API Java EE est abstrait. L'API Java SE comporte également plusieurs parties abstraites, par exemple JDBC, JAXP, JAXB, etc.

3 votes

"Il n'y a pas vraiment de raison d'envisager à nouveau un autre framework comme Spring pour faciliter la tâche des développeurs." -> Info vraiment précieuse.

12voto

Java Enterprise Edition (Java EE) est une spécification générale qui fait référence à un certain nombre d'autres spécifications plus détaillées, dont Enterprise JavaBeans (EJB) est l'une des plus importantes.

Lire este - il explique la différence entre Java EE et Spring

Merci...

4voto

Srikanth Venkatesh Points 2190
  • Source : -- Java 2 Platform, Enterprise Edition (J2EE) définit la norme pour le développement d'applications d'entreprise multi-tiers basées sur des composants. J2EE simplifie la création d'applications d'entreprise qui sont portables, évolutives et qui s'intègrent facilement aux applications et aux données existantes.

  • Source : -- La technologie Enterprise JavaBeans (EJB) est l'architecture des composants côté serveur de la plate-forme Java, Enterprise Edition (Java EE). La technologie EJB permet le développement rapide et simplifié d'applications distribuées, transactionnelles, sécurisées et portables basées sur la technologie Java.

  • Java EE est-il seulement une spécification ? Ce que je veux dire, c'est : EJB est-il Java EE ?

    • Java EE est une spécification.

    • EJB est une architecture de composants côté serveur pour Java EE.

  • EJB/Spring sont-ils des implémentations différentes de Java EE ?

    • EJB et Spring sont deux cadres différents qui suivent Java EE.

6 votes

Il n'est peut-être pas très utile de citer un texte ancien (2005) tiré d'une ancienne version de la spécification (J2EE). Le PO a spécifiquement demandé Java EE, qui est l'incarnation moderne de J2EE.

0voto

Spyros Points 61

Tout ce que vous devez savoir sur Java EE peut être trouvé en commençant par @ Site officiel d'Oracle entre autres. Vous pouvez également trouver intéressant de lire le API de spécification pour la version 8 . Cela vaut la peine de prendre le temps de parcourir le site Web de la Commission européenne. Tutoriel Java EE 8 . Vous pouvez d'ailleurs commencer par ce document, car il donne un très bon aperçu de l'ensemble de la plate-forme.

-1voto

Ravi R. Oza Points 9

J2EE/JEE/Jakarta EE

  • Java Enterprise Edition (JEE) est utilisé pour développer des applications distribuées &. services web.
  • Il s'agit d'une approche basée sur les composants pour développer une application web.
  • Les applications web JEE sont considérées comme des applications à 3 niveaux, puisqu'elles sont divisées en 3 parties.
    différentes machines/tiers
    • Client (Présentation)
    • Section J2EE (Application/Business)
    • Base de données (accès aux données)

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