12 Rue de l’Europe

31850 Montrabé

05 34 48 92 23

JEE, Développement d’applications avec EJB

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
Top