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 J2EE les composants d'un serveur d'application J2EE : serveur HTTP, moteur de servlets, serveur d'EJB. Positionnement des outils : Jboss, Tomcat, Apache, ... Terminologie: application web, container, sources de données, pilote JDBC, hôtes virtuels. Servlets, pages JSP pages HTML dynamiques, communication avec bases de données et applications Java, communication avec d'autres servlets Développement Composants d'une application d'entreprise: .ear, .jar, .rar, .war Utilisation des 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, un .war, etc.). EJB Types d'EJB : EJB entité, EJB session, EJB Message-driven. Persistance et transactions. Méthodes de base: ejbCreate(), ejbActivate(), setSessionContext(), ejbStore(),... Fichiers de description en XML. Les fichiers spécifiques: jboss.xml, jboss-web.xml, ... EJB Session EJB stateless, stateful. Notion de conversation. Fichiers de déploiement. Contraintes de conversation. Transactions. Application: création d'un EJB stateless ''Conversion de devises'', création d'un EJB stateful ''Caddie'' EJB Entity Persistance avec les EJB BMP, CMP, CMP2. Fichiers de déploiement. Définition des clés primaires. Définition des méthodes findBy. Gestion des jointures. Application: création d'un EJB BMP persistant, d'un CMP de type ''Compte Bancaire'' et de CMP avec jointure. Relations entre EJB (one-one,one-many,many-many). Le langage EJB-QL Correspondance objet/relationnel sous JBoss: jbosscmp-jdbc.xml. Intégration Transactions. Utilisation de JTA, JTS. Transactions explicites. Transactions gérées par container. Mise en évidence du retour arrière déclenché par le conteneur JBoss. 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. Mise en oeuvre d'une application en cluster. Introduction aux EJB3 Apport du jdk1.5. Annotations et génériques. Principes de mise en oeuvre des EJB3. Simplification de la définition des interfaces. Utilisation des annotations en remplacement du descripteur de déploiement. Simplification de la correspondance objet/relationnel. Compatibilité ascendante. Les EJB3 sous JBoss. Installation du deployeur. EJB Session en version 3 Reprise de l'EJB Caddie. Migration en version 3. Dépendance d'injection. Intercepteurs de méthodes métier. EJB Entité en version 3 Les fichiers de persitance. Méthodes d'accès: FIELD/PROPERTY. Mapping par défaut. Relations en EJB3. Héritage. Synchronisation avec la base de données, détachement/attachement.