Javaserver faces

Download Report

Transcript Javaserver faces

JAVASERVER FACES
Un framework Java pour le développement Web
JavaServer Faces




JSF, un framework MVC basé sur les composants
Description
Démonstration
Conclusion
JSF, un framework MVC basé sur les composants

Problématique : pourquoi une web app ?
 Utiliser
Biocham à distance sur un navigateur
 Problème : avoir le comportement d’une application
« de bureau »
JSF, un framework MVC basé sur les composants


Problématique : pourquoi une web app ?
Pourquoi utiliser le pattern Modèle Vue Contrôleur ?
 Structure
normalisée
JSF, un framework MVC basé sur les composants


Problématique : pourquoi une web app ?
Pourquoi utiliser le pattern Modèle Vue Contrôleur ?
Client
Serveur d’applications
requête HTTP
Contrôleur
réponse HTTP
Vue
Modèle
JSF, un framework MVC basé sur les composants


Problématique : pourquoi une web app ?
Pourquoi utiliser le pattern Modèle Vue Contrôleur ?
Client
Serveur d’applications
requête HTTP
Contrôleur (servlets)
réponse HTTP
Vue
Modèle
(pages JSP)
(objets Java)
Web app Java EE classique
Stockage de données
JSF, un framework MVC basé sur les composants



Problématique : pourquoi une web app ?
Pourquoi utiliser le pattern Modèle Vue Contrôleur ?
Et pourquoi pas une architecture 3-tiers ?

Différence
JSF, un framework MVC basé sur les composants



Problématique : pourquoi une web app ?
Pourquoi utiliser le pattern Modèle Vue Contrôleur ?
Et pourquoi pas une architecture 3-tiers ?

Différence
  Le problème des web apps
JSF, un framework MVC basé sur les composants




Problématique : pourquoi une web app ?
Pourquoi utiliser le pattern Modèle Vue Contrôleur ?
Et pourquoi pas une architecture 3-tiers ?
Les frameworks MVC
 Qu'est-ce
que c'est ? Pourquoi les utiliser ?
JSF, un framework MVC basé sur les composants




Problématique : pourquoi une web app ?
Pourquoi utiliser le pattern Modèle Vue Contrôleur ?
Et pourquoi pas une architecture 3-tiers ?
Les frameworks MVC
 Qu'est-ce
que c'est ? Pourquoi les utiliser ?
 Request-based VS. Component-based
JSF, un framework MVC basé sur les composants

MVC basé sur les requêtes
 Workflow
linéaire
JSF, un framework MVC basé sur les composants

MVC basé sur les requêtes
 Workflow
linéaire
 Penser en termes d’actions !
JSF, un framework MVC basé sur les composants

MVC basé sur les requêtes
 Workflow
linéaire
 Penser en termes d’actions !
 Servlet unique
JSF, un framework MVC basé sur les composants

MVC basé sur les requêtes
 Workflow
linéaire
 Penser en termes d’actions !
 Servlet unique
 Vues stateless
JSF, un framework MVC basé sur les composants

MVC basé sur les composants
 Abstraction
 Le
des concepts de requête/réponse
contrôleur (FacesServlet) : rassemble, convertit et valide
les valeurs saisies par l’utilisateur
 les affecte au modèle de données via un backing bean
 invoque les actions
 créé la réponse
JSF, un framework MVC basé sur les composants

MVC basé sur les composants
 Abstraction
des concepts de requête/réponse
 Le
contrôleur (FacesServlet) : rassemble, convertit et valide
les valeurs saisies par l’utilisateur
 les affecte au modèle de données via un backing bean
 invoque les actions
 créé la réponse
 Application
vue comme une collection de composants
JSF, un framework MVC basé sur les composants

MVC basé sur les composants
 Abstraction
des concepts de requête/réponse
 Le
contrôleur (FacesServlet) : rassemble, convertit et valide
les valeurs saisies par l’utilisateur
 les affecte au modèle de données via un backing bean
 invoque les actions
 créé la réponse
 Application
vue comme une collection de composants
 Vues stateful
JSF, un framework MVC basé sur les composants

JSF est donc principalement :
 Un
assemblage de composants serveur
 Un modèle de développement standardisé
 Capable de gérer les états des UIComponents
Description

Qu’est-ce qu’un composant JSF (UIComponent) ?
 Bloc
de base réutilisable
Description

Qu’est-ce qu’un composant JSF (UIComponent) ?
 Bloc
de base réutilisable
 Simple ou composé
Description

Qu’est-ce qu’un composant JSF (UIComponent) ?
 Bloc
de base réutilisable
 Simple ou composé
 Associé ou non à des données
Description

Qu’est-ce qu’un composant JSF (UIComponent) ?
 Bloc
de base réutilisable
 Simple ou composé
 Associé ou non à des données
 Fournit ses méthodes de rendu et d’action
Description

Qu’est-ce qu’un composant JSF (UIComponent) ?
 Bloc
de base réutilisable
 Simple ou composé
 Associé ou non à des données
 Fournit ses méthodes de rendu et d’action
 S’assemblent pour créer une vue
Description

L’architecture MVC de JSF
Description

Cycle de vie requête-réponse
Description

Cycle de vie requête-réponse
Description

Cycle de vie requête-réponse
Description

Cycle de vie requête-réponse
Description

Cycle de vie requête-réponse
Description

Cycle de vie requête-réponse
Démonstration

Un Hello World en direct !
Conclusion

Nombreux avantages
 Réduction
de l’effort : moins de code de présentation
 Composants réutilisables
 Gestion de l’état de l’UI entre plusieurs requêtes
 Gestion fine des événements côté client
Conclusion

Nombreux avantages
 Réduction
de l’effort : moins de code de présentation
 Composants réutilisables
 Gestion de l’état de l’UI entre plusieurs requêtes
 Gestion fine des événements côté client

Quelques inconvénients
 Nécessité
de créer un nouveau composant pour un
besoin que ne peut pas satisfaire le framework
Conclusion

Nombreux avantages
 Réduction
de l’effort : moins de code de présentation
 Composants réutilisables
 Gestion de l’état de l’UI entre plusieurs requêtes
 Gestion fine des événements côté client

Quelques inconvénients
 Nécessité
de créer un nouveau composant pour un
besoin que ne peut pas satisfaire le framework
 Exécution plus gourmande en mémoire
Conclusion

Nombreux avantages
 Réduction
de l’effort : moins de code de présentation
 Composants réutilisables
 Gestion de l’état de l’UI entre plusieurs requêtes
 Gestion fine des événements côté client

Quelques inconvénients
 Nécessité
de créer un nouveau composant pour un
besoin que ne peut pas satisfaire le framework
 Exécution plus gourmande en mémoire
 Faible contrôle sur le rendu HTML/CSS/JS