web-dev-qa-db-fra.com

Qu'est-ce que Java EE?

Je me rends compte que cela se traduit littéralement par Java Enterprise Edition. Mais ce que je demande, c'est qu'est-ce que cela signifie vraiment? Lorsqu'une entreprise a besoin de l'expérience Java EE, que demande-t-elle réellement? Expérience avec les EJB? Expérience avec Java applications Web?

Je soupçonne que cela signifie quelque chose de différent pour différentes personnes et que la définition est subjective.

208
shsteimer

Java EE est en fait un ensemble de technologies et d’API pour la plate-forme Java conçue pour prendre en charge les applications "d'entreprise" qui peuvent généralement être classées comme des applications à grande échelle, distribuées, transactionnelles et hautement disponibles, conçues pour prendre en charge les missions. exigences commerciales critiques.

Il est assez difficile de dire ce qu'un employé recherche dans des technologies spécifiques, car les règles du jeu ont constamment évolué au cours des cinq dernières années. Il s’agit vraiment de classe de problèmes qui sont résolus plus que toute autre chose. Les transactions et la distribution sont la clé.

135
Toby Hede

Java EE est un ensemble de spécifications permettant de développer et de déployer des applications d'entreprise.

En général, les applications d'entreprise font référence aux logiciels hébergés sur des serveurs fournissant les applications prenant en charge l'entreprise.

Les spécifications (définies par Sun) décrivent les services, les interfaces de programmation d'applications (API) et les protocoles.

Les 13 technologies de base qui constituent Java EE sont les suivantes:

  1. JDBC
  2. JNDI
  3. EJB
  4. RMI
  5. JSP
  6. Servlets Java
  7. XML
  8. JMS
  9. IDL Java
  10. JTS
  11. JTA
  12. JavaMail
  13. JAF

Le fournisseur de produits Java EE est généralement un fournisseur de serveur d'applications, de serveur Web ou de système de base de données qui fournit des classes qui implémentent les interfaces définies dans les spécifications. Ces fournisseurs se disputent les implémentations des spécifications Java EE.

Lorsqu'une entreprise a besoin de l'expérience Java EE, ce qu'elle demande réellement, c'est l'utilisation des technologies qui constituent Java EE. Il est fréquent qu'une entreprise utilise uniquement un sous-ensemble des technologies Java EE.

222
user19685

J (2) EE, à proprement parler, est un ensemble de APIs (comme le dit la réponse actuelle), qui permettent au programmeur de construire des systèmes transactionnels distribués. L'idée était de faire abstraction des bits transactionnels compliqués distribués (qui seraient mis en œuvre par un conteneur tels que WebSphere ou Weblogic), laissant ainsi au programmeur le développement d'une logique métier libéré des préoccupations liées aux mécanismes de stockage et à la synchronisation.

En réalité, il s’agissait d’un méli-mélo concocté par un comité, conçu pour le bénéfice de fournisseurs tels que IBM, Oracle et BEA, afin qu’ils puissent vendre des produits ridiculement trop compliqués, trop élaborés, trop complexes et trop complexes. produits inutiles. Qui n'avait pas les fonctionnalités les plus élémentaires (telles que la planification)!

J2EE était une construction marketing.

35
oxbow_lakes

Il existe 2 versions des Java Environnements, J2EE et Se. SE est l'édition standard, qui inclut toutes les classes de base dont vous auriez besoin pour écrire des applications mono-utilisateur. Alors que l'édition Enterprise est configurée pour les applications d'entreprise à plusieurs niveaux ou les applications distribuées possibles. Si vous utilisiez des serveurs d'applications, tels que Tomcat ou Websphere, vous voudriez utiliser J2EE, avec les classes supplémentaires pour la prise en charge à plusieurs niveaux.

22
stephenbayer

Sa signification change tout le temps. Cela signifiait autrefois Servlets, JSP et EJB. De nos jours, cela signifie probablement Printemps et Hibernation, etc.

Ce qu’ils recherchent vraiment, c’est l’expérience et la compréhension de l’écosystème Java, des conteneurs Servlet, de JMS, de JMX, d’Hibernate, etc., et de leur association.

Le test et le contrôle à la source seraient également des compétences importantes.

12
macarthy

Oui, expérience avec les EJB, les applications Web (Servlest et JSP), les transactions, les services Web, la gestion et les serveurs d'applications.

Cela signifie également, une expérience avec une application de niveau "entreprise", par opposition aux applications de bureau.

Dans de nombreuses situations, les applications d'entreprise doivent se connecter à un certain nombre de systèmes existants. Ce ne sont pas seulement des "pages Web". Grâce aux fonctionnalités disponibles dans "l'édition" de Java, ce type de connectivité peut être résolu.

7
OscarRyz

Je dirais que l'expérience J2EE = une expérience approfondie de quelques technologies J2EE, une connaissance générale de la plupart des technologies J2EE et une expérience générale des logiciels d'entreprise en général.

3

J2EE faisait traditionnellement référence aux produits et normes publiés par Sun. Par exemple, si vous développiez une application Web J2EE standard, vous utiliseriez des EJB, Java Server Faces et une exécution sur un serveur d'applications prenant en charge la norme J2EE. Cependant, étant donné qu’il existe une telle pléthore de bibliothèques et de produits open source qui remplissent les mêmes fonctions (et beaucoup diront mieux) que ces offres de Sun, le sens quotidien de J2EE a migré de manière à y faire référence ( Par exemple, une solution Spring/Tomcat/Hibernate) dans de nombreux esprits.

C’est un excellent livre qui, à mon avis, traite de l’approche "open source" de J2EE http://www.theserverside.com/tt/articles/article.tss?l=J2EEWithoutEJB_BookReview

3
Peter

On dirait qu'Oracle essaie maintenant de supprimer les JSP (remplacer par Faces) et d'émuler Spring REST (JAX-RS) et DI.

ref: https://docs.Oracle.com/javaee/7/firstcup/Java-ee001.htm

Tableau 2-1 Technologies Web EE Java


technologie JavaServer Faces

Un framework de composants d'interface utilisateur pour applications Web qui vous permet d'inclure des composants d'interface utilisateur (tels que des champs et des boutons) sur une page XHTML, appelée page Facelets; convertir et valider les données des composants de l'interface utilisateur; enregistrer les données des composants de l'interface utilisateur dans les magasins de données côté serveur; et maintenir l'état du composant

Langage d'expression

Un ensemble de balises standard utilisées dans les pages Facelets pour faire référence aux composants Java EE

Servlets

Les classes de langage de programmation Java qui traitent de manière dynamique les demandes et construisent les réponses, généralement pour les pages HTML

Injection de contextes et de dépendances pour Java EE

Un ensemble de services contextuels qui permettent aux développeurs d’utiliser facilement les beans enterprise avec la technologie JavaServer Faces dans les applications Web

0
killjoy