Architecture JavaEE 6
Architecture N-tiers
Modèle de programmation distribuée
Les rôles de développement
Composants Java EE 6
Technologies (Servlets/JSP, JSF, EJB, Webservices)
Serveurs applicatifs et services fournis
Découverte d’Eclipse, Netbeans, Jboss et de Glassfish
Architecture EJB3
Historique et objectifs
Types :
– Session
– Entity
– Message Beans
Architecture : classe Bean, interfaces « métiers », annotations, descripteur de déploiement XML optionnel
Packaging et déploiement
Rôle du conteneur et des intercepteurs
Principe et rôle de JNDI (Java Naming and Directory Interface)
Dépendances
Compatibilité avec la version 2.x
Clients
Interfaces : Local, Remote
EJBs sessions
– Stateless (Cycle de vie, Gérer le pool, Services Web)
– Stateful (Mécanisme de passivation et d’activation, en cluster)
Méthodes de callback
Rapport entre EJB Session et HTTP session
Concurrence d’accès
Message Driven Beans
Découverte des MOM (Middleware Orientés Message)
L’API JMS (Java Message Service)
Modèles de messages (Publish/Suscribe)
Point-To-Point
Structure d’un message JMS
EJB message-driven :
– Principe
– Mise-en-œuvre
– Cycle de vie
– Client
Configurer les objets JMS administrés
Concurrent : Spring JMS
Configurer Jboss Messaging
Développement EJB3 Message
onMessage()
Persistance de données et entités
Présentation du Mapping objet-relationnel
Modèle de persistance
Découverte de JPA
Particularités
Rôle de la clé primaire
Clé primaire simple ou composite
EntityManager et EntityManagerFactory
API de l’entity manager
Cycle de vie
Langage de requêtage JPQL :
– Syntaxe
– Utilisation
Méthodes « callback » et listeners
Les accès concurrents sur les EJB entités
Les EJBs entités en cluster
Relations entre EJBs entités
Modèle relationnel et modèle objet
Héritage
Mapping
Associations : de un vers un, de un vers plusieurs, de plusieurs vers plusieurs
Relation de composition
Mise-en-œuvre des relations
Stratégies de chargement et persistance transitive
Interceptions et Webservices
Intercepteurs, configuration, chaînage
Intercepteurs par défaut
Ordre d’invocation et implémentation
Web Services
Recouvrement d’un EJB ou d’un servlet par un Web Service
Interopérabilité avec .net
Transactions
Notion de transaction
Les transactions distribuées et le protocole de commit à deux phases
L’API JTA « Java Transaction API »
Gestionnaire des transactions et intercepteur
Gestion déclarative
Attributs transactionnels
Gestion programmée des transactions
Transactions longues
Niveau d’isolation
Démarcation des transactions grâce à l’annotation
Gérer les exceptions
Sécurité
Mise en œuvre de la sécurité dans une application J2EE
L’API JAAS
Authentification des utilisateurs
Les rôles, les droits d’accès aux méthodes
Sécurité déclarative ou programmée