web-dev-qa-db-fra.com

Un résumé de toutes les spécifications Java EE

Je cherche une description claire de toutes les technologies Java EE technologies stack.

Je pense que beaucoup de gens comme moi ont recherché dans de nombreux sites/tutoriels et n'ont pas trouvé de liste précise des technologies utilisées dans Java EE et à quoi servent-elles.

J'espère que quelqu'un clarifiera simplement et joliment pour être bon pour toute la communauté.

25
V. Sambor

Important: Bien que cette réponse soit toujours valide, vous pouvez vérifier la liste des technologies de Java EE 8 , sorti le 21 septembrest 2017. Jetez un œil à cela réponse .


Les technologies Java EE 7

Vous trouverez ci-dessous une liste des spécifications des technologies Java EE 7. Pour plus de détails, consultez les pages JSR:

  • Plateforme Java EE

    • JSR 342 : Java, Enterprise Edition 7 (Java EE 7)
  • Technologies d'application Web

    • JSR 356 : Java pour WebSocket
    • JSR 35 : Java API pour le traitement JSON
    • JSR 34 : Java Servlet 3.1
    • JSR 344 : JavaServer Faces 2.2
    • JSR 341 : Expression Language 3.0
    • JSR 245 : JavaServer Pages 2.3
    • JSR 52 : Bibliothèque de balises standard pour les pages JavaServer (JSTL) 1.2
  • Technologies d'application d'entreprise

    • JSR 352 : Applications par lots pour la plate-forme Java
    • JSR 236 : Utilitaires d'accès simultané pour Java EE 1.0
    • JSR 346 : Contextes et injection de dépendances pour Java 1.1
    • JSR 3 : Injection de dépendances pour Java 1.0
    • JSR 349 : Bean Validation 1.1
    • JSR 345 : Enterprise JavaBeans 3.2
    • JSR 318 : Intercepteurs 1.2
    • JSR 322 : Java Architecture du connecteur EE 1.7
    • JSR 338 : Java Persistance 2.1
    • JSR 25 : Annotations courantes pour la Java Platform 1.2
    • JSR 34 : Java Message Service API 2.0
    • JSR 907 : Java API de transaction (JTA) 1.2
    • JSR 919 : JavaMail 1.5
  • Technologies des services Web

    • JSR 339 : Java API pour RESTful Web Services (JAX-RS) 2.0
    • JSR 109 : Implémentation des services Web d'entreprise 1.3
    • JSR 224 : Java API pour les services Web basés sur XML (JAX-WS) 2.2
    • JSR 181 : Métadonnées des services Web pour la plate-forme Java
    • JSR 101 : Java API pour RPC basé sur XML (JAX-RPC) 1.1
    • JSR 67 : Java pour la messagerie XML 1.3
    • JSR 9 : Java API pour les registres XML (JAXR) 1.0
  • Technologies de gestion et de sécurité

    • JSR 196 : Java Interface du fournisseur de services d'authentification pour les conteneurs 1.1
    • JSR 115 : Java Contrat d'autorisation pour les conteneurs 1.5
    • JSR 88 : Java EE Application Deployment 1.2 (Facultatif)
    • JSR 77 : Gestion J2EE 1.1
    • JSR 45 : Prise en charge du débogage pour d'autres langues 1.0
  • Spécifications relatives à Java EE dans Java SE

    • JSR 222 : Java Architecture pour la liaison XML (JAXB) 2.2
    • JSR 206 : Java API pour le traitement XML (JAXP) 1.3
    • JSR 221 : Java Connectivité de base de données 4.0
    • JSR : Java Extensions de gestion (JMX) 2.0
    • JSR 925 : JavaBeans Activation Framework (JAF) 1.1
    • JSR 17 : API de streaming pour XML (StAX) 1.0

Pour plus de détails, reportez-vous à cette page .

La pile Java EE

Comme mentionné par Arun Gupta dans son livre intitulé Java EE 7 Essentials , les différents composants fonctionnent ensemble pour fournir une pile intégrée, comme indiqué ci-dessous:

The Java EE stack

Nous avons donc les éléments suivants:

  • Différents composants peuvent être logiquement divisés en trois niveaux: niveau backend, niveau intermédiaire et niveau web. Il ne s'agit que d'une représentation logique et les composants peuvent être limités à un niveau différent en fonction des exigences de l'application.

  • JPA et JMS fournissent les services de base tels que l'accès à la base de données et la messagerie. JCA permet la connexion aux systèmes hérités. Batch est utilisé pour effectuer des tâches non interactives et orientées en masse.

  • Les beans gérés et les EJB fournissent un modèle de programmation simplifié utilisant des POJO pour utiliser les services de base.

  • Le CDI, les intercepteurs et les annotations communes fournissent des concepts applicables à une grande variété de composants, tels que l'injection de dépendance de type sécurisé, la résolution des problèmes transversaux à l'aide d'intercepteurs et un ensemble commun d'annotations. Les utilitaires de simultanéité peuvent être utilisés pour exécuter des tâches dans un thread géré. JTA active les intercepteurs transactionnels qui peuvent être appliqués à n'importe quel POJO.

  • Les extensions CDI vous permettent d'étendre la plateforme au-delà de ses capacités existantes de manière standard.

  • Les services Web utilisant JAX-RS et JAX-WS, JSF, JSP et EL définissent le modèle de programmation pour les applications Web. Les fragments Web permettent l'enregistrement automatique de cadres Web tiers de manière très naturelle. JSON fournit un moyen d'analyser et de générer des structures JSON dans le niveau Web. WebSocket permet la configuration d'un canal de communication bidirectionnel en duplex intégral sur une seule connexion TCP.

  • Bean Validation fournit un moyen standard de déclarer des contraintes et de les valider sur différentes technologies.

