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 ce que cela signifie vraiment? Lorsqu’une entreprise nécessite une expérience Java EE, que demandent-elles réellement? Expérience avec les EJB? Expérience avec les applications Web Java?

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

Java EE est en réalité un ensemble de technologies et d’API pour la plate-forme Java conçues pour prendre en charge les applications «d’entreprise» qui peuvent généralement être classées comme applications à grande échelle, dissortingbuées, transactionnelles et hautement disponibles conçues pour répondre aux besoins métier critiques.

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

Java EE est un ensemble de spécifications pour le développement et le déploiement d’applications d’entreprise.

En général, les applications d’entreprise font référence à des 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’application (API) et les protocoles.

Les 13 technologies principales qui composent Java EE sont:

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

Le fournisseur de produit Java EE est généralement un fournisseur de serveur d’applications, de serveurs Web ou de systèmes de bases de données qui fournit des classes implémentant les interfaces définies dans les spécifications. Ces fournisseurs sont en concurrence sur les implémentations des spécifications Java EE.

Lorsqu’une entreprise a besoin de Java EE, ce qu’elle demande réellement, c’est une expérience d’utilisation des technologies qui composent Java EE. Souvent, une entreprise n’utilise qu’un sous-ensemble des technologies Java EE.

J (2) EE, à proprement parler, est un ensemble d’ API (comme l’a dit la première réponse actuelle) qui permet à un programmeur de construire des systèmes transactionnels dissortingbués. L’idée était d’abstraire les bits transactionnels complexes dissortingbués (qui seraient implémentés par un conteneur tel que WebSphere ou Weblogic), laissant le programmeur développer une logique métier sans soucis concernant les mécanismes de stockage et la synchronisation.

En réalité, il s’agissait d’une opération préparée par comité, conçue pour des fournisseurs comme IBM, Oracle et BEA, afin qu’ils puissent vendre de façon ridiculement compliquée, sur-conçue, trop produits inutiles. Qui n’a pas les fonctionnalités les plus élémentaires (comme la planification)!

J2EE était un concept marketing.

Il existe 2 versions des environnements Java, J2EE et Se. SE est l’édition standard, qui inclut toutes les classes de base dont vous avez besoin pour écrire des applications mono-utilisateur. Bien que l’édition Enterprise soit configurée pour les applications d’entreprise à plusieurs niveaux ou les applications dissortingbuées possibles. Si vous utilisez des serveurs d’applications, tels que tomcat ou websphere, vous souhaitez utiliser J2EE, avec les classes supplémentaires pour le support n-tiers.

Ça veut dire changer tout le temps. Il s’agissait de Servlets et JSP et EJB. Aujourd’hui, cela signifie probablement Spring et Hibernate, 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.

Les tests et le contrôle des sources seraient également des compétences importantes.

Oui, expérience avec EJB, Web Apps (ServLest et JSP), transactions, services Web, gestion et serveurs d’applications.

Cela signifie également l’expérience avec une application de niveau “surprise”, par opposition aux applications de bureau.

Dans de nombreuses situations, les applications d’entreprise doivent se connecter à un certain nombre de systèmes hérités, ce ne sont pas seulement des “pages Web” et avec les fonctionnalités disponibles sur “l’édition” de Java, ce type de connectivité peut être résolu.

J2EE faisait traditionnellement référence aux produits et aux normes publiés par Sun. Par exemple, si vous développiez une application Web J2EE standard, vous utiliseriez des EJB, des faces de serveur Java et une exécution sur un serveur d’applications prenant en charge la norme J2EE. Cependant, comme il existe une pléthore de bibliothèques et de produits open source qui effectuent les mêmes tâches et (et beaucoup se disputeront mieux), ces offres Sun, la signification quotidienne de J2EE a également évolué vers Par exemple, une solution Spring / Tomcat / Hibernate) dans de nombreux esprits.

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

Je dirais que l’expérience J2EE = expérience approfondie de quelques technologies J2EE, connaissances générales sur la plupart des technologies J2EE et expérience générale des logiciels d’entreprise en général.

On dirait qu’Oracle essaie maintenant de se débarrasser des JSP (remplacer par Faces) et d’émuler Spring’s REST (JAX-RS) et DI.

ref: https://docs.oracle.com/javaee/7/firstcup/java-ee001.htm

Tableau 2-1 Technologies Java EE Web-Tier


Technologie JavaServer Faces

Une structure de composants d’interface utilisateur pour les 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 du composant d’interface utilisateur; enregistrer les données du composant d’interface utilisateur dans des magasins de données côté serveur; et maintenir l’état du composant

Langage d’expression

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

Servlets

Classes de langage de programmation Java qui traitent dynamicment les requêtes et construisent des réponses, généralement pour les pages HTML

Contextes et dependency injections pour Java EE

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