Formation: Applications JEE avec JBoss
Prix:
2250 € ht
Code cours:
AS104
Public:
Développeurs et intégrateurs d'applications en modèle JEE.
Objectifs
Connaître l'architecture et les principes du serveur JBoss. Savoir concevoir une application avec le modèle JEE, et la mettre en oeuvre avec Jboss et Tomcat.
Connaissances préalables nécessaires
Il est demandé aux participants de connaître la programmation Java, ainsi que les techniques Internet (serveur HTTP, HTML,...) et quelques notions de bases de données.
Programme de formation
JBoss
Présentation. L'architecture Jboss : le noyau, la couche services, la couche présentation, la couche application, le principe JMX et les Mbeans. Installation, configuration.
Le modèle JEE
Composants d'un serveur d'application JEE: serveur HTTP, moteur de servlets, conteneur d'EJB. Positionnement des outils : Jboss, Tomcat, Apache, ... Terminologie: application web, conteneur, sources de données, pilote JDBC, hôtes virtuels.
Servlets, pages JSP
pages HTML dynamiques, communication avec des bases de données, applications Java, inter-servlets
Développement
Composants d'une application d'entreprise: .ear, .jar, .rar, .war Outils d'assemblage d'applications: ant, plugins, ... Regroupement de composants unitaires en une application. Création d'une application sur-mesure (créer un .ear, .war, ...).
EJB
Types d'EJB : EJB entité, EJB session, EJB Message-driven. Persistance et transactions. Annotations spécifiques EJB 3. Annotations et génériques. Principes de mise en oeuvre des EJB3. Fichiers de description en XML. Les fichiers spécifiques: jboss.xml, jboss-web.xml, ... Annotations en remplacement du descripteur de déploiement. Simplification de la correspondance objet/relationnel. Compatibilité ascendante. Les EJB3 sous JBoss.
EJB Session
EJB stateless, stateful. Notion de conversation. Fichiers de déploiement. Contraintes de conversation. Transactions. Dépendance d'injection. Intercepteurs de méthodes métier. Application: création d'un EJB stateless "Conversion de devises", création d'un EJB stateful "Caddie"
EJB Entité
Persistance avec les EJB. Fichiers de déploiement. Définition des clés primaires. Définition des méthodes de recherche (query). Gestion des jointures en EJB3. Les fichiers de persistance. Méthodes d'accès: FIELD/PROPERTY. Mapping par défaut. Utilisation de l'EntityManager. Relations entre EJB (one-one,one-many,many-many). Le langage EJB-QL Héritage. Synchronisation avec la base de données, détachement/attachement. Correspondance objet/relationnel sous JBoss: jbosscmp-jdbc.xml. Application: création d'une application utilisant des jointures Many/Many
EJB MessageDriven
Développement de composants orientés message Principe des MOM (Middlewares Orientés Message). Présentation de JMS. Développement d'un EJB Message Driven (MDB). L'interface JMS MessageListener. Traitement asynchrone. La méthode onMessage(). Fichiers de déploiement. Cycle de vie des MDB. Gestion des erreurs.
Transactions
Les transactions distribuées: commit à deux phases. Utilisation de JTA, JTS. Transactions explicites ou gérées par container. Annotations de transaction. Gestion des exceptions dans un contexte transactionnel. Mise en oeuvre d'une application EJB3 transactionnelle. Mise en évidence du retour arrière déclenché par le conteneur JBoss et de la propagation du contexte transactionnel.
Sécurité
JAAS: rôles, groupes de permissions. Mise en oeuvre dans le conteneur d'EJB. Rôles et permissions sur les méthodes. Intégration de la sécurité dans le serveur d'applications. Mise en place d'une politique de sécurité lors du déploiement de l'application. Mise en oeuvre d'une application en cluster.