Un briefing de chaque technologie

Pour en savoir plus sur les principales technologies répertoriées ci-dessus, consultez le tutoriel Java EE 7 . Et un bon aperçu des principales technologies peut être trouvé dans ce page . Je le cite ici:

Technologie JavaBeans d'entreprise

Un composant Enterprise JavaBeans (EJB), ou bean entreprise, est un corps de code qui a des champs et des méthodes pour implémenter des modules de logique métier. Vous pouvez considérer un bean entreprise comme un bloc de construction qui peut être utilisé seul ou avec d'autres beans entreprise pour exécuter la logique métier sur le serveur Java EE.

Les beans entreprise sont des beans session ou des beans pilotés par message.

  • Un bean session représente une conversation transitoire avec un client. Lorsque le client a terminé son exécution, le bean session et ses données ont disparu.

  • Un bean géré par message combine les fonctionnalités d'un bean session et d'un écouteur de messages, permettant à un composant métier de recevoir des messages de manière asynchrone. Ce sont généralement des messages Java Message Service (JMS).

Dans la plate-forme Java EE 7, les nouvelles fonctionnalités du bean entreprise sont les suivantes:

  • Beans de session locale asynchrone dans EJB Lite

  • Minuteries non persistantes dans EJB Lite

La plate-forme Java EE 7 nécessite Enterprise JavaBeans 3.2 et Interceptors 1.2. La spécification Interceptors fait partie de la spécification EJB.

Technologie Java Servlet

La technologie Java Servlet vous permet de définir des classes de servlet spécifiques à HTTP. Une classe de servlet étend les capacités des serveurs auxquels les applications hôtes accèdent par le biais d'un modèle de programmation requête-réponse. Bien que les servlets puissent répondre à tout type de demande, ils sont couramment utilisés pour étendre les applications hébergées par les serveurs Web.

Dans la plate-forme Java EE 7, les nouvelles fonctionnalités de la technologie Java Servlet incluent les éléments suivants:

  • E/S non bloquantes

  • Mise à niveau du protocole HTTP

La plate-forme Java EE 7 nécessite Servlet 3.1.

Technologie JavaServer Faces

La technologie JavaServer Faces est un cadre d'interface utilisateur pour la création d'applications Web. Les principaux composants de la technologie JavaServer Faces sont les suivants:

  • Un cadre de composants GUI.

  • Un modèle flexible pour le rendu des composants dans différents types de HTML ou différents langages et technologies de balisage. Un objet Renderer génère le balisage pour rendre le composant et convertit les données stockées dans un objet modèle en types pouvant être représentés dans une vue.

  • Un RenderKit standard pour générer le balisage HTML 4.01.

Les fonctionnalités suivantes prennent en charge les composants GUI:

  • Validation des entrées

  • Gestion des événements

  • Conversion de données entre les objets du modèle et les composants

  • Création d'objet de modèle géré

  • Configuration de la navigation dans les pages

  • Langage d'expression (EL)

Toutes ces fonctionnalités sont disponibles à l'aide des API standard Java API et des fichiers de configuration basés sur XML.

Dans la plate-forme Java EE 7, les nouvelles fonctionnalités de la technologie JavaServer Faces sont les suivantes:

  • Balisage compatible HTML5

  • Flux de visages

  • Contrats de bibliothèque de ressources

La plate-forme Java EE 7 nécessite JavaServer Faces 2.2 et Expression Language 3.0.

Technologie JavaServer Pages

La technologie JavaServer Pages (JSP) vous permet de placer des extraits de code de servlet directement dans un document texte. Une page JSP est un document texte qui contient deux types de texte:

  • Données statiques, qui peuvent être exprimées dans n'importe quel format texte, tel que HTML ou XML

  • Éléments JSP, qui déterminent comment la page construit du contenu dynamique

Pour plus d'informations sur la technologie JSP, consultez le Le Java EE 5 sur http://docs.Oracle.com/javaee/5/ tutoriel/doc / .

La plate-forme Java EE 7 nécessite JavaServer Pages 2.3 pour la compatibilité avec les versions antérieures, mais recommande l'utilisation de Facelets comme technologie d'affichage dans les nouvelles applications.

Bibliothèque de balises JavaServer Pages Standard

La bibliothèque de balises standard JavaServer Pages (JSTL) encapsule les fonctionnalités de base communes à de nombreuses applications JSP. Au lieu de mélanger les balises de nombreux fournisseurs dans vos applications JSP, vous utilisez un seul jeu de balises standard. Cette standardisation vous permet de déployer vos applications sur n'importe quel conteneur JSP qui prend en charge JSTL et rend plus probable que l'implémentation des balises soit optimisée.

