Java™ EE 6 met à disposition plusieurs fonctions nouvelles ou améliorées que cette édition prend en charge.
services Web
- Les services Web prennent en charge l'écriture d'applications client de service Web XML.
- Vous pouvez exposer vos API sous forme de services Web interopérables avec une annotation simple.
- Java SE 6 ajoute une nouvelle analyse syntaxique et XML aux API de mappage d'objets
Java, qui n'était disponible que dans les implémentations de la plateforme
Java EE ou le module de services Web Java.
Prise en charge des langues de script
Améliorations JDBC
- Le kit de développement Java SE 6 inclut la base de données JDBC entièrement Java, la base de données
Java reposant sur Apache Derby.
- JDBC inclut l'API JDBC 4.0 mise à jour, qui comporte de nombreuses améliorations importantes, notamment la prise en charge spéciale de XML comme type de données SQL et une meilleure intégration des objets BLOB et des objets CLOB.
- Dans Java 6, il n'est plus nécessaire de charger explicitement la classe JDBC. La ligne Class.forName("oracle.jdbc.driver.OracleDriver") a été remplacée par une déclaration simple :
Connection conn = DriverManager.getConnection("jdbc:derby:TestDB");
Surveillance et gestion
- Java EE 6 améliore la console de gestion et de surveillance Java, ou JConsole.
- L'apparence graphique de JConsole a été améliorée. Désormais, vous pouvez surveiller plusieurs applications dans une même instance JConsole, et la conception de l'écran récapitulatif a été revue.
- Dans Java 6, vous pouvez surveiller toute application qui s'exécute sur une machine virtuelle Java 6.
- Java 6 est livré avec des fonctions de surveillance et de gestion des unités d'exécution sophistiquées.
- L'erreur de mémoire insuffisante (OutOfMemoryError) est plus précise : elle affiche une trace de pile complète pour que vous puissiez identifier la cause du problème.
Gestion du système de fichiers
- Java 6 propose un contrôle plus précis de votre système de fichiers local.
- La classe java.io.File possède les trois nouvelles méthodes suivantes permettant de déterminer la quantité d'espace disponible (en octets) sur une partition de disque donnée :
- Désormais, la classe java.io.File possède un ensemble de fonctions qui permettent de définir les indicateurs de lecture, d'écriture et d'exécution dans votre système de fichiers local, comme avec la commande Unix chmod.
sécurité
- Les API de signature numérique XML (XML-DSIG) pour la création et la manipulation de signatures numériques sont prises en charge. Diverses nouvelles façons d'accéder aux services de sécurité natifs de la plateforme ont également été ajoutées, notamment
- les services de chiffrement et d'infrastructure à clés publiques (PKI) natifs sous Microsoft Windows pour l'authentification et la communication sécurisées,
- les services de sécurité génériques Java
(Java GSS) et les services Kerberos pour l'authentification,
- l'accès aux serveurs LDAP pour l'authentification des utilisateurs.
Modifications apportées aux API Java EE 6
WebBeans 1.0 : WebBeans, l'une des API les plus innovantes développée en Java EE 6, comble de nombreuses lacunes de Java EE.
WebBeans
- Unifie les modèles de programmation JSF, JPA et EJB 3 dans une plateforme unique bien intégrée. WebBeans enregistre des beans EJB 3, des entités JPA et des JavaBeans en tant que composants WebBeans, qui sont accessibles via EL et peuvent être injectés l'un dans l'autre.
- Procure un ensemble solide de fonctions d'injection de dépendance pour la plateforme.
- Améliore le modèle d'intercepteur Java EE en ajoutant la capacité de lier les intercepteurs à des annotations au lieu de lier les intercepteurs aux classes d'objet cible elles-mêmes.
EJB 3.1 : EJB
3.1 continue de rendre les EJB aussi simples que possible tout en ajoutant des services de composant métier très utiles.
EJB 3.1
- Rend les interfaces métier facultatives, même pour les beans session.
- Ajoute le concept de beans singleton. Etant donné qu'ils sont conçus pour la gestion de l'état d'application partagé, ils autorisent par défaut les unités d'exécution multiples ; simultanément, EJB 3.1 ajoute le contrôle des accès concurrents pour une plus grande souplesse.
- Ajoute la prise en charge de la planification de style cron.
- Ajoute la capacité d'appeler des méthodes de bean session de façon asynchrone via l'annotation @Asynchronous.
- Introduit le concept EJB 3.1 Lite pour ajouter un sous-ensemble plus petit de l'API EJB axé sur le profil Web. Alors qu'EJB Lite inclut des fonctions telles que les transactions et la sécurité, il ne propose pas de fonctions telles que la messagerie, les opérations à distance et la planification.
- Introduit un nom JNDI standard : java:global/app/module/beah#interface.
JPA 2.0 : Dans Java EE 6, JPA a été séparé officiellement d'EJB et constitue une API distincte à part entière.
JPA 2.0
- Ajoute plusieurs améliorations de mappage relationnel d'objets (ORM), telles que la capacité de modéliser des collections, des mappes et des listes à l'aide de l'annotation @ElementCollection et la capacité de mapper des relations un à plusieurs unidirectionnelles.
- Améliore les API EntityManager et Query pour prendre en charge des opérations telles que l'extraction du premier résultat, la spécification de la taille maximale des résultats de requête, l'obtention de l'accès aux objets de requête et de gestionnaire d'entités propres au fournisseur sous-jacents et le verrouillage pessimiste.
- JPQL amélioré avec des instructions CASE, NULLIF, COALESCE similaires à SQL
- Ajoute une API Criteria.
Servlet 3.0 : Servlet 3.0 englobe le modèle Java EE 5. Servlet 3.0
- Introduit des annotations telles que @WebServlet, @WebFilter et @WebListener.
La configuration web.xml est ainsi réduire au point qu'elle peut être entièrement éliminée.
- Introduit l'idée de fragments Web. Pour plus d'informations, voir Création de projets de fragment Web.
- Ajoute la capacité d'ajouter des servlets, des filtres et des programmes d'écoute à l'aide d'un programme via ServletContext.
- Suit EJB 3.1 en rendant les descripteurs de déploiement facultatifs.
- Fournit la prise en charge des beans EJB 3.0 et 3.1 dans les projets Web 3.0.
JAX-RS 1.1 : JAX-RS 1.1 est l'équivalent REST de JAX-WS. JAX-RS 1.1
- Utilise l'annotation @Path pour déterminer l'adresse URL à laquelle une ressource JAX-RS est accessible.
- Mappe l'entrée de sources telles que des paramètres de requête d'URL, des parties d'adresse URL, des cookies et des valeurs d'en-tête HTTP.
- Utilise l'annotation @Produces pour indiquer à JAX-RS que le type de contenu des valeurs renvoyées est text/xml et text/json.
- S'intègre à des servlets, des WebBeans et des EJB.