Architecture multi-tiers et composants distribués- La plateforme JavaEE 5 : les concepts, les composants et les services
- Les principes des Enterprise Java Beans et leur utilisation dans l'architecture
- Les nouveautés de JavaSE 5 et EJB 3
Premier pas avec les EJB session- Définition d'un Session Bean
- Développement des classes et interfaces d'EJB
- Les annotations spécifiques EJB 3
- Déploiement d'un EJB
- Développer un client d'EJB
Développement avancé de Session Beans- Principe d'injection des dépendances
- Accès local / accès distant
- EJB Session Stateless et Stateful
- Le cycle de vie et le pool d'instance
- Les méthodes de callback
- Activation et passivation des composants
- Le descripteur de déploiement XML
Gestion des transactions- Rappel des propriétés d'une transaction : les propriétés ACID
- Présentation de l'API JTA
- La gestion déclarative avec les annotations
- Principe de propagation des transactions
- La gestion programmatique des transactions
- Gestion des exceptions
- Principe des transactions distribuées : commit à deux phases
Persistance des données avec les Entity Beans- Les principes du mapping objet/relationnel
- La nouvelle technique de persistance : JPA
- Développer une première classe persistante avec JPA
- Intégration dans un Session Bean
Mapping objet / relationnel avec JPA- Contexte et objectifs d'un outil de mapping Objet / Relationnel comme JPA
- Développement des classes persistantes : POJO, unicité des objets, sérialisation, associations
- Mapping des classes : identifiants, propriétés, données temporelles et types énumérés
- Mapping des associations : embedded, one-to-one, one-to-many, many-to-one
- Mapper une hierarchie d'héritage : les différentes stratégies possibles
Manipuler les objets persistants JPA- Charger les objets persistants : les différentes techniques de lecture
- Les stratégies de chargement : lazy loading, chargement immédiat, chargement agressif
- Mécanisme détaillé du lazy loading : comment maîtriser le chargement retardé
- Les opérations CRUD : insertion, lecture, mise à jour et suppression d'un objet persistant
- Comprendre le cycle de vie des objets persistants gérés par JPA
- Synchronisation avec la base de données : les différents modes de flushing
- Principe de la persistance en cascade lors des opérations d'écriture
- Les techniques de verrouillage pessimiste et optimiste
Utilisation avancée du mapping JPA- Mapping des classes et propriétés : clé primaire composée, mapping multi-tables...
- Contrôler les requêtes INSERT et UPDATE générées par JPA
- Mapping des associations : sémantiques list et map, associations many-to-many
Le langage EJB QL- Requêtes d'interrogation : sélection des données, opérateurs de comparaison, opérateurs logiques
- Opérations sur les chaînes de caractères et les données temporelles
- Principe des requêtes avec jointures implicites, internes, externes et jointures rapportées
- Principe des sous-requêtes et des prédicats associés (in, all, any, some, exist)
- Effectuer des projections et utiliser l'instanciation dynamique
- Requêtes sur les ensembles : les clauses count, min, max, avg, having, group by
Développement de composants orientés message- Principe des MOM (Middlewares Orientés Message)
- Mise en oeuvre avec JMS (Java Message Service)
- Modèles de messages Publish/Suscribe et Point-To-Point
- Le développement d'un EJB Message Driven Bean
- La gestion transactionnelle avec les MDB
- Le cycle de vie d'un MDB
Intégration des EJB dans l'architecture JEE- Packaging d'une application JEE
- Injection des EJB dans les composants web
Les EJB Timers- Exécuter un service planifié dans un EJB Session Stateless
- Présentation de l'interface TimerService
- Les EJB Timer de type Message Driven Bean
Gestion de la sécurité- Notions d'authentification et d'autorisations
- Définir des permissions d'accès aux EJB
- Exécution d'un EJB en mode RunAs
Intercepteurs d'EJB- Principe des intercepteurs
- Ecrire un intercepteur d'EJB
- Appliquer les intercepteurs aux EJB
- Interception d'évènements du cycle de vie
Les Services Web et les EJB- Principe des Services Web
- Créer un Service Web avec un EJB Session et JAX-WS
- Client d'un Service Web
|