JSTL a un itérateur et des balises conditionnelles pour gérer le contrôle de flux, des balises pour manipuler des documents XML, des balises d'internationalisation, des balises pour accéder aux bases de données à l'aide de SQL et des balises pour les fonctions couramment utilisées.

La plate-forme Java EE 7 nécessite JSTL 1.2.

API de persistance Java

L'API Java Persistence API (JPA) est une solution basée sur les normes Java Java) pour la persistance. La persistance utilise une approche de mappage objet/relationnel pour combler l'écart entre un objet et une base de données relationnelle. L'API Java Persistence peut également être utilisée dans les applications Java SE SE en dehors des Java = Environnement EE. Java La persistance comprend les zones suivantes:

  • L'API Java Persistence

  • Le langage de requête

  • Métadonnées de mappage objet/relationnel

La plate-forme Java EE 7 nécessite Java API Persistence 2.1.

API de transaction Java

L'API Java Transaction API (JTA) fournit une interface standard pour délimiter les transactions. L'architecture Java EE fournit une validation automatique par défaut pour gérer les validations et les annulations de transactions. la validation automatique signifie que toutes les autres applications qui consultent des données verront les données mises à jour après chaque opération de lecture ou d'écriture de base de données. Cependant, si votre application effectue deux opérations d'accès à la base de données distinctes qui dépendent l'une de l'autre, vous souhaiterez utiliser l'API JTA pour délimitez le début, la restauration et la validation de l'intégralité de la transaction, y compris les deux opérations.

La plate-forme Java EE 7 nécessite Java API de transaction 1.2.

API Java pour les services Web RESTful

L'API Java pour les services Web RESTful (JAX-RS) définit les API pour le développement de services Web construits selon le style architectural REST (Representational State Transfer). Une application JAX-RS est un site Web application composée de classes regroupées sous forme de servlet dans un fichier WAR avec les bibliothèques requises.

La plate-forme Java EE 7 nécessite JAX-RS 2.0.

Haricots gérés

Les beans gérés, objets légers gérés par conteneur (POJO) avec des exigences minimales, prennent en charge un petit ensemble de services de base, tels que l'injection de ressources, les rappels de cycle de vie et les intercepteurs. Les beans gérés représentent une généralisation des beans gérés spécifiés par la technologie JavaServer Faces et peuvent être utilisés n'importe où dans une application Java EE, pas seulement dans les modules Web.

La spécification Managed Beans fait partie de la spécification de plate-forme Java EE 7 (JSR 342). La plate-forme Java EE 7 nécessite Managed Beans 1.0).

Contextes et injection de dépendances pour Java EE

Contextes et injection de dépendances pour Java EE (CDI) définit un ensemble de services contextuels, fournis par Java EE conteneurs, qui facilitent l'utilisation de l'entreprise par les développeurs) Beans avec la technologie JavaServer Faces dans les applications Web. Conçu pour être utilisé avec des objets avec état, CDI a également de nombreuses utilisations plus larges, permettant aux développeurs une grande flexibilité pour intégrer différents types de composants de manière lâche couplée mais sécurisée.

La plate-forme Java EE 7 nécessite CDI 1.1.

Injection de dépendances pour Java

Injection de dépendances pour Java définit un ensemble standard d'annotations (et une interface) à utiliser sur les classes injectables.

Dans la plate-forme Java EE, CDI prend en charge l'injection de dépendances. Plus précisément, vous ne pouvez utiliser des points d'injection que dans une application compatible CDI.

La plate-forme Java EE 7 nécessite une injection de dépendance pour Java 1.0.

Validation du bean

La spécification Bean Validation définit un modèle de métadonnées et une API pour valider les données dans les composants JavaBeans. Au lieu de distribuer la validation des données sur plusieurs couches, comme le navigateur et le côté serveur, vous pouvez définir les contraintes de validation en un seul endroit et les partager entre les différentes couches.

La plate-forme Java EE 7 nécessite Bean Validation 1.1.

API Java Message Service

L'API Java Message Service (JMS) est une norme de messagerie qui permet aux composants d'application Java EE) de créer, d'envoyer, de recevoir et de lire des messages. communication faiblement couplée, fiable et asynchrone.

Dans la plate-forme, les nouvelles fonctionnalités de JMS sont les suivantes.

  • Une nouvelle API simplifiée offre une alternative plus simple à l'ancienne API. Cette API comprend un objet JMSContext qui combine les fonctions d'une connexion et un Session.

  • Tous les objets avec une méthode close implémentent le Java.lang.Autocloseable interface afin qu'ils puissent être utilisés dans une instruction Java SE 7 try-with-resources.

La plate-forme Java EE 7 nécessite JMS 2.0.

Architecture du connecteur Java EE

