Présentation de Geronimo
Geronimo :le positionnement, la certification JEE, la licence Apache
La version Little-G Architecture
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
Terminologie
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
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
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 œuvre 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