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

Slides:



Advertisements
Présentations similaires
Présentation de frameworks J2EE
Advertisements

JEE 5 - JSF F.Pfister 2 institut eerie Les technologies du web Servlets JSP MVC Model 1 : servlets + JSP MVC Model.
Le struts validator – framework de validation
Cours 5 : XML et les architectures N-tier Janvier Version 1.0 -
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Serveurs web pour JSP et Servlets
Architecture. Architecture Enjeux Les Enjeux Trouver une solution e-Business Accessible à partir d’un navigateur Web Accédant au système via un Portail.
Exposé de Système - Informatique et Réseau
Cours 5.3 : XML et les architectures N-tiers – Tier Présentation
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix.
Plan La modularité Le processus de développement logiciel
Présentation des frameworks pour Java EE
Projet JEE approfondi Stripes / Toplink
Introduction aux services WEB
PROJET HANDICAPS Certificat de Qualification Professionnelle
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Forum JEE: framework STRUTS 1 et iBATIS
Présentation Installation Fonctionnement
Présenté par : Kalleli Dhouha
JAVA SERVER FACES (JSF)
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
pour les applications Web :
JAVASERVER FACES Un framework Java pour le développement Web.
Développement Rapide dApplications Web avec.NET « Mon premier site »
Normandy JUG Présentation de JSF.
Projet JAVA EE Approfondi
Interaction audio sur le site web du LIA
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Développement d’application web
Groupe : Marc BENSILHE, Guillaume GOURMENT et Paul FLYE SAINTE MARIE
Création d'un projet Web avec Netbeans
Clients riches RIA (Rich Internet Application) / RDA
PROJET DE GENIE LOGICIEL 2005
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
JSP (Java Server Pages)
Adaptée du cours de Richard Grin
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Module I-C3 : Applications Web IUT R&T 2e année
Guillaume TORRENTE Marc BOUISSOU Recherche & Développement
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
AngularJS.
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
GESTION DE COMPOSANTS ELECTRONIQUES
SLAM 1 Exploitation d’un schéma de données
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Struts.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
L’enseignement de spécialité SLAM
Les Servlets Présentation Cycle de vie Principe de fonctionnement
EPREUVE E6 : PARCOURS DE PROFESSIONNALISATION
© 1 Struts Java, Applications J2EE Conclusion. © 2 Struts Java, Applications J2EE Les contre Framework générique –Conçu pour répondre à tous les besoins,
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
Les Systèmes de Gestion de Contenu (CMS) Allirand Maud Chabord Grégoire Massart Anne-Sophie 24 novembre 2006.
Les Java Server Pages Dans ce chapitre, nous allons :
Introduction au développement Web avec ASP.NET Présenté par Pierre Lagarde Relation Développeurs Microsoft France.
Les outils Multidimensionnels SAS ® 9 Atelier Technique SAS ® Eric WOLFF Jeudi 2 juin 2005.
{ Java Server Pages Par Billy et Mike.  Introduction  Qu’est-ce que JSP?  Pourquoi utiliser JSP?  Développement  Balises  Servlets  Conclusion.
Architectures Logicielles Java GLG203 GLG204
ETM IBN ROCHD Présenté par : Mlle KHETTAR Lamia & Mlle AIT SAADA Kahina Novembre 2012.
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
Architecture J2EE Web Jean-Jacques LE COZ. J2EE Web Container JSP Page Servlet J ava 2 Standard Edition APIs EJB Container EJB JDBCJMS JNDI JTA JavaMail.
Transcription de la présentation:

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

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

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

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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 : → 15,000  Personnalisation possible

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

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

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

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

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

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

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

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

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

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

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

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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

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

JSF – Le Merdy Eric – Mihura David 13/07/ 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