Introduction et rappels
Architecture Java EE5
Architecture multi-tiers distribuées, comparatif J2EE 1.4 et Java EE 5
Rappels sur conteneurs et composants
Apports de JEE5 (Annotation, injection de dépendance, ...)
Le standard JSF
Modèle MVC et composants d'interfaces
Le cycle JSF et ses différentes phases
Facelets et JSP
Ajax et JSF
EJB 3.0
Le modèle EJB et la distribution
Les apports du container d'EJB, transaction, sécurité, sclability
Les différents types d'EJB et leurs rôles, la persistence API
Premier pas avec Seam
Présentation du projet Seam et de ses objectifs
Architecture des projets Seam
Mise en place de l'IDE. Plug-ins Eclipse. SeamGen
Composants Seam et contextes
Bijection et injection de dépendances
Seam et les phases JSF
Méthodes de call-back
Factory et composants métier
Composants implicites
Seam et le test
Configuration et packaging d'application seam
Travaux Pratiques (Mise en œuvre d'un cas d'utilisation simple. (Enregistrement d'utilisateur))
Navigation avec jPDL
Présentation des deux modèles de navigation
Gestion du bouton « back »
Utilisation de jPDL
Le moteur de règle Drools
Gestion des erreurs
Travaux pratiques (Utilisation de jPdl pour gérer la navigation d'une application web.)
Modèle conversationnel
Présentation, conversation et cas d'utilisation
Gestion des onglets du navigateur
Rôle des EJB session stateful
Délimitation des conversations
Les conversations imbriquées
Concurrence des contextes de conversation et la notion de workspace
Travaux pratiques (Mise en place de workspaces dans une application web complète)
La persistance
Rappels sur la persistance API de Java EE. Implémentation avec Hibernate
Rappel sur la notion de transaction, Transaction et concurrence d'accès, transactions utilisateurs
Attributs des contextes de persistance
Gestions des transactions par Seam. Les transactions dans les phases JSF
Framework de validation
Travaux Pratiques (Cas d'utilisation complet classique d'une application web)
Les interfaces riches
Comparatif JSP et facelet
La Taglib Seam
Extensions de l'expression language
Ajax et JSF
Accès aux composants métier via Javascript
La taglib Ajax4jsf
Support pour les thèmes
Travaux Pratiques (Mise en place de composants Ajax classique (validation de données, auto-complétion, polling))
Autres fonctionnalités
Sécurité
Internationalisation
Support pour l'envoi et la réception d'email
iText et la génération PDF
Texte enrichi
Asynchronisme
Travaux Pratiques (Mise en œuvre d'une application de type blog)