Tags

, , , , ,

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.

Advertisements