présentation du framework jsf (java server faces) dans le modèle événementiel mvcii

25

Upload: blaze-franks

Post on 02-Jan-2016

47 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

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

mardi 30 novembre 14h - A030

GRANIÉ LaurentIngénieur de Développement

> Titre de la présentation - Date - Références3 3

Le Développement d’Application Web

> Titre de la présentation - Date - Références4 4

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

> Titre de la présentation - Date - Références5 5

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

> Titre de la présentation - Date - Références6 6

JSF une solution ?

> Titre de la présentation - Date - Références7 7

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

> Titre de la présentation - Date - Références8 8

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

> Titre de la présentation - Date - Références9 9

Le cycle de vie d’une page jsf

> Titre de la présentation - Date - Références10 10

Le cycle de vie d’une page jsf

WAHOU ! WAHOU !

> Titre de la présentation - Date - Références11 11

Le cycle de vie d’une page jsf

Restore View Phase

Vue objet / java de l’interface

Construction de l’arbre des composants

Branchement aux composants

Des gestionnaires d’événements

Des convertiseurs, validateurs

Enregistrement de la vue dans le FacesContext

> Titre de la présentation - Date - Références12 12

Le cycle de vie d’une page jsf

Apply Request Values Phase

Les composants ont une valeur

Chaque composant extrait sa valeur de la request (decode)

Les erreurs éventuelles sont stockées dans le FacesContext

> Titre de la présentation - Date - Références13 13

Le cycle de vie d’une page jsf

Process Validations Phase

Les composants sont valides

Tous les validateurs de la vue sont executés

Les erreurs sont stockées dans la FacesContext

> Titre de la présentation - Date - Références14 14

Le cycle de vie d’une page jsf

Update Model Values Phase

Le modèle objet côté serveur

est mise à jour

Les donées de la vue sont apliquées aux objets côté serveur.

> Titre de la présentation - Date - Références15 15

Le cycle de vie d’une page jsf

Invoke Application Phase

Choix de la redirection

Phase de navigation

Gestion des evénements d’application

> Titre de la présentation - Date - Références16 16

Le cycle de vie d’une page jsf

Render Response Phase

L’arbre de composant est rendu

Choix du container de rendu

Par default : Jsp Container

> Titre de la présentation - Date - Références17 17

Premières conclusions

> Titre de la présentation - Date - Références18 18

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

> Titre de la présentation - Date - Références19 19

Premières conclusions

HTTP

Servlet

Java Server Page

Taglib

Framework (MVC)

Java Server Faces

> Titre de la présentation - Date - Références20 20

JSF vs. Struts

> Titre de la présentation - Date - Références21 21

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é

> Titre de la présentation - Date - Références22 22

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

> Titre de la présentation - Date - Références23 23

Conclusions

> Titre de la présentation - Date - Références24 24

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 …

> Titre de la présentation - Date - Références25 25

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