Java EE
Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spécification pour la technique Java de Sun plus particulièrement destinée aux applications d’entreprise. Ces applications sont considérées dans une approche multi-niveaux[1]. Dans ce but, toute implémentation de cette spécification contient un ensemble d’extensions au framework Java standard (JSE, Java Standard Edition) afin de faciliter notamment la création d’applications réparties.
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 (ou JDK) additionnelles,
- 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);
Sommaire |
Positionnement de Java EE [modifier]
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 librairies 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 librairies exploitées soient fournies par un 'conteneur Java', lourd tel que Apache Tomcat, JBoss ou JOnAS, ou 'léger' tel que Spring.
La première version des spécifications de J2EE 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 2013, la dernière version en cours est Java EE 6; elle fonctionne avec les JDK de Java SE 7, ou Java SE 6 (c'est-à-dire qu'une application développée sous Java EE 6 fonctionnera sur un poste équipé indifféremment du JRE 6 ou du JRE 7).
Interfaces de programmation [modifier]
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[2] [modifier]
Une application Java EE s'exécute sur un serveur d'applications.
Certifié Java EE 6 [modifier]
- Oracle GlassFish Enterprise Server v3, basé sur le serveur open-source GlassFish
- Oracle WebLogic Server 12c de Oracle Corporation
- JBoss AS 7.x (profil web uniquement pour la version 7.0.x), JBoss AS 6 (profil web uniquement)[3]
- JEUS 7, un serveur d'applications de TmaxSoft
- Apache Geronimo 3.0
- IBM WebSphere Application Server 8.0
- IBM WebSphere Application Server Community Edition 3.0, basé sur Apache Geronimo
- Fujitsu Interstage Application Server
- Caucho Resin 4.0.17 (profil web uniquement)
Certifié Java EE 5 / J2EE 1.5 [modifier]
- Sun Java System Application Server Platform Edition 9.0, basé sur le serveur open-source GlassFish
- Oracle WebLogic Server 10gR3 de Oracle Corporation
- SAP NetWeaver Application Server, Java EE 5 Edition de SAP
- JEUS 6, un serveur d'applications de TmaxSoft
- Apache Geronimo 2.0
- IBM WebSphere Application Server Community Edition 2.0, basé sur Apache Geronimo
- IBM WebSphere Application Server v7
- Oracle Containers for Java EE 11
- GlassFish
- Apache OpenEJB via Apache Geronimo
- JBoss 5.0.0
- JOnAS 5, un serveur d'applications open-source d’ObjectWeb
Certifié J2EE 1.4 [modifier]
- Apache Geronimo, un serveur d'applications open-source.
- Pramati Server 5.0
- Oracle Application Server 10g
- Resin, un serveur d'applications intégrant le XML
- SAP NetWeaver Application Server, Java EE 5 Edition de SAP AG
- Sun Java System Web Server
- Sun Java System Application Server Platform Edition 8.2
- IBM WebSphere Application Server (WAS)
- BEA Systems WebLogic server 8
Références [modifier]
- (en) Java Platform, Enterprise Edition : (Java EE) Specification, v6, Sun Microsystem, 6 novembre 2009, 264 p. [lire en ligne]
- (en) Compatibilité Java EE
- [1]
Liens externes [modifier]
- (en) Site officiel de Java EE chez Oracle
- (fr) Java EE 6, la revanche, voir aussi sur cette conférence Compte-rendu de la soirée Java EE 6 et GlassFish V3 au Paris JUG
Bibliographie [modifier]
- Livre Eyrolles - Les cahiers du programmeur : Java, conception et déploiement J2EE
- Livre Eyrolles - Les cahiers du programmeur : Java EE 5