L'architecture de connecteur Java EE est utilisée par les fournisseurs d'outils et les intégrateurs de systèmes pour créer des adaptateurs de ressources qui prennent en charge l'accès aux systèmes d'information d'entreprise qui peuvent être connectés à n'importe quel Java Produit EE. Un adaptateur de ressources est un composant logiciel qui permet à Java composants d'application EE d'accéder et d'interagir avec le gestionnaire de ressources sous-jacent de l'EIS. Étant donné qu'un adaptateur de ressources est spécifique à son gestionnaire de ressources, un il existe généralement un adaptateur de ressources différent pour chaque type de base de données ou de système d'information d'entreprise.

L'architecture de connecteur Java EE fournit également une intégration transactionnelle axée sur les performances, sécurisée, évolutive et basée sur les messages de Java services Web basés sur la plate-forme EE avec les services existants). EIS qui peuvent être synchrones ou asynchrones. Les applications existantes et les EIS intégrés via l'architecture de connecteur Java EE dans la plate-forme Java EE peuvent être exposés au format XML) services Web en utilisant JAX-WS et Java EE. Ainsi, JAX-WS et l'architecture de connecteur Java EE sont des technologies complémentaires pour l'intégration d'applications d'entreprise (EAI) ) et l'intégration commerciale de bout en bout.

La plate-forme Java EE 7 nécessite Java EE Connector Architecture 1.7.

API JavaMail

Les applications Java EE utilisent l'API JavaMail pour envoyer des notifications par e-mail. L'API JavaMail comprend deux parties:

  • Une interface au niveau de l'application utilisée par les composants de l'application pour envoyer du courrier

  • Une interface fournisseur de services

La plate-forme Java EE comprend l'API JavaMail avec un fournisseur de services qui permet aux composants d'application d'envoyer du courrier Internet.

La plate-forme Java EE 7 nécessite JavaMail 1.5.

Contrat d'autorisation Java pour les conteneurs

La spécification Java Contrat d'autorisation pour les conteneurs (JACC) définit un contrat entre un serveur d'applications Java EE et un fournisseur de stratégie d'autorisation. Tous Java EE prennent en charge ce contrat.

La spécification JACC définit Java.security.Permission classes qui satisfont au modèle d'autorisation Java EE. La spécification définit la liaison des décisions d'accès au conteneur aux opérations sur les instances de ces classes d'autorisation. Elle définit la sémantique des fournisseurs de stratégie qui utilisent la nouvelle des classes d'autorisation pour répondre aux exigences d'autorisation de la plate-forme Java EE, y compris la définition et l'utilisation des rôles.

La plate-forme Java EE 7 nécessite JACC 1.5.

Interface du fournisseur de services d'authentification Java pour les conteneurs

La spécification Java Authentication Service Provider Interface for Containers (JASPIC) définit une interface de fournisseur de services (SPI) par laquelle les fournisseurs d'authentification qui mettent en œuvre des mécanismes d'authentification de message peuvent être intégrés dans des conteneurs de traitement de message client ou serveur ou Les fournisseurs d'authentification intégrés via cette interface fonctionnent sur les messages réseau qui leur sont fournis par leurs conteneurs appelants. Les fournisseurs d'authentification transforment les messages sortants afin que la source de chaque message puisse être authentifiée par le conteneur de réception et que le destinataire du message puisse être authentifié par l'expéditeur du message. Les fournisseurs d'authentification authentifient chaque message entrant et renvoient à leurs conteneurs appelants l'identité établie à la suite de l'authentification du message.

La plate-forme Java EE 7 nécessite JASPIC 1.1.

API Java pour WebSocket

WebSocket est un protocole d'application qui fournit des communications en duplex intégral entre deux homologues via TCP. L'API Java pour WebSocket permet aux applications Java EE de créer des points de terminaison à l'aide d'annotations qui spécifient les paramètres de configuration du point de terminaison et désignent ses méthodes de rappel du cycle de vie).

L'API WebSocket est une nouveauté de la plate-forme Java EE 7. La plate-forme Java EE 7 nécessite Java pour WebSocket 1.0) .

API Java pour le traitement JSON

JSON est un format d'échange de données textuel dérivé de JavaScript utilisé dans les services Web et autres applications connectées. L'API Java pour le traitement JSON (JSON-P) permet aux applications Java EE d'analyser, de transformer et d'interroger les données JSON à l'aide du modèle objet ou du modèle de streaming). .

JSON-P est nouveau sur la plate-forme Java EE 7. La plate-forme Java EE 7 nécessite JSON-P 1.0.

Utilitaires de concurrence pour Java EE

Utilitaires de concurrence pour Java EE est une API standard pour fournir des capacités asynchrones à Java EE composants d'application à travers les types d'objets suivants: service d'exécuteur géré, exécuteur planifié géré) service, fabrique de threads gérés et service de contexte.

Concurrency Utilities for Java EE is new to the Java EE 7 platform. The Java EE 7 platform requires Concurrency Utilities for Java EE 1.0.

Applications par lots pour la plate-forme Java

Les travaux par lots sont des tâches qui peuvent être exécutées sans interaction de l'utilisateur. Les applications par lots pour la spécification de plate-forme Java est un cadre de traitement par lots qui prend en charge la création et l'exécution de travaux par lots dans les applications Java. Le cadre de traitement par lots se compose d'un lot runtime, un langage de spécification de travail basé sur XML, une API Java pour interagir avec le runtime batch et une API Java pour implémenter des artefacts batch).

