Plateforme
Introduction
La plateforme Java se décline en deux éditions :
- Java SE: Java Standard Edition
- Java EE: Java Enterprise Edition
Une édition est un ensemble de bibliothèques logicielles et d'outils intégrés à la plateforme.
Java SE est l'édition contenue par défaut lorsque vous installez Java que ce soit OracleJDK, OpenJDK ou encore AdoptOpenJDK.
Java EE est l'édition contenue dans les serveurs d'applications certifiés Java EE. Exemple : Wildfly, Glassfish, Payara, WebLogic, etc...
Le serveur Apache Tomcat n'est pas certifié car il n'implémente qu'une partie de la spécification Java EE, principalement les Servlet. C'est un choix assumé.
Note Après l'arrivée de Java EE 8, Oracle à l'abandon de cette édition. C'est désormais la Fondation Eclipse qui reprend ce projet sous le nom de de Jakarta EE. Afin d'effectuer la transition en douceur, la Fondation Eclipse a publiée Jakarta EE 8, une version intermédiaire pour le passage à Java 11. Mais attendez-vous à une perte de rétrocompatibilité avec Jakarta EE 9.
Composition des plateformes
Vision globale
Source: Wikipédia
Légende:
- JRE: Java Runtime Environment
- Environnement minimal pour l'exécution de programme Java.
- JRE Library
- Ensemble de bibliothèques logicielles standard.
- JVM: Java Virtual Machine
- Machine virtuelle permettant l'exécution du code compilé Java et d'autres langages basés sur la JVM.
- JDK: Java Development Kit
- Ensemble d'outil fournit avec une plateforme pour le développement. (Exemple: le compilateur)
- JSR: Java Specification Requests
- Ensemble de spécification normalisé faisant évoluer la plateforme. Les JSR sont validés par une communauté (JCP: Java Community Process) avant d'intégrer une plateforme.
- Java SE: Java Standard Edition
- Plateforme de base de Java, il existe des variantes : avec ou sans JDK.
- Java EE: Java Enterprise Edition
- Plateforme d'entreprise Java, il existe des variantes: Web Profile, Full Profile ...
- Java FX
- Ensemble de bibliothèques logicielles pour la création de client lourd, successeur de Swing.
Java SE
Source: Oracle
Voici en détail le contenu de la plateforme Java SE 8.
Note En Java 1.8, Java FX faisait partie intégrante de Java SE. A partir de Java 9, Java FX est une plateforme indépendante.
Java EE
Source: Oracle
Voici en détail le contenu de la plateforme Java EE 8. Le contenu reste similaire pour Jakarta EE 8.
En bleu foncé, les briques logicielles misent à jour depuis Java EE 7. En orange, les nouvelles briques logicielles ajoutées en Java EE 8.
Détail de quelques technologies principalement utilisées:
- Bean Validation
- Validation de données à l'aide d'annotations.
- JTA: Java Transaction API
- Technologie de gestion des transactions pour les bases de données.
- Servlet
- Technologie permettant la communication client-serveur à travers de requête et de réponse sur le réseau, principalement utilisé avec le protocole HTTP.
- CDI: Context Dependency Injection
- Technologie d'injection de dépendance, elle gère le cycle de vie des objets injectables. Permet également une approche événementielle dans le code.
- EJB: Enterprise Java Bean
- Technologie utilisée pour la logique de traitement.
- JSF: Java Server Faces
- Technologie de création de page web orienté composant.
- JPA: Java Persistence API
- Technologie de persistance de données pour les bases de données.
- JAX-RS
- Technologie pour la construction de service web de type REST.
- JSON-P
- Technologie pour la manipulation de fichier JSON.
- JAX-WS
- Technologie pour la construction de service web de type SOAP.
- JSP
- Ancienne technologie pour la construction de page web.
- WebSocket
- Technologie de communication bidirectionnelle client-serveur.
- JAXB
- Ancienne technologie pour le support du format XML.
- JSON-B
- Nouvelle technologie en complément de JSON-P pour la conversion au format JSON à l'aide d'annotation.
- Security
- Nouvelle technologie pour sécuriser une application Jakarta EE.