La formation EJB 3 permet aux développeurs Java d’acquérir des compétences solides dans la création de composants métier performants au sein d’un environnement Java EE. Elle aborde les principes de base de l’architecture multi-niveaux, la fonction des serveurs d’applications et l’incorporation des Enterprise JavaBeans dans des applications modernes.
- Connaissance du langage Java
- Notions de programmation orientée objet
- Bases du développement web
- Connaissance de Java EE recommandée
- Comprendre l’architecture Java EE et le rôle des EJB
- Développer des EJB session, entité et message-driven
- Gérer les transactions et la persistance avec JPA
- Sécuriser et déployer des applications EJB
Programme de la formation
Acquérir les compétences nécessaires pour développer et déployer des composants EJB 3 performants
Formation EJB 3 : Développer des composants Java EE performants
Contenu
- L’écosystème JEE
- Architectures n-tiers
- Évolution du client serveur
- Positionnement solution standard JEE ou combinaison de Frameworks JEE (Spring, Hibernate, Struts, etc)
- JEE : définition et présentation
- Éléments constitutifs et fonctionnalités d’un serveur d’applications
- Comptabilité des serveurs d’applications avec les spécifications JEE
- Le serveur d’applications Open Source Jboss : architecture, marché, perspectives
- Servlets et jsp
- Eléments de base HTTP
- Notion de conteneur web
- Structure normalisée d’une application Web J2EE
- Principe de fonctionnement et architecture d’une servlet
- Gestion des sessions
- Espace de stockage
- Principe d’une JSP (scriplets, objets, actions)
- Architecture MVC
- Les EJB 3
- La spécification EJB 3
- Architecture : classe Bean, interfaces « métiers » , annotations, descripteur de déploiement XML
- 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 EJB 3avec JNDI
- Injection des dépendances
- Principes et rôles des intercepteurs
- Comptabilité avec les EJB 2.x
- Les applications « standalone » clientes d’un EJB
- Les applications Web clientes d’un EJ
- Les EJBS Session
- Comparaison EJB Session « stateless » et « stateful »
- EJB session « stateless » et « stateful »
- Cycle de vie
- Méthodes « callback »
- Les accès concurrents sur les EJB Session
- Configuration dans les architectures en cluster
- Le bon usage des EJB sessions
- Les EJBS Entité
- Mapping objet-relationnel, rôle de ka clé primaire
- Clé primaire simple ou composite
- Le nouveau modèle de persistance EJB 3 et ses API JPA
- Rôle de l’entity Manager
- Opérations sur les EJB entités
- Cycle de vie d’un EJB entité
- Méthodes « callback » et listeners
- Les accès concurrents sur les EJB entités
- Le langage EJB-QL : syntaxe et utilisation
- Relations entre EJB « entités » : du modèle objet au modèle EJB, héritage, mapping
- Associations : de un vers un, de un vers plusieurs, de plusieurs vers plusieurs
- Mise en œuvre
- MDB et le principe des MOM (Middleware Orientés Message)
- Modèles de messages Publish/Suscribe et Point-to-Point
- Structure d’un message JMS
- Principe, mise en oeuvre et cycle de vie d’un EJB message driven
- Le client EJB message driven
- Configuration des objets JMS administrés
- Les Services web et les EJB
- Principe d’un service Web. Les technologies fondatrices : HTTP, XML, SOAP, WSDL et UDDI
- API JAX-RPC et JAX-WS
- Transformation d’un EJB session stateless en service web
- Les transactions et les EJB
- Principe des transactions distribuées : commit à deux phases
- Les API JTA : « Java Transaction API »
- Gestion déclarative et attributs transactionnels
- Gestion programmée des transactions
- Sécuriser l’accès aux EJB
- La sécurité d’une application JEE
- Authentification des utilisateurs
- Les rôles, les droits d’accès aux méthodes
- Sécurité déclarative ou programmée sur les EJB
- Les outils de programmation pour la création et l’utilisation de Web services (Axis, JAX- RPC…)
Cette formation EJB 3 constitue une étape cruciale pour progresser dans le développement Java EE et les architectures distribuées. Elle s’inscrit pleinement dans la catégorie Java JEE, dédiée aux technologies avancées de développement d’applications d’entreprise.