Applications par lots pour la plate-forme Java Java est nouvelle sur la plate-forme Java EE 7. La plate-forme Java EE 7 nécessite des applications par lots) pour la plate-forme Java 1.0.

Voir également

Pour vérifier les technologies des anciennes versions de Java EE, consultez les liens suivants:

51
cassiomolin

Les technologies Java EE 8

Java EE 8 s'appuie sur Java EE 7 (voir ancienne réponse pour plus de détails) et modernise la prise en charge de nombreuses normes de l'industrie et continue la simplification des API prêtes pour l'entreprise.

Les améliorations comprennent:

  • API Java Servlet 4.0 avec prise en charge HTTP/2
  • Prise en charge JSON améliorée, y compris une nouvelle API de liaison JSON
  • Une nouvelle REST API client réactive
  • Événements CDI asynchrones
  • Une nouvelle API de sécurité portable
  • Prise en charge des événements envoyés par le serveur (côté client et côté serveur)
  • Prise en charge de Java SE 8 nouvelles fonctionnalités (par exemple, API Data & Time, API Streams, améliorations des annotations)

Les JSR suivants sont nouveau ou mis à jour dans Java EE 8:

  • Plateforme Java EE

  • Technologies d'application Web

    • JSR 367 : L'API Java pour la liaison JSON (JSON-B) 1.0
    • JSR 374 : Java API pour le traitement JSON (JSON-P) 1.1
    • JSR 369 : Java Servlet 4.0
    • JSR 372 : JavaServer Faces (JSF) 2.3
  • Technologies d'application d'entreprise

    • JSR 365 : Contextes et injection de dépendance (CDI) 2.0
    • JSR 38 : Bean Validation 2.0
    • JSR 338 : Java Persistance 2.2
    • JSR 25 : Annotations communes 1.3
    • JSR 919 : JavaMail 1.6
  • Technologies des services Web

    • JSR 37 : Java API pour RESTful Web Services (JAX-RS) 2.1
  • Technologies de gestion et de sécurité

Pour plus de détails, reportez-vous à cette page .

Un briefing de chaque technologie

Pour en savoir plus sur les principales technologies répertoriées ci-dessus, consultez le tutoriel Java EE . Et un bon aperçu des principales technologies peut être trouvé dans ce page . Je le cite ici:

Technologie JavaBeans d'entreprise

Un composant Enterprise JavaBeans (EJB), ou bean entreprise, est un corps de code qui a des champs et des méthodes pour implémenter des modules de logique métier. Vous pouvez considérer un bean entreprise comme un bloc de construction qui peut être utilisé seul ou avec d'autres beans entreprise pour exécuter la logique métier sur le serveur Java EE.

Les beans entreprise sont des beans session ou des beans pilotés par message.

  • Un bean session représente une conversation transitoire avec un client. Lorsque le client a terminé son exécution, le bean session et ses données ont disparu.
  • Un bean géré par message combine les fonctionnalités d'un bean session et d'un écouteur de messages, permettant à un composant métier de recevoir des messages de manière asynchrone. Ce sont généralement des messages Java Message Service (JMS).

La plate-forme Java EE 8 nécessite Enterprise JavaBeans 3.2 et Interceptors 1.2. La spécification Interceptors fait partie de la spécification EJB.

Technologie Java Servlet

La technologie Java Servlet vous permet de définir des classes de servlet spécifiques à HTTP. Une classe de servlet étend les capacités des serveurs auxquels les applications hôtes accèdent par le biais d'un modèle de programmation requête-réponse. Bien que les servlets puissent répondre à tout type de demande, ils sont couramment utilisés pour étendre les applications hébergées par les serveurs Web.

Dans la plate-forme Java EE 8, les nouvelles fonctionnalités de la technologie Java Servlet incluent les éléments suivants:

  • Serveur Push
  • Bande-annonce HTTP

La plate-forme Java EE 8 nécessite Servlet 4.0

Technologie JavaServer Faces

La technologie JavaServer Faces est un cadre d'interface utilisateur pour la création d'applications Web. Les principaux composants de la technologie JavaServer Faces sont les suivants:

  • Un cadre de composants GUI.
  • Un modèle flexible pour le rendu des composants dans différents types de HTML ou différents langages et technologies de balisage. Un objet Renderer génère le balisage pour rendre le composant et convertit les données stockées dans un objet modèle en types pouvant être représentés dans une vue.
  • Un RenderKit standard pour générer du balisage HTML 4.01.

Les fonctionnalités suivantes prennent en charge les composants GUI:

  • Validation des entrées
  • Gestion des événements
  • Conversion de données entre les objets du modèle et les composants
  • Création d'objet de modèle géré
  • Configuration de la navigation dans les pages
  • Langage d'expression (EL)

Toutes ces fonctionnalités sont disponibles à l'aide des API standard Java API et des fichiers de configuration basés sur XML.

Dans la plate-forme Java EE 8, les nouvelles fonctionnalités de la technologie JavaServer Faces sont les suivantes:

  • Prise en charge directe de WebSockets via le nouveau <f:websocket> tag
  • Validation du bean au niveau de la classe via le nouveau <f:validateWholeBean> tag
  • Un CDI compatible @ManagedProperty annotation
  • Cadre d'expression de recherche de composants amélioré

