Profil Web Java EE vs Plateforme complète Java EE
Quelle est la différence entre un serveur certifié Java EE Web Profile (comme JOnAS) et un serveur certifié Java EE Full Platform (comme JBoss AS)?
3 answers
Voici une belle image qui l'explique. Le profil Web est un sous-ensemble de Java EE et son but est de permettre aux développeurs de créer des applications plus légères qui peuvent être utilisées dans un conteneur de servlet simple (comme Tomcat ou Jetty).
Futur
En 2017, Oracle a confié la responsabilité de Java EE à la Eclipse Foundation. Les futures versions après Java EE 8 seront connues sous le nom de Eclipse Enterprise pour Java (EE4J). OuProjet EE4J . Ou peut-être EE.suivant. Ou Jakarta EE. L'image de marque a changé ces derniers mois.Dans Java SE 11, certains modules seront supprimés. Les parties liées à Java EE déménagent dans une nouvelle maison à Jakarta L'EE du projet. D'autres, comme CORBA, ont été proposés à l'adoption par toute organisation intéressée. Voir JEP 320.
Java EE 8
Java EE 8 a été publié 2017. Voirhistorique des versions .
Voir JSR 366: Java Platform, Enterprise Edition 8 (Java EE 8) Specification pour plus de détails.
Il s'agit d'un sur-ensemble deJava Standard Edition (Java SE). Toute implémentation Java EE 8 est également une implémentation de Java SE 8 ou tard.
Voir liste de Java EE 8 les technologies de l', publié par Oracle, avec des liens vers Jsr et les spécifications.
Tous les profils
Les technologies suivantes doivent être présentes dans tous les profils Java EE:
• Java SE version 8 (ou version ultérieure)
• Annotations du cycle de vie des ressources et des composants définies par Spécification des annotations (Ressource, Ressources, PostConstruct, PreDestroy)
• JNDI "java:" contexte de nommage
• Java Transaction API (JTA)
Profil Web
Le Profil Web est un sous-ensemble spécifique de la plate-forme Java EE complète, se concentrant sur les éléments couramment utilisés. Mis en œuvre par des produits tels que Apache TomEE ou presque, avec Eclipse Jetée plus add-ons.
• Éléments de niveau de base requis par tous les profils Java EE (listés ci-dessus: Java SE 8, cycle de vie les annotations, JNDI
java:
contexte, et JTA)• Servlet 4.0 (JSR 369)
• JavaServer Pages (JSP) 2.3
{[3]• * Langage d'expression (EL) 3.0 (JSR 341) {[3]• * Prise en charge du débogage pour d'autres langues (JSR-45) 1.0 {[3]• * Bibliothèque de balises standard pour les pages JavaServer (JSTL) 1.2• JavaServer Faces (JSF) 2.3 (JSR 372)
• Java de l'API pour les Services Web RESTful (JAX-RS) 2.1
• J'ai besoin d'une api Java pour WebSocket (WebSocket) 1.1 (JSR 356)
{[3]• * API Java pour le traitement JSON (JSON-P) 1.1 (JSR 374) {[3]• * API Java pour la liaison JSON (JSON-B) 1.0 (JSR 367) {[3]• * Annotations communes pour la plate-forme Java (JSR-250) 1.3 * Enterprise JavaBeans (EJB) 3.2 Lite• Java Transaction API (JTA) 1.2
Il est possible de créer un fichier Java Persistence API (JPA) 2.2• Validation des Haricots 2.0 (JSR 380)
• Haricots gérés 1.0
• Intercepteurs 1.2
• Contexts and Dependency Injection pour la plate-forme Java EE 2.0
• Injection de dépendance pour Java 1.0
• Java EE de Sécurité de l'API 1.0
• Java Authentication Interface du Fournisseur de Services pour Conteneurs (JASPIC) 1.1
Servlet uniquement
Comme alternative plus légère à l'utilisation d'une implémentation de profil Web, vous pouvez commencer avec un Servlet Java / JSP la mise en œuvre comme Apache Tomcat ou Eclipse de la Jetée. Bien que non officielle en tant que profil, cette approche est très populaire. Parfois connu comme un conteneur web.
• Servlet
• JavaServer Pages (JSP)
{[3]• * Langage d'expression (EL)• JNDI
Lorsque vous utilisez ceci lors de la configuration, vous pouvez ajouter sélectivement des bibliothèques indépendantes pour bénéficier sélectivement des différentes technologies Java EE. Par exemple, pour mon propre travail de création d'applications Web à l'aide du Vaadin Framework , j'utilise Java SE plutôt que EE, avec Tomcat , et j'ajoute un Validation des Haricots bibliothèque d'implémentation manuellement car c'est tout ce dont j'ai besoin de la liste des technologies Java EE.
Java complet EE
Les technologies suivantes sont requises:
{[3]• * Tous les éléments du profil Web {[3]• * EJB 3.2 (sauf pour les beans d'entité EJB et EJBQL associés, qui ont été rendus facultatifs) {[3]• * JMS 2.0• JavaMail 1.6
• Connecteur 1.7
{[3]• * WebServices 1.4• Utilitaires de concurrence 1.0
{[3]• * Batch1. 0 • Gestion Java EE 1.1* Gestion Java EE 1.1
{[3]• * JACC 1.5 {[3]• * Débogage JSP 1.0• Métadonnées des services Web 2.1
Les technologies suivantes sont facultatives:
• EJB 3.2 et les beans d'entité antérieurs et EJB QL associé
{[3]• * JAX-RPC 1.1• JAXR 1.0
* Déploiement Java EE 1.2
Diagramme
Voici un diagramme pour montrer les groupes imbriqués d'exigences.
Voir la liste ci-dessus pour plus de précision; ce diagramme n'a pas été revérifié.
La spécification Java EE 6 (JSR 316) contient les listes suivantes:
Exigences complètes du produit Java EE
Les technologies suivantes sont requises:
- EJB 3.1
- Servlet 3.0
- JSP 2.2
- EL 2.2
- JMS 1.1
- JTA 1.1
- JavaMail 1.4
- Connecteur 1.6
- Services Web 1.3
- JAX-RPC 1.1
- JAX-WS 2.2
- JAX-RS 1.1
- JAXB 2.2
- JAXR 1.0
Gestion Java EE 1.1- Déploiement Java EE 1.2
- JACC 1.4
- JASPIC 1.0
- Débogage JSP 1.0
- JSTL 1.2
- Métadonnées des services Web 2.1
- JSF 2.0
- Annotations communes 1.1
- Persistance Java 2.0
- Validation du bean 1.0
- Haricots gérés 1.0
- Contextes et injection de dépendances pour Java EE 1.0
- Injection de dépendance pour Java 1.0
Il n'y a pas de technologies optionnelles.
Définition de profil Web
Les technologies suivantes sont des composants requis du profil Web:
- Servlet 3.0
- JavaServer Pages (JSP) 2.2
- Langage d'expression (EL) 2.2
- Prise en charge du débogage pour d'autres langues (JSR-45) 1.0
- Bibliothèque de balises standard pour les pages JavaServer (JSTL) 1.2
- JavaServer Faces (JSF) 2.0
- Annotations communes pour la plateforme Java (JSR-250) 1.1
- Enterprise JavaBeans (EJB) 3.1 Lite
- Java Transaction API (JTA) 1.1
- Java Persistence API (JPA) 2.0
- Validation du bean 1.0
- Haricots gérés 1.0
- Intercepteurs 1.1
- Contextes et injection de dépendances pour la plate-forme Java EE 1.0
- Injection de dépendance pour Java 1.06
Il n'y a pas composants optionnels dans le profil Web.
Pour Java EE 7, il existe uneliste de toutes les technologies EE, montrant également celles qui sont incluses dans le profil Web. Certaines technologies auparavant disponibles uniquement dans le Profil complet sont maintenant incluses dans le profil Web, telles que JAX-RS.