EJB 3 Initiation + Approfondissement
What are the aims of the training?
Training programme
Introduction
Spécifications JEE : composants, conteneurs
Principe des architectures n-tiers (applications distribuées), solutions
Les annotations
Présentation des EJB : historique et versions
Cycle de vie des EJB
Serveurs d'applications : JBoss, GlassFish, WebSphere,...
Mise en place
Choix de l'environnement de développement (Eclipse/Netbeans), plugins disponibles
Installation de l'environnement d'exécution, apports spécifiques à chaque conteneurs
Structure d'un module web à base d'EJBs, empaquetage et déploiement
Rappels sur les servlets et JSPs (chainage, persistance en mémoire, ...)
Atelier pratique : préparation d'une plateforme de développement/test - manipulation de l'environnement - multiples exemples : java (annotations), servlets et jsp
Spécifications EJB 3
Architecture (bean, interfaces, annotations), rôle du conteneur d'objets
Types d'EJB : session, entity, message-driven
Appels d'EJB (protole RMI/IIOP), clients (lourd/léger)
JNDI (Java Naming and Directory Interface) et collaboration entre outils (localisation de ressources)
Le Pattern Chain of Responsability et présentation des intercepteurs (bean, interface, annotations)
Atelier pratique : implémentation du design pattern chain of responsability - introduction aux intercepteurs
EJBs Session
Définition, interaction et calculs
Types disponibles (stateless, stateful), cycle de vie
Accès à un EJB Session : visibilité (local/remote/webService), choix du type d'accès
Accès concurrents et optimisations au niveau du conteneur
Implémentation d'intercepteurs, changement des configurations par défaut
Timers services
Atelier pratique : implémentation de plusieurs EJBs Session (stateless/stateful) + intercepteur - déploiement et écriture de divers types de clients
EJBs Entity
Mapping relationnel objet, spécification et frameworks ORM
EJBs entités : fonctionnalités, accès
Annotations JPA (Java Persistence API)
Contexte/unité de persistance
Gestion de l'état d'un EJB Entity
Relations entre entity beans (associations), traitements en cascade
Gestion de l'héritage : SINGLE_TABLE, TABLE_PER_CLASS, JOINED
EJB-QL (EJB Query Language) : présentation, syntaxe et constructions de requêtes
Atelier pratique : Développement d'applications web MVC avec des interractions entre EJBs session et divers Entity beans - utilisation du langage EJB-QL
EJB-MDB (Message-Driven Beans)
Définition, Architecture (MOM, modèles de messages), APIs disponibles
Panorama des implémentations serveurs
Mise en oeuvre d'échanges de message (destination, envoi, réception, récupération par injection)
Gestion des transactions
Atelier pratique : Mise en place d'une application à base d'EJB messages , multiples échanges et transactions
Concepts avancés
Sécurité de l'application : présentation des apis, gestion des utilisateurs et des rôles
Sécurisation de l'accès aux interfaces des EJBs
EJB et services web, protocoles et clients (statiques/dynamiques, synchrones/asynchrones)
EJB2 et EJB3 : différences, choix, évolution (migration)
Atelier pratique : Déploiement de services web à base d'EJB3 et écriture de plusieurs clients - sécurité d'une application distribuée