Formation Développer des EJB3
3 JoursObjectifs de la formation EJB 3.0
L’architecture EJB3 a gommé tous les défauts des EJB2.x. Les EJBs session ou MDB sont devenus les composants les plus naturels pour implémenter les services métier d’une application et sont particulièrement adaptés aux architectures en cluster. Du côté de la persistance, JPA et les classes entités ont radicalement transformé les activités de développement d’applications Java en fournissant une abstraction complètement objet au modèle de persistance. Grâce aux nombreux ateliers réalisés durant ce cours, vous maîtriserez le développement d’EJB 3 et leur intégration dans une application d’entreprise. Cette formation EJB s’appuie sur les produits phares dans le monde de l’Open Source : les IDEs Eclipse et IntelijIDEA, ainsi que les serveurs applicatifs Wildfly et/ou GlassFish.
À qui s’adresse cette formation ?
Public :
Ce stage s’adresse à des développeurs d’applications, responsables informatiques, architectes, chefs de projets, ingénieurs, etc.,
Prérequis :
La maîtrise du langage Java est impérative.
Contenu du cours EJB 3.0
L’architecture JavaEE
Architecture N-tiers et modèle de programmation distribuée
Les rôles de développement
Composants Java EE et containers
APIs JavaEE et technologies (Servlets, JSF, EJB, Webservices)
Les serveurs applicatifs et les services fournis
Présentation de Wildfly et de Glassfish
Les IDEs pour JavaEE – Présentation d’Eclipse et IntelijIDEA
Architecture EJB3
La spécification EJB3
Architecture : la classe Bean, les interfaces « métiers », les annotations, le descripteur de déploiement XML optionnel
Les différents types d’EJB : session, entité et message-driven
Packaging et déploiement des EJB 3
Le rôle du conteneur d’EJB
Principe et rôle de JNDI (Java Naming and Directory Interface), Localisation des EJB3 avec JNDI
Injection de dépendances
Principe et rôle des intercepteurs
Compatibilité avec les EJB 2.x
Les clients des EJBs
Architecture typique MVC d’une application Web
Services métier et EJBs sessions
Les deux types d’EJBs sessions : stateless et stateful
Cycle de vie d’un EJB stateless, gestion du pool
EJB stateless et services Web
Cycle de vie d’un EJB stateful, mécanisme de passivation et d’activation
Méthodes de callback.
Cas d’utilisation et EJB session, Rapport entre EJB Session et HTTP session
Application Ajax et concurrence d’accès aux EJBs session
EJB session en cluster
Modèle asynchrone et Message Driven Beans
Principe des MOM (Middleware Orientés Message)
l’API JMS (Java Message Service)
Modèles de messages Publish/Suscribe et Point-To-Point
Structure d’un message JMS (entête, corps, sélecteur)
Principe, mise-en-oeuvre et cycle de vie d’un EJB message-driven
Le client d’un EJB message-driven
Configuration des objets JMS administrés
Persistance et entités
Introduction au Mapping objet-relationnel
Modèle de persistance et présentation de JPA
Caractéristiques d’une classe entité
Rôle de la clé primaire, cas des clés primaires composite
EntityManager et EntityManagerFactory
API de l’entity manager
Cycle de vie d’un classe entité
Le langage de requêtage JPQL : syntaxe et utilisation
Méthodes « callback » et listeners
Services JEE et piles d’interception
Principe des intercepteurs, configuration, chaînage
Intercepteurs par défaut
Ordre d’invocation des intercepteurs
Implémentation d’intercepteurs
Transactions et EJBs
Les transactions distribuées et le protocole de commit à deux phases
L’API JTA
Gestionnaire des transactions et intercepteur
Gestion déclarative et attributs transactionnels
Gestion programmée des transactions
Les transactions longues
Sécurité et EJBs
Mise en oeuvre de la sécurité dans une application JavaEE.
L’API JAAS
Authentification des utilisateurs
Les rôles, les droits d’accès aux méthodes
Sécurité déclarative ou programmée sur les EJBs
Travaux Pratiques
Ils seront effectués en utilisant les outils de développement Open Source Eclipse. Les serveurs d’applications utilisés seront Wildfly et/ou GlassFish