- 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
 
  
  |