La plate-forme Java EE 8 nécessite JavaServer Faces 2.3 et Expression Language 3.0.

Pour un excellent résumé des nouveautés de JSF 2.3, voir https://javaserverfaces.github.io/whats-new-in-jsf23.html .

Technologie JavaServer Pages

La technologie JavaServer Pages (JSP) vous permet de placer des extraits de code de servlet directement dans un document texte. Une page JSP est un document texte qui contient deux types de texte:

  • Données statiques, qui peuvent être exprimées dans n'importe quel format texte, tel que HTML ou XML
  • Éléments JSP, qui déterminent comment la page construit du contenu dynamique

Pour plus d'informations sur la technologie JSP, consultez le didacticiel Java EE 5 sur http://docs.Oracle.com/javaee/5/tutorial/doc/ .

La plate-forme Java EE 8 nécessite JavaServer Pages 2.3 pour la compatibilité avec les versions antérieures, mais recommande l'utilisation de Facelets comme technologie d'affichage dans les nouvelles applications.

Bibliothèque de balises JavaServer Pages Standard

La bibliothèque de balises standard JavaServer Pages (JSTL) encapsule les fonctionnalités de base communes à de nombreuses applications JSP. Au lieu de mélanger les balises de nombreux fournisseurs dans vos applications JSP, vous utilisez un seul jeu de balises standard. Cette standardisation vous permet de déployer vos applications sur n'importe quel conteneur JSP qui prend en charge JSTL et rend plus probable que l'implémentation des balises soit optimisée.

JSTL possède un itérateur et des balises conditionnelles pour gérer le contrôle de flux, des balises pour manipuler des documents XML, des balises d'internationalisation, des balises pour accéder aux bases de données à l'aide de SQL et des balises pour les fonctions couramment utilisées.

La plate-forme Java EE 8 nécessite JSTL 1.2.

API de persistance Java

L'API Java Persistence API (JPA) est une solution basée sur les normes Java Java) pour la persistance. La persistance utilise une approche de mappage objet/relationnel pour combler l'écart entre un objet et une base de données relationnelle. L'API de persistance Java Persistance peut également être utilisée dans les applications SE Java SE en dehors des Java = Environnement EE. Java La persistance comprend les zones suivantes:

  • L'API Java Persistence
  • Le langage de requête
  • Métadonnées de mappage objet/relationnel

La plate-forme Java EE 8 nécessite Java API de persistance 2.2.

API de transaction Java

L'API Java Transaction API (JTA) fournit une interface standard pour délimiter les transactions. L'architecture Java EE fournit une validation automatique par défaut pour gérer les validations et les annulations de transactions. la validation automatique signifie que toutes les autres applications qui consultent des données verront les données mises à jour après chaque opération de lecture ou d'écriture de base de données. Cependant, si votre application effectue deux opérations d'accès à la base de données distinctes qui dépendent l'une de l'autre, vous souhaiterez utiliser l'API JTA délimitez le début, la restauration et la validation de l'intégralité de la transaction, y compris les deux opérations.

La plate-forme Java EE 8 nécessite Java API de transaction 1.2.

API Java pour les services Web RESTful

L'API Java pour les services Web RESTful (JAX-RS) définit les API pour le développement de services Web construits selon le style architectural REST (Representational State Transfer). Une application JAX-RS est un site Web application composée de classes regroupées sous forme de servlet dans un fichier WAR avec les bibliothèques requises.

Dans la plate-forme Java EE 8, les nouvelles fonctionnalités des services Web RESTful incluent les éléments suivants:

  • API client réactive: lorsque les résultats d'une invocation sur une ressource cible sont reçus, des améliorations des API de l'étape d'achèvement dans Java SE permettent de spécifier, hiérarchiser, combiner ou concaténés et comment les exceptions peuvent être gérées.
  • Améliorations de la prise en charge des événements envoyés par le serveur: les clients peuvent s'abonner aux notifications d'événements émises par le serveur à l'aide d'une connexion de longue durée. La prise en charge d'un nouveau type de média, texte/flux d'événements, a été ajoutée.
  • Prise en charge des objets JSON-B et meilleure intégration avec les technologies CDI, Servlet et Bean Validation

La plate-forme Java EE 8 nécessite JAX-RS 2.1.

Haricots gérés

Les beans gérés, objets légers gérés par conteneur (POJO) avec des exigences minimales, prennent en charge un petit ensemble de services de base, tels que l'injection de ressources, les rappels de cycle de vie et les intercepteurs. Les beans gérés représentent une généralisation des beans gérés spécifiés par la technologie JavaServer Faces et peuvent être utilisés n'importe où dans une application Java EE, pas seulement dans les modules Web.

La spécification Managed Beans fait partie de la spécification de la plate-forme Java EE 8 (JSR 366). La plate-forme Java EE 8 nécessite Managed Beans 1.0).

Contextes et injection de dépendances pour Java EE

