Objectifs de la formation
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 ?
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.
Programme
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
Thèmes : Java EE