Formation Seam Développer une application Web JEE avec Seam

Objectifs

  • Comprendre ce qu'apporte JBoss Seam et pourquoi il a été créé
  • Maîtriser les différents concepts de Seam
  • Savoir concevoir, développer et déployer une application web en JBoss Seam

Contenu

De l'architecture JEE vers JBOSS Seam

  • Servlet, JSP
  • Architecture en couches
  • Widgets complexes
    • Couche de présentation : approche action (ex: Struts) et approche composants (ex: JSF)
    • Couche métier : d'EJB2 vers EJB3/JPA
  • Architecture standard
    • Normes JSF et EJB3/JPA
    • Naissance de Seam pour résoudre l'intégration entre JSF et EJB3 : The « glue »

Seam : un framework d'unification

  • Nouveau modèle de programmation
  • Promotion de l'approche POJO (Plain Old Java Objects) comme des composants métiers (services)
  • Gestion par annotations versus JSF(XML) + EJB3 (XML + annotations)
  • Utilisation correcte des ORM
    • Comprendre les problèmes de « lazy-loading » des architectures MVC classiques

Bijection des dépendances

  • Injection de dépendance (DI)
    • Composants applicatif (@In)
    • Composants serveur (@PersistenceContext,...)
  • Outjection de dépendances
    • Extension du concept d'injection de dépendance (@Out, @DataModel , ...)
  • Limites de la bijection et alternatives (property versus outjection)

Modèle de programmation contextuel

  • Comparaison de l'approche Stateless classique versus Stateful
  • Intérêt des Stateful applications (Performance, Fonctionnalités du browser, ...)
  • Cycle de vie des composants Seam
  • Détail du scope Conversation
    • Conversation Longue
    • Workspace et concurrences
    • Management de la conversation
  • Gestion des transactions
    • Rollback et exceptions

Intégration de composants et flexibilité de Seam

  • Facelets (Performance, Debugging, Moteur de templates, Data List component, ...)
  • Seam JSF components (Seam UI Tags, Seam EL, ...)
  • Les filtres Seam (Redirection d'URL, Gestion d'erreurs, ...)

Problématiques Web récurrentes

  • Validation des données
  • Sécurité
  • Internationalisation (i18n)
  • CRUD database application

Seam et l'approche par les tests

  • Intérêts de l'approche POJO pour les tests unitaires
  • Présentation de TestNG
  • Le framework de test de Seam : « the SeamTest class »
    • Tests unitaires et mock operations (bijection, entity manager, transactions)
    • Tests d'intégrations : « the embedded runtime »

Gestion des PageFlows

  • jPDL
  • Eclipse IDE

Gestion des processus métier

  • Principes des processus métier
  • Intégration du framework JBoss jBPM dans Seam
    • Utilisation de JBoss Eclipse IDE

Les interfaces riches

  • Librairies AJAX
  • JavaScript et Seam Remoting

Utilisation de Seam sans les EJB

  • Pourquoi se passer des EJB ?
  • Alternatives
    • Les composants Seam Pojo
    • JPA et Hibernate EntityManager
    • Hibernate Session

Le développement sous Tomcat

  • Intérêts d'un « lightweight » serveur?
  • Mise en oeuvre avec Seam POJO Application et Seam EJB3 Application

Durée

3 jours (21h)

Tarif (déjeuners inclus)

1450 € (HT)

Lieu

Paris 9ème

Répartition

50% théorie
50% pratique

Pré-requis

Expérience de développement Web Java et notions d'outils de mapping objet / relationnel

Public

Architecte
Développeur
Chef de projet

Dates des sessions

14 au 16 mai 2008
7 au 9 juillet
8 au 10 septembre
12 au 14 novembre

Inscription

Bulletin d'inscription

Intra-entreprise

Sur demande

Renseignements

+33(0)1.45.26.19.15
training@zenika.com