La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

13/07/2015 JSF Java Server Faces Master 2 Pro GLR TER David Mihura Eric Le Merdy.

Présentations similaires


Présentation au sujet: "13/07/2015 JSF Java Server Faces Master 2 Pro GLR TER David Mihura Eric Le Merdy."— Transcription de la présentation:

1 13/07/2015 JSF Java Server Faces Master 2 Pro GLR TER David Mihura Eric Le Merdy

2 JSF – Le Merdy Eric – Mihura David 13/07/2015 2 Plan Problématique Bref Historique Solution JSF  Principes  Mise en Œuvre des principes Quelques outils Bilan Conclusion

3 JSF – Le Merdy Eric – Mihura David 13/07/2015 3 Problématique Evolutions des besoins : Applications Web Problème : Comment concevoir une application Web de la même façon qu'une application traditionnelle Plusieurs solutions existent :  WebForms : Microsoft  Struts : Apache  JSF : Sun

4 JSF – Le Merdy Eric – Mihura David 13/07/2015 4 Bref Historique Divergences d'approche selon les éditeurs. Plus grande séparation des concepts. SunOpen-sourceMicrosoft 1996 1997 ServletPHP,PERL,etc…ASP 1998JSP MVC ASP.NET, WebForms 2000Struts 2004JSF

5 13/07/2015JSF – Le Merdy Eric – Mihura David 5 Solution JSF Framework de création d’interfaces graphiques pour les applications Web

6 JSF – Le Merdy Eric – Mihura David 13/07/2015 6 Un concept en évolution Demande de spécification en Mai 2001 Plusieurs versions de spécifications Sun  Final : 1.0 (début 2004)  Maintenance : 1.1 (fin 2004) Plusieurs implémentations  Référence (Sun) compatible 1.1  MyFaces (Apache)  Ecruiser compatible 1.1 Une version 1.2 est en cours

7 JSF – Le Merdy Eric – Mihura David 13/07/2015 7 JSF et MVC Modèle :  Couplé à JSF par un Bean géré. Vue :  JSP + balises JSF Contrôleur :  Servlet (FaceServlet)  Règles définies dans un fichier xml

8 13/07/2015JSF – Le Merdy Eric – Mihura David 8 Principes

9 JSF – Le Merdy Eric – Mihura David 13/07/2015 9 Principes : composants graphiques Fonctionnalité du composant définie dans la classe du composant Plusieurs rendus pour un même composant Possibilité de définir des rendus EtiquetteRendu h:command_button h:command_linkhyperlink

10 JSF – Le Merdy Eric – Mihura David 13/07/2015 10 Principe : gérer des événements Chaque composant génère des événements (Events) Le serveur possède des écouteurs (Listeners) qui traitent les événements

11 JSF – Le Merdy Eric – Mihura David 13/07/2015 11 Principes : gestion de l’état des composants L’état peut changer chez le client entre 2 requêtes JSF prend en charge la gestion de cet état

12 JSF – Le Merdy Eric – Mihura David 13/07/2015 12 Exemple d’événements AccepterX EVENEMENT value_changed Gérer événement Changement état action Enregistrement formulaire

13 JSF – Le Merdy Eric – Mihura David 13/07/2015 13 Principes : validation et conversion Validation :  Agit sur les composants graphiques (textfield)  Personnalisation des validateurs (bornes, types, etc.)  Lève des erreurs Conversion :  Formatage des données  Ex : 15000 → 15,000  Personnalisation possible

14 JSF – Le Merdy Eric – Mihura David 13/07/2015 14 Principes : navigation des pages Définitions de l’enchaînement des pages par un ensemble de règles de navigation

15 JSF – Le Merdy Eric – Mihura David 13/07/2015 15 Principes : internationalisation Possibilité de définir des locales Correspondance  clé → valeur internationalisée useridLabel=Nom de l'Utilisateur passwordLabel=Mot de Passe loginSubmitLabel=Connectez useridLabel=Userid passwordLabel=Password loginSubmitLabel=Login

16 JSF – Le Merdy Eric – Mihura David 13/07/2015 16 Principes : balises JSF Rappels JSP:  Page html qui peut contenir du code Java  A l’exécution cette page est convertie en servlet  Contient des balises JSP JSTL ( bibliothèque de balises standard pour java) JSF propose une bibliothèque de balises

17 13/07/2015JSF – Le Merdy Eric – Mihura David 17 Mise en Œuvre des principes

18 JSF – Le Merdy Eric – Mihura David 13/07/2015 18 Etude de cas Une page de login  Un seul utilisateur valide  3 pages : Authentification Accueil (si réussie) Erreur (sinon)

