Java EE 6 : plus simple, plus puissant.

Par Arnaud Buisine • 14 mai, 2009 • Catégorie: Java, Java EE

Je vous l’avais annoncé il y a deux semaines : le Vieux Lille a reçu hier, mecredi, la première session du Ch’ti JUG.

Antonio Goncalves nous a, à cette occasion, gratifié d’une excellente présentation de Java EE 6.

Antonio maitrise l’art de rendre ses propos intéressants. Et il ne manque pas d’humour, quoiqu’il ne soit pas bien difficile de se gausser des plages du Nord. Sans perdre une minute et profitant, je suppose, de son heure de TGV le ramenant à Paris, Antonio a dès hier soir partagé ses impressions sur ce premier JUG lillois.

Voici, ce que, pour ma part, j’ai retenu de cette soirée.

Java EE 6 est une plateforme forte (lourde ?) de 28 spécifications.

Cette version confirme et complète la rupture entamée par Java EE 5 vers la simplicité et la productivité.

Afin de compenser le poids de la spécification, Java EE devient “allégeable” par la magie des profils. Un profil est un sous ensemble de spécifications de Java EE adapté à un cas d’utilisation : le Web Profil pour les applications Web, notamment.

Il est probable que les éditeurs ne supporteront que certains profils Java EE ou déclineront leur offre de serveurs Java EE suivant plusieurs profils.

Servlet 3.0

Les descripteurs de servlet (web.xml) ne sont plus indispensables
Les annotations les remplacent avantageusement. Idem pour les filtres et les listeners

Le long polling à la Comet est intégré à la spécification.

JSF 2.0

Les Facelets font désormais partie intégrante de la spec et deviennent la solution phare de création de pages JSF de Java EE.

Ici encore les managed beans ne nécessitent plus de descripteur (faces-config). Les annotations sont sur le devant de la scène.

Enfin, un point essentiel dans la jungle des frameworks JSF/Ajax : JSF 2 inclut une spécification JSF-JS pour le JavaScript.

EJB3.1

A bon entendeur : pas de futur pour les EntityBean . Ils devraient être exclus de Java EE 7. Ce n’est pas une véritable surprise, ce n’est certes pas encore pour tout de suite, mais c’est à prendre en compte dès maintenant.

EJB 3.0 : une interface et une classe. Interface locale en local, interface distante à distance (sic).
EJB 3.1 : juste une classe nécessaire. Le reste avec annotations. L’interface par défaut est locale.

Java EE 6 voit l’arrivée d’un nouveau type de bean : le Singleton. Il reprend le pattern éponyme.

Les threads ne sont toujours pas autorisés dans les EJB, mais ceux-ci supportent désormais les appels asynchrones via une annotation dédiée (@Asynchronous). Pour ceux qui passaient par JMS pour leurs appels asynchrones, ce ne sera donc plus chose nécessaire.

La spécification EJB3.1 cadre désormais les noms JNDI.
Le nom d’un EJB sera donc le même quelques soit le serveurs Java EE hôte.

Grande nouveauté : les Embeddable Containers (conteneurs embarqués) qui permettent d’exécuter des EJB, et des EJB seulement,  dans des applications J2SE : applications Swing, Eclipse RCP, batchs, …
Je me pose la question : est ce que cela signifie que je pourrai/devrai embarquer mon conteneur d’EJB Websphere, Weblogic ou jBoss dans mon application Java ? Je ne suis pas certain d’avoir envie de ça. A approfondir.

Enfin, à noter que la spec EJB intègre un nouveau service de scheduling à la Quartz, le Timer Service.

JPA 2.0

La spécification JPA n’est plus liée aux EJB, elle vit désormais sa vie de son côté.

Cette spécification inclut désormais la gestion de locks pessimistes et optimistes.
Elle introduit également une API de critères.

JPA 1 était déjà surclassée par Hibernate à sa sortie. La spéc JPA 2 a, quant à elle, l’ambition d’en faire plus qu’Hibernate. Victoire, si c’en est une, qui ne pourra qu’être de courte durée : la librairie de Gavin King, également contributeur à la spécification JPA 2, implémentera à n’en pas douter très rapidement la spécification et ses innovations.

JAX-RS 1.1

La spécification dédiée aux RESTful services évolue avec Java EE 6.
Pour mémoire JAS-RS 1.0 a été publiée en octobre 2008. Son implémentation de référence est Jersey.

Pour implémenter un service REST, il vous suffit d’une classe Java et des annotations adéquates.

Si il ne fallait retenir que ça

Java EE 6 sortira en septembre 2009
Chaque spécification vient avec une implémentation open source de référence.
Java EE évolue. Plus simple. Plus puissant.

Marqué comme: , , , , ,

6 Réponses »

  1. Excellent retour qui retrace les principales informations données par Antonio.

    Une bonne chose que ce blog proxiad.

    À la prochaine session,

  2. hello,
    ayant lu et relu la spec j’apporte une petite rectification: rien dans JPA 2.0 n’est pas déjà présent dans Hibernate et Hibernate propose encore et toujours et déjà et depuis longtemps plusieurs fonctionnalités importantes qui ne sont pas encore dans JPA 2.0
    En voici quelques unes (*= utilisé parfois, *** = très utilisé voire indispensable)
    - éventail large de générateur d’identifiant (*)
    - d’autres possibilité de mapping d’héritage (***)
    - exotic mapping via formula et autres souplesses (**)
    - prise en compte de colonnes soumises à triggers (*)
    - opération de persistance gérée “par paquets”, indispensable pour la gestion de batch (**)
    - fetching par subselect(***)
    - gestion de statistiques (**)
    - mapping de procédures stockées (*)
    - … et bien d’autres

    Étrange qu’un membre de l’expert group s’aventure à des déclarations hasardeuses….

    En tout cas merci Proxiad pour avoir sponsorisé cette présentation ch’ti JUG dans l’ensemble très intéressante.

  3. Merci, Anthony, pour ces rectifications averties ;) L’information est toujours meilleure à la source !

  4. [...] brillamment marqué par l’équipe Ch’ti JUG lors de sa première session tenue il y a un mois est en passe de se transformer avec une seconde session le 15 juin qui [...]

  5. [...] le Ch’ti JUG sur la trajectoire du succès empruntée par les deux premières sessions sur J2EE 6 et Maven [...]

  6. [...] pour les sessions précédentes du Ch’ti JUG (JPA et Hibernate, Maven 2, J2EE 6), les places sont limitées et, en l’occurrence pour cet événement, déjà prises [...]

Laisser un Commentaire