Objectifs pédagogiques de la formation

Après une rapide introduction à la nouvelle architecture des applications Java EE 5, cette formation JEE sur le framework JBoss Seam permet à travers ses nombreux ateliers, d’acquérir les fondations nécessaires pour appréhender l’intégralité de ce nouveau framework.

JBoss Seam est un nouvel environnement de développement d'application Web. Basé sur le standard Java EE5, il unifie et intègre les technologies comme Ajax, JSF, et les EJB3.0. La simplicité et l’efficacité du framework permet aux développeurs d'assembler composants métiers et composants d'interfaces afin de construire des applications web offrant des interfaces utilisateurs riches. En outre, Seam propose des solutions simples à mettre en œuvre à tous les problématiques récurrentes des applications web (validation de données, transactions utilisateur, email, génération de PDF, asynchronisme, etc.)

 

Programme de la formation

Introduction et rappels
  • Ce chapitre introduit le stage en rappelant les concepts fondamentaux des technologies utilisées par le framework Seam

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

Premiers pas avec Seam
  • Ce chapitre présente le minimum à savoir pour commencer à coder une application avec Seam. Le premier TP permet aux stagiaires de ce familiariser avec l’IDE et d’implémenter une architecture simple mettant en œuvre les différents composants d’une application 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
  • Un des intérêts du modèle MVC est de pouvoir centraliser la cinématique d’une application web dans des fichiers de configuration. Seam améliore les modèles navigationnels classiques (Struts, JSP) en proposant l’utilisation de 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
  • Les applications web utilisent généralement la notion de session utilisateur pour préserver des données d’état entre les différentes requêtes http. Cependant, certaines données devraient avoir une durée de vie plus courte : celle du cas d’utilisation. Seam en introduisant la notion de conversation permet de pallier ce manque
  • 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

Seam et la persistance
  • L’objectif de ce chapitre est de présenter la gestion des transactions avec Hibernate ainsi que des design patterns reconnus pour l’utilisation du framework

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

Seam et les interfaces riches
  • Ce chapitre aborde l’aspect présentation des applications Seam. En s’appuyant sur la technologie facelet et des taglibs additionnels, Seam permet de facilement introduire des composants Ajax et de modulariser les composants d’interface
  • 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
  • Un des objectifs du framework est d’apporter des solutions simples à mettre en œuvre à toute les problématiques classique des applications web. Ce dernier chapitre parcourt l’ensemble des apports de Seam dans ce domaine
  • 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