Applications JEE avec Geronimo

ANNEE_DEBUT=2009
DATES_1:du 19 au 23 Janvier
DATES_1:du 9 au 13 Mars
DATES_1:du 11 au 15 Mai
DATES_2:du 6 au 10 Juillet
DATES_2:du 21 au 25 Septembre
DATES_2:du 2 au 6 Novembre
CODE:AS105

Public


Développeurs et intégrateurs d'applications en modèle JEE.

Objectifs


Connaître l'architecture et les principes du serveur Geronimo. Savoir concevoir une application avec le modèle JEE, et la mettre en oeuvre avec Geronimo et Tomcat.

Préalables


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


Présentation


Geronimo :le positionnement, la certification JEE, la licence Apache. La version Little-G
Architecture :
les liens avec les autres projets openSource : Jetty, Tomcat, Derby, Axis, ...
les GBeans, gestion du cycle de vie des GBeans : le noyau Geronimo

Installation


Vérification des prérequis, installation. Variables d'environnement. Modes de démarrage du serveur.

Rappels sur le modèle JEE


les composants d'un serveur d'application JEE :
serveur HTTP, moteur de servlets, serveur d'EJB.
Terminologie: application web, container, sources de données, pilote JDBC, hôtes virtuels.
Visualisation dans la console Geronimo.
Déploiement d'une application simple. Recherche des contextes racines.

Outils


Les outils d'administration en mode commande et par la console.
Configuration de Services,
Mécanismes de connexion aux bases de données : JDBC, pool de connexions.
Configuration du service JMS

Servlets, pages JSP


pages HTML dynamiques, communication avec bases de données et applications Java, communication avec d'autres servlets

Liens avec Tomcat et/ou Jetty


Installation et modification des paramètres de base
Activation du service.

Développement avec les EJB


Types d'EJB : EJB entité, EJB session, EJB Message-driven. Persistance et transactions.
Les 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: geronimo-application.xml, geronimo-web.xml, ...
Utilisation des annotations en remplacement du descripteur de déploiement. Simplification de la correspondance objet/relationnel.
Compatibilité ascendante. Déploiement des EJB3 sous Geronimo.

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. Transactions gérées par container.
Présentation JTA et JTS. 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 Geronimo et de la propagation du contexte transactionnel.

Sécurité


Présentation de JAAS. 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.
Sécurité. Mise en place d'une politique de sécurité lors du déploiement de l'application. Sécurité: JAAS, rôles, groupes de permissions.


Pythagore F.D.
01 55 33 52 10
pfd@pythagore-fd.fr

Nos centres de connexion
Centres de connexion
Calendrier
Code Cours:AS105

Contenu de la formation