1 / 25

Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII

Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII. GRANIÉ Laurent. Ingénieur de Développement. mardi 30 novembre 14h - A030. Le Développement d’Application Web. Le Développement d’Application Web. Toujours les mêmes problèmes

Télécharger la présentation

Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII GRANIÉ Laurent Ingénieur de Développement mardi 30 novembre 14h - A030

  2. Le Développement d’Application Web

  3. Le Développement d’Application Web • Toujours les mêmes problèmes • Interface complexe et souvent modifiée • “No limit” du designer / client • Développement “from scratch” • Plusieurs métiers que l’on veut indépendants les uns des autres • Développements parallèles • Couplages faibles

  4. Le Développement d’Application Web • Code réutilisable • Swing • Component, Container => Encapsulation • Modèle événementiel • Web • Difficile de savoir ce qu’il arrive par analyse de la request • Voir l’interface sous forme de concepts de haut niveau

  5. JSF une solution ?

  6. JSF une solution ? • Ce que propose la spécification JSF • Manipuler les composants graphiques entre les requests • Rendu HTML • Support pour le traitement des formualires • Modèle fortement typé événement • Mapping des valeurs de la request • Gestion simple des Exceptions • Navigation et interaction avec le modèle objets

  7. JSF une solution ? • Préciser les rôles de chacun • Designer (HTML / JavaScript) • Dévelopeur de composants graphiques • Réutilisabilité • Encodage de la request • Gestion d’événements • Dévelopeurs d’application • O/R, Services Métier, etc … • Éditeurs • IDE • Implémentations de JSF

  8. Le cycle de vie d’une page jsf

  9. Le cycle de vie d’une page jsf WAHOU ! WAHOU !

  10. Le cycle de vie d’une page jsf Restore View Phase • Construction de l’arbre des composants • Branchement aux composants • Des gestionnaires d’événements • Des convertiseurs, validateurs • Enregistrement de la vue dans le FacesContext Vue objet / java de l’interface

  11. Le cycle de vie d’une page jsf Apply Request Values Phase • Chaque composant extrait sa valeur de la request (decode) • Les erreurs éventuelles sont stockées dans le FacesContext Les composants ont une valeur

  12. Le cycle de vie d’une page jsf Process Validations Phase • Tous les validateurs de la vue sont executés • Les erreurs sont stockées dans la FacesContext Les composants sont valides

  13. Le cycle de vie d’une page jsf Update Model Values Phase • Les donées de la vue sont apliquées aux objets côté serveur. Le modèle objet côté serveur est mise à jour

  14. Le cycle de vie d’une page jsf Invoke Application Phase • Phase de navigation • Gestion des evénements d’application Choix de la redirection

  15. Le cycle de vie d’une page jsf Render Response Phase • Choix du container de rendu • Par default : Jsp Container L’arbre de composant est rendu

  16. Premières conclusions

  17. Premières conclusions • Problématiques courantes des applications web • Mapping HTTP/objet + convertion et validation • Navigations • Une vue client côté serveur • Retrouve l’esprit événement des clients riches Java • Vue de composants et non de valeurs On monte d’un niveau

  18. Premières conclusions Java Server Faces Framework (MVC) Taglib Java Server Page Servlet HTTP

  19. JSF vs. Struts

  20. JSF vs. Struts • Les points forts de JSF • Agrégation de composants simples dans des composants plus complexes (displaytag) • Support d’autres technologies de rendu (Renderer minitel) • Acces au bean par nom • Langage plus expressif (taglib) • Définition (bean, contrôleur) plus simple : pas d’héritage • Fichiers de configuration plus simple • Drag-and-drop dans les IDE => productivité

  21. JSF vs. Struts • Les points faibles de JSF • Maîtrise faible de JSF vs. Struts (agence, communauté) • Support d’IDE (de moins en moins) • Support d’autres technologies de rendu • Confusion entre les URL (.jsp.faces) • Approche self-submit (.jsp, .do) • Pas d’équivalent aux Tiles (MyFaces) • Encore peu de Validateur • Pas de validation côté client (Javascript) • Pas de web-app vide d’initialisation

  22. Conclusions

  23. Conclusions • Vue client côté serveur ! • Composants graphiques de haut niveau • Spécification • de la request (validation, conversion) • de la navigation • Approche différente de Struts • Contrôleur (action vs. événement) • Encore beaucoup de questions …

  24. Bibliographie • Introduction to JavaServer Faces http://www.onjava.com/pub/a/onjava/2004/04/07/jsf.html • Introduction to JavaServer Faces, Part 1 http://www.devshed.com/c/a/Java/Introduction-to-JavaServer-Faces-1/ JSF: Introduction, Installation, and Setup http://www.coreservlets.com/JSF-Tutorial/#Section1 The J2EE 1.4 Tutorial http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html

More Related