Intra-entreprise :
Formation personnalisée dans vos locaux.
Inter-entreprise :
Formation dans nos locaux.
Formation Java / J2EE - Développer une application d'entreprise avec EJB3
18 juin 2012 | 8 octobre 2012 | 17 décembre 2012 | Egalement disponible en Intra : Tarif au 01 46 20 18 40.
Résumé
Les Entreprise JavaBeans (EJB) n'ont que peu de rapport avec les JavaBeans standards.
Les EJB sont des composants serveur qui prennent en charge la sécurité, la réplication, les transactions et la persistance dans un environnement distribué et scalable.
La spécification EJB3 cherche à revoir largement EJB2, jugé trop complexe pour les développements quotidiens. Elle emprunte d'ailleurs assez largement aux solutions éprouvées qui se sont développés avec succès en alternative à EJB2, essentiellement Spring (injection de dépendances) et Hibernate (mapping O/R).
L'intérêt d'implémenter une couche de mapping objet-relationnel entre un modèle métier « objet » et une base de données relationnelle n'est probablement plus à démontrer : le code qui contient les requêtes SQL est isolé dans un endroit unique, permettant une adhérence réduite au schéma de la base ; le modèle métier peut respecter les principes de la programmation objet, utiliser l'héritage et la navigation.
Issue des travaux du groupe d'experts de la JSR 220 (EJB 3), JPA est une spécification clé de Java EE 5. Loin d'être un framework de plus, JPA etablit une norme standard simplifiée pour la persistance afin de garantir une meilleure portabilité des applications Java EE 5. JPA reprend naturellement les meilleures pratiques de frameworks établis tels Hibernate ou TopLink. EJB 3 s'appuie sur JPA pour la persistance des entités.
Issue des travaux du groupe d'experts de la JSR 220 (EJB 3), JPA est une spécification clé de Java EE 5. Loin d'être un framework de plus, JPA etablit une norme standard simplifiée pour la persistance afin de garantir une meilleure portabilité des applications Java EE 5. JPA reprend naturellement les meilleures pratiques de frameworks établis tels Hibernate ou TopLink. EJB 3 s'appuie sur JPA pour la persistance des entités.
Objectifs de la formation
Les objectifs de la formation sont les suivants:
Etre capable de développer des composants métier EJB3
Connaître et assimiler les concepts d'un conteneur EJB3
Mettre en oeuvre les différentes types d'EJB : session stateless, session stateful, entité et message
Connaître les bonnes pratiques
Connaître les concepts de la norme JPA
Savoir définir un modèle persistant
Connaître les problématiques liées à la persistance d'objets sur bases relationnelles
Comprendre et savoir utiliser le langage de requêtes objet JPQL
Connaître les techniques et compromis permettant de garantir de bonnes performances
Publics
Développeurs Java ayant expérience minimale de 6 mois, etc., connaissant JEE.
Pré-requis pour suivre cette formation Java / J2EE
Cette formation permet de comprendre et d'expérimenter JPA par la pratique. Elle est un pré-requis indispensable au cours EJB3.
Contenu de la formation Java / J2EE :
Java Entreprise Edition 5 :
- Les 6 niveaux d'une architecture moderne
- Architecture générale
- Java EE et le modèle MVC
- Rôles des EJB
- Les différents types d'EJB :
- EJB Session (Statefull, Stateless)
- EJB Entity
- EJB Message
- Conteneur d'EJB
- Architectures de déploiement
- RMI / IIOP
- Java EE : historique
- Les serveurs Java EE 5
La problématique de persistance :
- Le mapping objet-relationnel
- Intérêt de JPA, positionnement
- JPA et les serveurs d'applications
- Historique des solutions, Hibernate, TopLink, EJB
- Java EE : historique
- Les serveurs Java EE 5
Le modèle de persistance :
- Définition d'une entité persistante, concept de POJO, les attributs, les relations
- Entité et Identité
- Cycle de vie des entités
- Mise en place d'un mapping
- Mapping sans annotations
- Mapping par annotations
- Déclaration des attributs
- Représentation des différents types de relation entre entités
- Classe embarquée
- Relation 0..1
- Relation 1..N et N..1
- Relation N..M
- Manipulations CRUD des entités
- Gestion de la bidirectionnalité (ou relation inverse)
- Gestion de l'héritage et du polymorphisme
- Mapper une entité sur plusieurs tables
- TP Mise en place de la persistance d'un modèle illustrant les différentes configurations présentées
Manipulation des Entités :
- Le concept d'Entity Manager
- Gestion des Transactions, JTA (java Transaction API)
- Les requêtes : requêtes nommées et requêtes dynamiques, Java Persistence Query Language,
- Définition d'une requête
- Exécution d'une requête
- Requêtes paramétrées
- Syntaxe JPQL
- TP
- Utilisation des fonctionnalités de requêtage de JPA
Performances :
- Utilisation de Cascade
- Optimisation du chargement et Lazy Loading
- Le verrouillage Optimiste
Session Bean :
- Les EJB Session
- EJB Session stateless
- EJB Session statefull
- Interfaces d'un EJB
- Les annotations
- Interfaces locales et distantes
- Déploiement
- Eclipse et WTP pour le développement
Interagir avec des EJB Session :
- Principe d'appel à un EJB avec JNDI
- EJB et WebServices
- EJB Session Stateful
- Notions avancées
- SessionContext
- Callbacks
- Intercepteurs
- Timer
Gestion des transactions :
- Transactions gérées par le conteneur
- Transactions gérées par le bean
- Gestion des accès concurrents
Sécurité :
- Sécurité dans Java EE 5
- Sécurisation des EJB 3
Message-Driven Bean :
- Présentation des EJB Message
- Java Message Service (JMS)
- Développement d'un Message Bean
- Types de messages
Conclusion :
- Panorama des implementations
- Futur des serveurs d'application Java et de la persistance