19 JSF – Le Merdy Eric – Mihura David 13/07/2015 19 1. Le bean du support Dans un package jsfLogin

20 JSF – Le Merdy Eric – Mihura David 13/07/2015 20 2. Déclaration du bean dans face-config.xml LoginServer jsflogin.loginServer session

21 JSF – Le Merdy Eric – Mihura David 13/07/2015 21 3. Création des pages Import des librairies Ressources (internationalisation) Utilisation des balises

22 JSF – Le Merdy Eric – Mihura David 13/07/2015 22 4. Navigation des pages face-config.xml /login.jsp Handle case for successful login #{LoginServer.loginAction} success /success.jsp Handle case for unsuccessful login #{LoginServer.loginAction} failure /failure.jsp /success.jsp return /login.jsp return success failure /login.jsp /failure.jsp /success.jsp

23 13/07/2015JSF – Le Merdy Eric – Mihura David 23 Quelques outils Java Studio Creator Plugin Eclipse : JSF Studio D’autres outils

24 JSF – Le Merdy Eric – Mihura David 13/07/2015 24 Java Studio Creator (1/3) Produit Sun Licence propriétaire IDE complet  Serveur J2EE intégré  Basé sur NetBeans Développement « à la souris »

25 JSF – Le Merdy Eric – Mihura David 13/07/2015 25 Java Studio Creator (2/3) Points forts  Développement rapide  Tout est intégré Points faibles  Moins de maîtrise sur le code généré  Entièrement Sun (forte dépendance)  Produit jeune Manque de robustesse

26 JSF – Le Merdy Eric – Mihura David 13/07/2015 26 Java Studio Creator (3/3)

27 JSF – Le Merdy Eric – Mihura David 13/07/2015 27 Eclipse : JSF Studio (1/3) Plug-in propriétaire pour Eclipse Gère plusieurs serveurs d’application (Tomcat, JBoss, etc …) Perspective JSF Template de projets Editeur graphique pour le face-config Edition assistée de code JSP

28 JSF – Le Merdy Eric – Mihura David 13/07/2015 28 Eclipse : JSF Studio (2/3) Points forts:  Puissance d’Eclipse  Editeur JSP complet  Indépendant du serveur Point faible  Manque de performance

29 JSF – Le Merdy Eric – Mihura David 13/07/2015 29 Eclipse : JSF Studio (3/3)

30 JSF – Le Merdy Eric – Mihura David 13/07/2015 30 D’autres outils JSF MyEclipse WebFaces Faces console  Standalone  JDeveloper  JBuilder  NetBeans  Eclipse

31 13/07/2015JSF – Le Merdy Eric – Mihura David 31 Bilan JSF vs Struts Attentes respectées ?

32 JSF – Le Merdy Eric – Mihura David 13/07/2015 32 JSF vs Struts (1/3) Rappels Struts :  Framework d’application Web  Licence Apache  Mêmes principes (MVC,fichier de navigation)  Pas de spécifications formalisées

33 JSF – Le Merdy Eric – Mihura David 13/07/2015 33 JSF vs Struts (2/3) Struts est plus mature Meilleur facteur de confiance pour JSF (Ex: support IBM pour WebSphere) Struts contraint le modèle, JSF est plus flexible

34 JSF – Le Merdy Eric – Mihura David 13/07/2015 34 JSF vs Struts (3/3) La vue est plus générique dans JSF grâce à sa conception des composants JSF est plus extensible  Balises personnalisés  Composants personnalisés Conclusion :  JSF a su tirer expérience de Struts

35 JSF – Le Merdy Eric – Mihura David 13/07/2015 35 Attentes respectées (1/2) JSF est-il une bonne solution ?  Standardisé  Règles de navigation  Mise en œuvre des composants graphiques Approche RAD

36 JSF – Le Merdy Eric – Mihura David 13/07/2015 36 Attentes respectées (2/2) MVC  Modèle indépendant  Séparation du comportement et du rendu  Approche page du contrôleur : spécifique aux applications Web

37 13/07/2015JSF – Le Merdy Eric – Mihura David 37 Conclusion

38 JSF – Le Merdy Eric – Mihura David 13/07/2015 38 Le futur de ce Framework Intégration de JSF 1.2 à la future spécification J2EE 5.0 Participation de l’industrie à la spécification Pas de conversion Struts → JSF Adoption de JSF pour les nouveaux projets


Télécharger ppt "13/07/2015 JSF Java Server Faces Master 2 Pro GLR TER David Mihura Eric Le Merdy."

Présentations similaires


Annonces Google