Contextes et injection de dépendances pour Java EE (CDI) définit un ensemble de services contextuels, fournis par Java EE conteneurs, qui facilitent l'utilisation de l'entreprise par les développeurs) Beans avec la technologie JavaServer Faces dans les applications Web. Conçu pour être utilisé avec des objets avec état, CDI a également de nombreuses utilisations plus larges, permettant aux développeurs une grande flexibilité pour intégrer différents types de composants de manière lâche couplée mais sécurisée.

Dans la plate-forme Java EE 8, les nouvelles fonctionnalités CDI sont les suivantes:

  • Une API pour démarrer un conteneur CDI dans Java SE 8
  • Prise en charge de l'ordre des observateurs, qui détermine l'ordre dans lequel les méthodes d'observation pour un événement particulier sont invoquées, et prise en charge du déclenchement d'événements de manière asynchrone
  • Les interfaces des configurateurs, qui sont utilisées pour définir et modifier dynamiquement les objets CDI
  • Littéraux d'annotation intégrés, fonctionnalité pratique pour créer des instances d'annotations, etc.

La plate-forme Java EE 8 nécessite CDI 2.0.

Injection de dépendances pour Java

Injection de dépendances pour Java définit un ensemble standard d'annotations (et une interface) à utiliser sur les classes injectables.

Dans la plate-forme Java EE, CDI prend en charge l'injection de dépendances. Plus précisément, vous ne pouvez utiliser des points d'injection que dans une application compatible CDI.

La plate-forme Java EE 8 nécessite l'injection de dépendance pour Java 1.0.

Validation du bean

La spécification Bean Validation définit un modèle de métadonnées et une API pour valider les données dans les composants JavaBeans. Au lieu de distribuer la validation des données sur plusieurs couches, comme le navigateur et le côté serveur, vous pouvez définir les contraintes de validation en un seul endroit et les partager entre les différentes couches.

Dans la plate-forme Java EE 8, les nouvelles fonctionnalités de validation de bean incluent les éléments suivants:

  • Prise en charge de nouvelles fonctionnalités dans Java SE 8, comme l'API Date-Time
  • Ajout de nouvelles contraintes de validation de bean intégrées

La plate-forme Java EE 8 nécessite Bean Validation 2.0.

API Java Message Service

L'API Java Message Service (JMS) est une norme de messagerie qui permet aux composants d'application Java EE) de créer, d'envoyer, de recevoir et de lire des messages. communication faiblement couplée, fiable et asynchrone.

La plate-forme Java EE 8 nécessite JMS 2.0.

Architecture du connecteur Java EE

L'architecture de connecteur Java EE est utilisée par les fournisseurs d'outils et les intégrateurs de systèmes pour créer des adaptateurs de ressources qui prennent en charge l'accès aux systèmes d'information d'entreprise qui peuvent être connectés à n'importe quel Java Produit EE. Un adaptateur de ressources est un composant logiciel qui permet à Java composants d'application EE d'accéder et d'interagir avec le gestionnaire de ressources sous-jacent de l'EIS. Étant donné qu'un adaptateur de ressources est spécifique à son gestionnaire de ressources, un il existe généralement un adaptateur de ressources différent pour chaque type de base de données ou de système d'information d'entreprise.

L'architecture de connecteur Java EE fournit également une intégration transactionnelle axée sur les performances, sécurisée, évolutive et basée sur les messages de Java services Web basés sur la plate-forme EE avec les services existants). EIS qui peuvent être synchrones ou asynchrones. Les applications existantes et les EIS intégrés via l'architecture de connecteur Java EE dans la plate-forme Java EE peuvent être exposés au format XML) services Web en utilisant JAX-WS et Java EE. Ainsi, JAX-WS et l'architecture de connecteur Java EE sont des technologies complémentaires pour l'intégration d'applications d'entreprise (EAI) ) et l'intégration commerciale de bout en bout.

La plateforme Java EE 8 nécessite Java Architecture du connecteur EE 1.7.

API JavaMail

Les applications Java EE utilisent l'API JavaMail pour envoyer des notifications par e-mail. L'API JavaMail comprend deux parties:

  • Une interface au niveau de l'application utilisée par les composants de l'application pour envoyer du courrier
  • Une interface fournisseur de services

La plate-forme Java EE comprend l'API JavaMail avec un fournisseur de services qui permet aux composants d'application d'envoyer du courrier Internet.

La plateforme Java EE 8 nécessite JavaMail 1.6.

Contrat d'autorisation Java pour les conteneurs

La spécification Java Contrat d'autorisation pour les conteneurs (JACC) définit un contrat entre un serveur d'applications Java EE et un fournisseur de stratégie d'autorisation. Tous Java EE prennent en charge ce contrat.

La spécification JACC définit les classes Java.security.Permission qui satisfont le modèle d'autorisation Java EE. La spécification définit la liaison des décisions d'accès aux conteneurs aux opérations sur les instances de ces classes d'autorisation. Elle définit la sémantique des fournisseurs de politiques qui utilisent les nouvelles classes d’autorisations pour répondre aux exigences d’autorisation de la plate-forme Java EE, y compris la définition et l’utilisation des rôles.

La plate-forme Java EE 8 nécessite JACC 1.5.

