Architectures n-tiers et JEE 1.5
- Architectures n-tiers. Evolution du client-serveur.
- Architectures distribuées : .NET, RMI, CORBA, EJB.
L'architecture et les serveurs d'applications
- JEE : définition, présentation.
- Relations entre servlets, JSP et EJB.
- Eléments constitutifs et fonctionnalités d'un serveur d'applications.
- Compatibilité des serveurs d'applications avec les spécifications JEE.
- Le serveur d'applications Open Source Jboss : architecture, marché, perspectives.
Les IDE Eclipse et NetBeans
- Eclipse/JBoss-IDE, un standard pour le développement JEE en Open Source.
- NetBeans IDE, l'IDE Open Source émergent pour le développement JEE.
Rappels sur les Servlets et JSP
- Principe et architecture d'une servlet.
- Gestion des sessions. Espace de stockage.
- Principe d'une JSP (scriplets, objets, actions).
L'architecture 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 3 avec JNDI.
- 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 œuvre d'une architecture MVC avec EJB.
EJB "sessions" : création de services
- Comparaison EJB session " stateless " et " stateful ".
- EJB session "stateless " et " stateful ". Cycle de vie.
- Méthodes " callback ".
- Les accès concurrents sur les EJB sessions.
- Configuration dans les architectures en cluster.
- Le bon usage des EJB sessions.
EJB "entités" : persistance de données
- 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 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.
EJB "message-driven" : traitement de messages
- 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.
- Principe, mise en œuvre 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.
- Ordre d'invocation des intercepteurs.
- Quelques applications types.
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 et dans les EJB message-driven.
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.