Normandy JUG Présentation de JSF.

Slides:



Advertisements
Présentations similaires
- Formation STRUTS 1 1.
Advertisements

Présentation de frameworks J2EE
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
- Formation Flex (Introduction)‏ - Formation Flex 1 1.
- Formation JEE/JSF – Groupement Informatique
Open Days 2006 Le Web 2.0 demain: produits, technologies, outils.
Introduction Les types de canaux Les simplesRSSWeb ProxyTransformation Les différents types de canaux Les canaux prédéfinis.
Java EE – Frameworks Cas d’étude
CASTEL Dennis SARZEAUD Floriane TAKAHASHI Atsushi.
Conception de Site Webs dynamiques Cours 6
Exposé de Système - Informatique et Réseau
Cours 5.3 : XML et les architectures N-tiers – Tier Présentation
1 Les technologies XML Cours 3 : Les Web Services – Implémentation – JAX-WS Février Version 1.0 -
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
Domaines nominaux XSLT
Toolkit Web Framework Java pour les IHMs Cédric Dumas mars 2008 contrat Creative Commons Paternité-Pas d'Utilisation Commerciale- Partage.
Design Pattern MVC En PHP5.
Environnement Premier projet.
TP 3-4 BD21.
Présentation des frameworks pour Java EE
Développement dun simulateur dinterface graphique à distance Présenté par Michaël Delhaye Promoteur : Jean Vanderdonckt.
Introduction aux services WEB
Les outils d’intégration continue
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ésenté par : Kalleli Dhouha
JAVA SERVER FACES (JSF)
Architectures NTiers Paradigme MVC
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 »
Une base de données XML sur le net
Projet JAVA EE Approfondi
ISICIL SWEETDEKI Intégration du logiciel Mindtouch Core dans la plate-forme ISICIL Guillaume HUSSON.
Groupe : Marc BENSILHE, Guillaume GOURMENT et Paul FLYE SAINTE MARIE
Le formulaire Les chaînes de requêtes. Les chaînes de requêtes (QueryStrings) correspondent à des informations associées à l'adresse URL avec un point.
Clients riches RIA (Rich Internet Application) / RDA
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é.
JSP (Java Server Pages)
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Adaptée du cours de Richard Grin
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Initiation au web dynamique
Chapitre 4 - Les frameworks Struts et JSF
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
Module I-C3 : Applications Web IUT R&T 2e année
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.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
GESTION DE COMPOSANTS ELECTRONIQUES
BEWITCHED 12/10/2006 Soutenance GLAO #5 slide 1 Soutenance GLAO #5 AGL & SYGIME Bewitched Team 12 Octobre 2006.
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.
Initiation au JavaScript
Conférence Témoignages métiers- Supinfo Nantes  Création en 1979  CA de 150 Millions €  Présence nationale et internationale  2300 personnes en France.
EPREUVE E6 : PARCOURS DE PROFESSIONNALISATION
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
13/07/2015 JSF Java Server Faces Master 2 Pro GLR TER David Mihura Eric Le Merdy.
Les Java Server Pages Dans ce chapitre, nous allons :
Apéro Techno Romain Maragou - Aliou Sow Web sémantique.
ETM IBN ROCHD Présenté par : Mlle KHETTAR Lamia & Mlle AIT SAADA Kahina Novembre 2012.
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.
DWR Jean-Jacques LE COZ. Introduction Projet DWR Framework AJAX Projet Open Source commencé en 2004 Licence GPL (Apache Software License v2) Sponsorisé.
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:

Normandy JUG Présentation de JSF

Intervenant Gontran TOMBETTE Ingénieur d’étude chez Sopra Group depuis 9 ans. Dans le monde Java depuis 5 ans. Architecte JEE depuis 3 ans. gtombette@sopragroup.com

L’objectif C’est quoi JSF ? Comment ça marche ? Comment on s’en sert ?

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Qu’est-ce que JSF ? JSF : Java Server Faces Framework de présentation pour les applications Web en Java : librairie de composants graphiques, fonctionnalités gravitant autour de ces composants, Définie au sein d’une Java Specification Request (JSR) émise par la Java Community Process (JCP).

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Historique 2006 JSR-252 2001 C’est parti, on simplifie la production Versions 1.2 Roger Kitain Ed Burns JEE 5 2001 C’est parti, on simplifie la production d’IHM 2004 JSR-127 Versions 1.0 et 1.1 Ed Burns Craig McClanahan J2EE 1.4 Roger Kitain 2009 JSR-314 Versions 2.0 Ed Burns JEE 5 Roger Kitain

Les principaux concepteurs Ed Burns de Sun Microsystems Inc : NCSA Mosaic (un des 1er navigateur Web). Mozilla (navigateur Web). Tomcat (serveur d’application). Craig McClanahan de Sun Microsystems Inc : Fondateur de Struts. (Framework de présentation). Leader sur Tomcat. (serveur d’application). Roger Kitain de Sun Microsystems Inc : Spécialiste Servlet. Expert des technologies autour de JSP.

Les implémentations Les implémentations doivent respecter les spécifications décrites par les JSR-314. Sun – Mojarra https://javaserverfaces.dev.java.net/ Apache – MyFaces http://myfaces.apache.org/ Oracle – ADF Faces http://www.oracle.com/technology/products/adf/adffaces/index.html

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Quoi de plus que les autres ? Le concept novateur : Modèle évènementiel. Approche « composant ». Mais aussi : respect du concept M.V.C. (Model/View/Controller), permet de générer autre chose que du HTML (XML, WML, XUL, ….), propose des librairies de composants graphiques facilement « surchargeables », permet de créer ses propres composants, Ajax ready

