Jakarta EE

Plateforme Java

Logo de Jakarta EE
Positionnement de Java EE vs Java SE.

Jakarta EE (anciennement Java 2 Platform, Enterprise Edition, ou J2EE /ʒi.dø.ø.ø/[1], puis Java Platform, Enterprise Edition ou Java EE), est une spécification pour la plate-forme Java d'Oracle, destinée aux applications d'entreprise[2].

La plate-forme étend Java Platform, Standard Edition (Java SE) en fournissant une API de mapping objet-relationnel, des architectures distribuées et multitiers, et des services web[3]. La plate-forme se fonde principalement sur des composants modulaires exécutés sur un serveur d'applications.

Pour ce faire, Java EE définit les éléments suivants :

  • une plate-forme (Java EE Platform), pour héberger et exécuter les applications, incluant outre Java SE des bibliothèques logicielles additionnelles du Java Development Kit (JDK) ;
  • une suite de tests (Java EE Compatibility Test Suite) pour vérifier la compatibilité ;
  • une réalisation de référence (Java EE Reference Implementation), dénommée GlassFish ;
  • un catalogue de bonnes pratiques (Java EE BluePrints)[4] ;
  • un code script.

À chaque version de Java EE correspond notamment, comme toutes les éditions Java :

  • les Java Specification Requests (JSR), constituant les spécifications de la version considérée ;
  • un Java Development Kit (JDK), contenant les bibliothèques logicielles ;
  • un Java Runtime Environment (JRE), contenant le seul environnement d'exécution (compris de base dans le JDK).

Positionnement de Java EE

Alors que Java SE constitue le framework de référence pour Java — avec des bibliothèques standards répondant à la plupart des besoins —, Java EE complète ce framework avec des bibliothèques logicielles additionnelles dédiées à des applications professionnelles, facilitant par exemple le développement d'applications pour architecture distribuée.

Les JDK spécifiques à Java EE sont conçus de façon à ce qu'une application réalisée avec Java EE fonctionne sur le même JRE qu'une application écrite avec Java SE, mais nécessitera cependant qu'en complément, les bibliothèques exploitées soient fournies par un conteneur Java tel que Payara, JBoss ou JOnAS.

La première version des spécifications de Java EE fut publiée en 1999, la version 1.3 apparut en 2001, puis la version 1.4 en 2003 (support XML et services Web) et la version 1.5 (renommée Java EE 5) en 2007. En aout 2017 la version Java EE 8 sort.

En 2018, le projet est confié par Oracle à la Fondation Eclipse. La fondation ne trouvant pas d'accord avec Oracle sur l'usage de la marque Java qu'elle possède[5], Jakarta EE est finalement choisi par la communauté des développeurs à la place de Java EE[6].

Interfaces de programmation

Ci-dessous, une liste de composants pouvant être contenus dans une implémentation Java EE :

  • Servlet : Composant représentant le C (Controller) du paradigme MVC
  • Portlet : Conteneur Web (extension de l'API Servlet)
  • JavaServer Pages (JSP) : Framework Web
  • Java Standard Tag Library (JSTL) : bibliothèque de balises pour les JSP
  • JavaServer Faces (JSF) : Java Server Face, Framework Web
  • EJB : Composants distribués transactionnels
  • JNDI : API de connexion à des annuaires, notamment des annuaires LDAP, et espace de noms d'objet (ENC)
  • JDBC : API de connexion à des bases de données
  • Java Message Service (JMS) : API de communication asynchrone par message
  • JCA : API de connexion, notamment à des PGI
  • JavaMail : API de gestion des mails
  • JMX : Extension d'administration des applications
  • JPA : API de gestion de la persistance des données
  • JTA : API de gestion des transactions
  • Java API for XML Processing (JAXP) : API d'analyse XML
  • JAXM : API de communication asynchrone par XML
  • JAX-RPC / JAX-WS : API de communication synchrone par XML, par exemple à l'aide du protocole SOAP
  • JAXB : API de sérialisation par XML
  • JAXR : API de gestion des registres XML, permettant d'enregistrer des Web Services en ebXML
  • Java RMI : API de communication distante entre des objets Java
  • Java IDL : API de communication entre objets Java et objets non-Java, via le protocole CORBA

Serveur d'applications certifiés

Une application Java EE s'exécute sur un serveur d'applications[7].

Certifié Java EE 7

Certifié Java EE 6

Certifié Java EE 5 / J2EE 1.5

Certifié J2EE 1.4

Voir aussi

Articles connexes

Liens externes

Bibliographie

Références

  1. NASA, http://oodt.jpl.nasa.gov/better-web-app.mov - Better Web App Development - Voir à 3m41, consulté le 23/08/2017
  2. Java EE Overview
  3. (en) Java Platform, Enterprise Edition : (Java EE) Specification, v6, Sun Microsystem, , 264 p. (lire en ligne).
  4. « Java BluePrints: Guidelines, patterns, and code for end-to-end applications », sur www.oracle.com (consulté le )
  5. (en) « Update on Jakarta EE Rights to Java Trademarks », sur Life at Eclipse, (consulté le )
  6. (en) « Java EE renamed 'Jakarta EE' after Big Red brand spat », sur theregister.co.uk, (consulté le ).
  7. (en) Compatibilité Java EE
  8. (en) EE Compatibility sur Oracle.com.
  9. Site de GlassFish Server Open Source Edition 4.0.
  10. Site de TMAX JEUS 8.
  11. Site de Wildfly 8.0.0.
  12. JBoss EAP Overview
  13. (en) « Introducing the Brand New JBoss AS 6.0! ».
  • icône décorative Portail de la programmation informatique