350 likes | 519 Views
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 ?
E N D
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 Contrôleur requête HTTP 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 Contrôleur requête HTTP (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 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 backingbean • 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 backingbean • 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 backingbean • 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