- Architecture applicative Java EE
- Les couches persistance, service, présentation
- Les design pattern utilisés : DAO, MVC, injection de dépendances
- Présentation de JSF
- Avantages procurés par les JSF, comparaison avec Struts
- Architecture, les différentes implantations
- Installation et configuration : descripteurs web.xml et faces-config.xml, annotations (JSF 2.0)
- Le cycle de vie de la requête :
- L'enchaînement des 6 étapes, court-circuiter les étapes du cycle
- Erreurs liées à l'exécution asynchrone des composants d'une page
- Implantation de l'architecture MVC avec JSF
- Les managed beans, notion de binding, les backing beans
- Accès au contexte d'exécution avec l'objet FacesContext
- Contrôle de la navigation, requêtes GET (JSF 2.0)
- Composants de l'interface : bibliothèques core et html
- Utilisation de pages JSP "classiques" ou du framework Facelets pour les pages, templates avec Facelets
- Composants formulaires, liens hypertextes, tableaux
- Messages et internationalisation
- Définition des fichiers de messages, configuration de l'application
- Gestion des messages dans un bean et dans une page JSP
- Conversion et validation des données de formulaire
- Convertisseurs et validateurs standard et personnels
- Erreurs de conversion et de validation, messages d'erreur
- Support d'Ajax
- Support standard en JSF 2.0
| - Présentation de bibliothèques Ajax pour JSF : RichFaces/Ajax4jsf
- EJB 3 entités : JPA (Java Persistence API)
- Définition et principe de la persistance, les implantations
- Configurer la connexion JDBC et l'implantation (persistence.xml)
- Objets persistants : entités
- Définition d'une entité, clé, identité, mapping des champs
- Configuration par descripteur XML et par annotation
- Cycle de vie des entités
- Le gestionnaire de persistance : EntityManager, notion de session
- Objets persistants et transitoires, détachement et attachement
- Comment créer, rechercher, modifier, supprimer une donnée ?
- Relations entre objets
- Relation unidirectionnelle, bidirectionnelle, 1-1, 1-n et n-m
- Classe d'association, héritage, classe incluse, cascade
- Le langage de requêtes JPQL à base d'objets
- Requêtes simples et paramétrées, sous-requêtes
- Tri et jointure (utilisation des relations entre objets)
- Optimisations du chargement des objets
- Optimisation des relations en cascade (eager fetching)
- Le chargement paresseux (lazy-loading)
- Intégration JSF/EJB 3 entités avec Spring
- Architecture de Spring, le contexte Spring, les bean factory
- Configuration par descripteur XML et par annotation
- Intégration de JSF et de JPA, gestion des transactions
|