Portlet 2.0 : enfin finalisée !

Publié le 07 mars 2008 par Mederic
Depuis le 3 mars dernier, la spécification JSR 286 est passée au stade Final Approval Ballot, ou plus clairement, la spécification Portlet 2.0 est enfin officielle. Il est vrai qu’on l’attendait depuis longtemps (commencée en novembre 2005, elle était initialement prévue pour mai 2007). Les insuffisances de la première spécification (JSR 168) commençaient grandement à se faire sentir, avec la prolifération de surcouches hétérogènes pour y pallier. 

Alors, que nous apporte cette deuxième mouture ? 

Tout d’abord, une meilleure intégration avec AJAX, au travers du principe du "Resource Serving". Il n’est plus nécessaire de rafraîchir l’intégralité de la page pour interagir avec le conteneur de portlet, on peut directement interroger sa portlet, et récupérer un fragment de page, une image, un document XML, un objet JSON… 

Ensuite, avec la communication inter-portlet, fini les bricolages pour que les portlets parlent entre elles. Les mécanismes de paramètres de rendu publics (public render parameters) et d’évènement permettent maintenant de le faire en toute conformité avec la spécification 

Les filtres de portlets permettent d’en finir également avec les implémentations propriétaire (Spring Portlet MVC, Apache Portal Bridges …). Ces filtres, similaires aux filtres de servlet permettent d'ajouter des traitements en amont et en aval de l’exécution des portlets. 

Bien sûr, ce n’est pas la peine de redévelopper vos portlets, la portlet 2.0 est totalement compatible avec la précédente version.

Enfin,  la spécification a été revue afin de faciliter son intégration au sein de frameworks de développement. Même si pour l’instant, ni le très bon Spring Portlet MVC, ni le très jeune Struts 2 ne propose cette compatibilité, cela devrait s’accélérer, les prochaines implémentations sont même déjà sur les rails… 

Les éditeurs de solutions portail n’ont également pas attendu pour proposer les premières implémentations d'un conteneur portlet 2.0 : Liferay, Exo Portal, Apache Pluto, Sun OpenPortal et d'autres proposent de tester leurs conteneurs depuis maintenant plusieurs mois, et les éditeurs commerciaux se mettent également en avant au travers de versions bêta. 

Si l’adoption de la JSR-286 ne fait aucun doute, une question reste tout de même en suspens: apportera-t-elle le succès de sa spécification sœur, la WSRP 2.0 (Web Service Remote Portlets, permettant la publication et la consommation de portlets au travers de Web Services), sur laquelle elle est alignée. Car pour le coup, la première version de cette norme n’avait jamais réellement rencontré le succès.