PRESENTATION : Les EJB représentent aujourd’hui le moyen le plus évolué pour développer des architectures à base d’objets distribués.
La nouvelle spécification EJB3 simplifie le développement d’applications distribuées avec mise en œuvre de la persistance JPA, des transactions et de la sécurité
OBJECTIFS : maîtriser la technologie EJB3 pour le développement d’applications d’entreprises
DUREE : 4 jours
PUBLIC : développeurs, chefs de projet, architectes
PRE-REQUIS : cette formation s’adresse à des développeurs maîtrisant Java. La connaissance des Servlets/JSP est recommandée. La connaissance des EJB 2.x est un plus.
TRAVAUX PRATIQUES : 60 % du temps en utilisant un outil de développement Open source comme Eclipse et le serveur d’applications JBoss
CONTENU DE LA FORMATION
Architectures N-tiers, composants distribués :
- architectures N-tiers : évolution du client-serveur traditionnel
- architectures distribuées : .NET, RMI, CORBA, EJB
L’architecture Java EE 5 et les serveurs d’applications :
- Java EE: définition, présentation
- relations entre servlets, JSP et EJB
- éléments constitutifs et fonctionnalités d’un serveur d’applications
- compatibilité des serveurs d’applications avec les spécifications J2EE
- les serveurs d’applications Open Source JBoss et GlassFish: architecture, marché
Les IDE Eclipse et NetBeans :
- Eclipse/ JBoss-IDE, un standard pour le développement J2EE en Open Source
- NetBeans IDE, l’IDE Open Source émergent pour le développement J2EE
Introduction à l’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 EJB 3 avec JNDI
- principe des listeners
- injection de dépendances
- principe et rôle des intercepteurs
- compatibilité avec les EJB 2.x
Les clients des EJB :
- les applications «standalone» clientes d’un EJB
- les applications web clientes d’un EJB
- mise-en-oeuvre d’une architecture MVC avec EJB
Création de services avec les EJB sessions :
- comparaison EJB session « stateless » et « stateful »
- l’EJB session du type «stateless », son cycle de vie
- l’EJB session du type « stateful », son cycle de vie: passivation et activation
- méthodes « callback »
- les accès concurrents sur les EJB sessions
- configuration des EJB sessions dans les architectures en cluster
- le bon usage des EJB sessions
Persistance de données avec les Beans entités :
- mapping objet-relationnel, rôle de la clé primaire
- clé primaire simple ou composite
- le nouveau modèle de persistance EJB3 et ses API JPA
- rôle de l’Entity Manager
- opérations sur les Beans entités
- méthodes « callback » et listeners
- cycle de vie d’un Bean entité
- 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 : stratégies de mapping
- associations : de un vers un, de un vers plusieurs, de plusieurs vers plusieurs
- mise-en-oeuvre des relations entre Beans entités
Traitement de messages avec les EJB «message-driven» :
- 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
Intercepteurs d’EJB :
- principe des intercepteurs, configuration, chaînage
- intercepteurs par défaut
- rrdre d’invocation des intercepteurs
- quelques applications type
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
Le service Timer :
- objectifs
- présentation des API
- mise en œuvre dans les EJB session
- mise en œuvre dans les EJB message-driven
Les transactions et les EJB :
- principe des transactions distibué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 :
- mise-en-oeuvre de la sécurité dans une application J2EE.
- authentification des utilisateurs
- les rôles, les droits d’accès aux méthodes
- sécurité déclarative ou programmée sur les EJB