Interface du fournisseur de services d'authentification Java pour les conteneurs

La spécification Java Authentication Service Provider Interface for Containers (JASPIC) définit une interface de fournisseur de services (SPI) par laquelle les fournisseurs d'authentification qui mettent en œuvre des mécanismes d'authentification de message peuvent être intégrés dans des conteneurs de traitement de message client ou serveur ou Les fournisseurs d'authentification intégrés via cette interface fonctionnent sur les messages réseau qui leur sont fournis par leurs conteneurs appelants. Les fournisseurs d'authentification transforment les messages sortants afin que la source de chaque message puisse être authentifiée par le conteneur de réception et que le destinataire du message puisse être authentifié par l'expéditeur du message. Les fournisseurs d'authentification authentifient chaque message entrant et renvoient à leurs conteneurs appelants l'identité établie à la suite de l'authentification du message.

La plate-forme Java EE 8 nécessite JASPIC 1.1.

API de sécurité Java EE

Le but de la spécification Java EE Security API est de moderniser et de simplifier les API de sécurité en établissant simultanément des approches et des mécanismes communs et en supprimant les API les plus complexes de la vue développeur lorsque cela est possible. Java EE Security présente les API suivantes:

  • SecurityContext interface: fournit un point d'accès commun et uniforme qui permet à une application de tester certains aspects des données de l'appelant et d'accorder ou de refuser l'accès aux ressources.
  • HttpAuthenticationMechanism interface: authentifie les appelants d'une application Web et est spécifiée uniquement pour une utilisation dans le conteneur de servlet.
  • IdentityStore interface: fournit une abstraction d'un magasin d'identités et qui peut être utilisée pour authentifier les utilisateurs et récupérer des groupes d'appels.

La plate-forme Java EE 8 nécessite Java EE Security API 1.0.

API Java pour WebSocket

WebSocket est un protocole d'application qui fournit des communications en duplex intégral entre deux homologues via TCP. L'API Java pour WebSocket permet aux applications Java EE de créer des points de terminaison à l'aide d'annotations qui spécifient les paramètres de configuration du point de terminaison et désignent ses méthodes de rappel du cycle de vie).

La plate-forme Java EE 8 nécessite Java pour WebSocket 1.1.

API Java pour le traitement JSON

La notation d'objet JavaScript (JSON) est un format d'échange de données basé sur du texte dérivé de JavaScript qui est utilisé dans les services Web et autres applications connectées. L'API Java pour le traitement JSON (JSON-P) permet aux applications Java EE d'analyser, de transformer et d'interroger les données JSON à l'aide du modèle objet ou du modèle de streaming). .

Dans la plate-forme Java EE 8, les nouvelles fonctionnalités de JSON-P incluent la prise en charge des éléments suivants:

  • Pointeur JSON: définit une syntaxe de chaîne pour référencer une valeur spécifique dans un document JSON. JSON Pointer inclut des API pour extraire des valeurs d'un document cible et les transformer pour créer un nouveau document JSON.
  • Patch JSON: définit un format pour exprimer une séquence d'opérations à appliquer à un document JSON.
  • JSON Merge Patch: définit un format et des règles de traitement pour appliquer des opérations à un document JSON qui sont basées sur le contenu spécifique du document cible.

  • L'ajout de fonctions d'édition et de transformation au traitement de base des documents JSON.

  • Classes et méthodes d'assistance, appelées JSON Collectors, qui exploitent les fonctionnalités de l'API Stream introduite dans Java SE 8.

La plate-forme Java EE 8 nécessite JSON-P 1.1.

API Java pour la liaison JSON

L'API Java pour la liaison JSON (JSON-B) fournit une couche de liaison pour convertir les objets Java vers et depuis les messages JSON. JSON-B prend également en charge la capacité pour personnaliser le processus de mappage par défaut utilisé dans cette couche de liaison en utilisant Java annotations pour un champ donné, propriété JavaBean, type ou package, ou en fournissant une implémentation d'une stratégie de dénomination de propriété.

JSON-B est nouveau sur la plate-forme Java EE 8. La plate-forme Java EE 8 nécessite JSON-B 1.0.

Utilitaires de concurrence pour Java EE

Utilitaires de concurrence pour Java EE est une API standard pour fournir des capacités asynchrones à Java EE composants d'application à travers les types d'objets suivants: service d'exécuteur géré, exécuteur planifié géré) service, fabrique de threads gérés et service de contexte.

La plate-forme Java EE 8 nécessite des utilitaires de concurrence pour Java EE 1.0.

Applications par lots pour la plate-forme Java

Les travaux par lots sont des tâches qui peuvent être exécutées sans interaction de l'utilisateur. Les applications par lots pour la spécification de plate-forme Java est un cadre de traitement par lots qui prend en charge la création et l'exécution de travaux par lots dans les applications Java. Le cadre de traitement par lots se compose d'un lot runtime, un langage de spécification de travail basé sur XML, une API Java pour interagir avec le runtime batch et une API Java pour implémenter des artefacts batch).

La plate-forme Java EE 8 nécessite des applications par lots pour la plate-forme Java 1.0.

17
cassiomolin