Les frameworks Web pullulent dans le monde Java. Point trop n’en faut.

La majorité d’entre eux sont des frameworks Web à actions tels que Struts, WebWork, Struts 2 (en fait WebWork), et toute une palanquée d’autres … Malgré le chemin parcouru depuis le spartiate Struts, les frameworks à actions atteignent leurs limites : dans leur grande majorité, il ne propose pas de modèle de composant graphique. JSF repose lui sur une approche composant, ce qui en fait tout l’intérêt.

C’est justement l’objectif des frameworks Web à composants, parmi lesquels on peut citer JavaServer Faces (JSF) et Millstone. Ces frameworks se focalisent essentiellement sur les applications Web (à mettre en contraste avec les sites Web) et permettent de construire visuellement (mais également de coder) des interfaces Web par assemblage de composants graphiques. Le concept n’est pas nouveau, et il a clairement prouvé son efficacité en terme de productivité. Il existe depuis longtemps pour les interfaces graphiques classiques, et ne date pas non plus d’hier pour les interfaces Web (voir WebObjects d’Apple). Cette approche a été popularisée par Microsoft avec ASP.NET, qui a su développer autour de lui un véritable écosystème de fournisseur de composants. L’approche composant permet également d’encapsuler AJAX et donc d’offrir une grande interactivité aux composants sans subir le surcroit de complexité classiquement imputable à AJAX.

JSF s’inspire clairement d’ASP.NET, et on ne songerait à s’en plaindre. Il reste cependant plutôt léger en terme de composants graphiques standard. Mais, force est de constater que sa flexibilité et son extensibilité sont étonnantes, en témoigne l’intégration des frameworks Seam et Shale.

JSF est maintenant intégré à Java EE 5. Après un retard à l’allumage, l’offre de composants graphiques JSF semble bien être en train de décoller. On peut citer, entre autres :

  • RichFaces d’Exadel en open source chez JBoss
  • ADF Faces d’Oracle, récemment passé dans le giron d’Apache

Des outils de développement JSF sont d’ores et déjà disponibles ou en vue tels que :

JSF n’est peut être pas le framework idéal, mais finalement, il faut bien avouer qu’il fait montre de pas mal de qualités. Et puis, il semble bien que JSF soit bien une technologie en cours d’adoption (en tout cas aux États-unis).

Références