
Quelques annonces importantes
DEVOXX. Les inscriptions à LA CONFERENCE sur java en Europe sont toujours ouvertes. Elle se déroulera à Anvers du 16 au 20 novembre.
Parleys. M. Quiz, un des membres de l'équipe du Paris JUG a commencé la retranscription des vidéos des anciennes sessions. La première vidéo reprend la session qualité logicielle.
JSF2
La première session traitait de JSF2 et a été animé par Damien GOUYETTE et François PETITIT. L'objectif de la session était de faire découvrir les bases de JSF ainsi que les nouveautés apportées par la version 2.0. La présentation qui était structurée, fluide et claire comprenait quatre parties : introduction, présentation, les outils et la conclusion.
En introduction, les speakers ont rappelé l'historique de JSF qui est le premier framework jee pour le développement d'IHM riches. La version 1.0 date de 2004. Nous en sommes aujourd'hui à la version 2.0 qui s'appuie sur la JSR 314.
Les auteurs ont ensuite montré quelle était la place de JSF par rapport aux frameworks de présentation du marché. Signalons, que Struts est absent de leur schéma, comme ils l'ont eu même noté. Pour ma part, je pense que Struts a actuellement beaucoup de concurrents mais il n'est pas prêt de disparaître complétement chez nos clients. Par ailleurs, JSF, à l'instar de Wicket est un framework orienté composant, alors que Spring MVC et Struts sont des frameworks orientés action.
Damien et François sont ensuite rentrés dans le vif du sujet avec une présentation des fonctionnalités de JSF.
JSF se positionne comme le framework ihm de jee. Il fait d'ailleurs partie du profil web de jee6.
Il obéit au pattern MVC2. Le controller est configuré dans le fichier web.xml. Il gère une vue et un managed bean, coté serveur. La présence d'un fichier faces-config ou sont déclarés la navigation et les managed beans est facultative.
Concernant le cycle de vie, JSF permet la conversion automatique de la valeur d'un attribut de la requête en objet java, le support des primitifs et des dates, le support de convertisseurs personnalisés et configurables ainsi que plusieurs dispositifs de validation (dans la vue, dans le managed bean et dans les entities et/ou les managed beans en utilisant la JSR 303, qui fera prochainement l'objet d'une présentation au Paris JUG).
Le managed bean est la classe contenant la logique de présentation connectée au métier. Le scope du bean peut être de niveau Application, Session, View ou Request. Le scope View a été introduit dans JSF 2.0 : l'objet ayant cette portée aura la même durée de vie qu'une conversation web. Un autre apport de la version 2 est la simplification de la configuration puisqu'on passe de déclaration dans le fichier xml faces-config aux annotations. Le lien entre la vue et le managed bean se fait via l'Expression Language.
JSF est un framework orienté composant. C'est un élément d'interface utilisateur, configurable et réutilisable. Un composant vit sur le serveur. Chaque action dont il fait l'objet donne lieu à des traitements pour mise à jour coté serveur. L'état des composants est restauré puis sauvegardé à chaque cycle requête/réponse. Avec JSF 2 la création de nouveaux composant se fait en deux phases: déclaration d'un fichier xml situé dans une arborescence particulière (si mon composant s'appelle hello, il se trouvera sous /webapp/resources/hello/hello.xhtml), et utilisation dans la vue avec déclaration préalable du namespace du nouveau composant. Ainsi, JSF 2 facilite la création de nouveaux composants.
Il existe des bibliothèques de composants référencés sur le site www.ajaxjsf.net.Parmi les différentes librairies, les speakers ont recommandé RichFaces, PrimeFaces et IceFaces.
L'ancienne critique sur une intégration inexistante avec Ajax n'est plus d'actualité. JSF 2 propose une gestion native d'Ajax avec la balise <f:ajax>.
JSF 2 vient nativement avec Facelet. Il intègre donc le templating de page.
La présentation des fonctionnalités a été illustrée par une demonstration.
Les speakers ont ensuite évoqués les outils. Ils ont rappelés notamment que le serveur d'application le plus avancé avec un support natif de JSF était Glassfish.
En conclusion, Damien et François ont rappelé les nouvelles fonctionnalités. Ils ont également signaler que l'équipe en charge de la spécification était à l'écoute des demandes des utilisateurs.
Les slides ainsi que le code source de la démonstration son disponible sur le site du Paris JUG et sur le site de Damien Gouyette.
Voir aussi :
Actus
Blog
"Soirée open source au paris JUG", par Zouheir Cadi - 30/01/2010
"Paris JUG : compte-rendu de la session du 15 septembre 2009", par Zouheir Cadi - 16/09/2009
"Soirée RIA au Paris JUG", par Zouheir Cadi - 01/07/2009
"Soirée DDD au Paris JUG", par Zouheir Cadi - 11/06/2009
"Non, ce n'est pas un tardif poisson d'avril !", par Alexis Lesage - 20/04/2009
"Paris JUG : compte rendu de session 14 avril 2009", par Zouheir Cadi - 20/04/2009
Tags: java EE jee jsf open source