Quoi de plus que les autres ? suite… Nouvelle vision Représentation de la page sous forme d’arbre des composants, et accessible via le contexte de l’application. ViewRoot MaPage Mot de passe : Identifiant : Soumettre Form OutputText InputText OutputText InputText CommandButton

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Un p’tit exemple ! Le fameux Hello Normandy JUG

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. - IHM 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

IHM Plusieurs technologies possibles pour l’écriture des pages : JSP XHTML Ensemble de balises JSF constituant la page : Composants graphiques, Composants de conversion, Composants de validation, Templating (modélisation) de pages avec Facelets Inclus dans JSF

IHM : Template de page - Facelets Facelets est un framework de composition de pages ou de composants. Modèle (template) En-tête En-tête Corps Corps Pied de page Pied de page

IHM : Template de page (suite…) Inclusion de page Insertion de page Inclusion de page

Déclaration des librairies IHM : Exemple de page Déclaration des librairies Template de page (Facelets) Ressources Composants JSF Lien JavaBean

IHM : Les composants graphiques

IHM : Composants additionnels Il existe des librairies supplémentaires proposant des composants supplémentaires. Compléments des composants de base, Menu Onglet Treeview Calendrier … MyFaces Tomahawk ICEfaces JBoss RichFaces

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. – Managed Bean 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

ManagedBean C’est un JavaBean géré par JSF. Permet de faire le lien entre l’IHM et le code métier de l’application. Doit contenir des accesseurs et des mutateurs pour champs de l’IHM. Définition au sein du fichier faces-config.xml ou par le biais d’annotations.

Dessine moi un ManagedBean Annotations de paramétrage Attribut relatif au champ de saisie de l’IHM Accesseur du champ de saisie Mutateur du champ de saisie

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. – Configuration 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

La configuration : faces-config.xml Fichier de ressources par défaut I18N Navigation

La configuration : web.xml Nom de l’application Extension des pages Servlet utilisée Mapping de la servlet Page d’accueil

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. – Synthèse 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Respect du concept M.V.C. Respect du concept M.V.C. Controler Controler FacesServlet Requête issue du client faces-config.xml Réponse retournée au client Model Model View View

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. – Synthèse 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Les convertisseurs Permet la conversion des données : IHM vers ManagedBean, ManagedBean vers IHM. Exemples de convertisseurs : Conversion de date, Conversion de nombre. Il est facile de créer son propre convertisseur.

Les convertisseurs PersonneBean MaPage Nom : Prénom : Enregistrer Date de naissance :

Les validateurs Vérifier la validité des données converties. Applicable sur l’ensemble des composants de saisies. Exemples de validateurs : valider la présence de saisie, valider que la saisie est conforme à une plage de valeurs, valider le format de saisie (expression régulière) valider la longueur de la saisie, …

Les validateurs MaPage MaPage Mot de passe : Identifiant : Soumettre Erreur

Le rendu Les composants JSF peuvent être transcrits en HTML, XML, WML… en fonction de la cible. Ceci est possible par le biais de « Renderer ». Les « Renderers » sont des classes Java : récupérant les attributs des composants, transcrivant le composant en fonction du format souhaité.

Le rendu maPage.xhtml HTMLInputTextRenderer.java maPage.html

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. – Synthèse 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Le cycle de vie Le cycle de vie correspond aux différentes étapes entre la requête du client et la réponse retournée.

Le cycle de vie Reconstruction de l’arborescence des composants Extraction des valeurs de la requête Validation et conversion des données Requête issue du client Restore View Apply Requests Process Validations Render Response Invoke Application Update Model Values Réponse retournée au client Génération de la réponse Appel des méthodes pour le traitement de la page Mise à jour du modèle après validation et/ou conversion Erreur de conversion Erreur de conversion et/ou de validation

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. – Synthèse 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Création de composants. Qu’est-ce que c’est ? Assemblage de plusieurs composants de base. Création de ses propres composants. A quoi ça sert ? Faciliter et uniformiser de développement d’IHM. Répondre aux besoins de l’utilisateur final. We can do it ! Dans la plupart des cas, pas besoin de connaître un langage obscur pour confectionner son propre composant. Java, Xhtml + Facelets, HTML, Javascript, JSTL si nécessaire.

C’est moi qui l’ai fait ! Identifiant : Composants de base Mon composant

C’est moi qui l’ai fait ! (suite…) Attributs

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. – Synthèse 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Et AJAX ? Les librairies supplémentaires proposent des compléments : Les implémentations JSF2 supportent nativement AJAX. Les librairies supplémentaires proposent des compléments : MyFaces ICEfaces JBoss Richfaces

Et Ajax : l’exemple. Lien ManagedBean Champ de saisie Balise AJAX

Sommaire 1 Qu’est-ce que JSF ? 2 Historique. 3 Quoi de plus que les autres ? 4 Exemple. 5 Détail du fonctionnement. – Synthèse 6 Convertisseur - Validateur - Renderer 7 Le cycle de vie. 8 Création de composants. 9 AJAX. 10 Le développement.

Et je développe avec quoi ? Avec les IDE bien connus et quelques plugins : Eclipse NetBeans Oracle JDeveloper Le problème : Les plugins sont prévus pour fonctionner avec une version bien précise de JSF. Le paramétrage est un peu fastidieux.

Questions / Réponses