<!-- Slide number: 1 --> # Presentation ejb
<!-- Slide number: 2 --> # Plan Introduction C’est quoi un EJB Serveur EJB Les types EJB Les classes et interfaces d'un EJB Le descripteur de déploiement Le serveur JBoss
<!-- Slide number: 3 --> # Introduction Dans cette présentation on va expliquer le EJB el detail , nous allons commencer avec la question C’est quoi un EJB ?
<!-- Slide number: 4 --> # C’est quoi un EJB ? Les EJB (Entreprise JavaBean ) sont un modèle de composants pour les CTM (Component Transaction Monitors), le type de serveur d'applications d'entreprise le plus avancé.

<!-- Slide number: 5 --> Les entreprises JavaBeans sont tout simplement un modèle de composants du coté serveur qui permet de développer des objets métier pouvant migrer d'une marque de conteneur d'EJB (serveur EJB) à un autre. Un bean métier présente un modèle de programmation simple permettant au développeur de se concentrer sur l'aspect métier.
Publicité
<!-- Slide number: 6 --> # Le serveur EJB Les serveurs J2EE permettent de mettre en place une application en la divisant en trois niveaux logiques : Niveau présentation : l'interface graphique pour l'utilisateur. Niveau métier : Recouvre la logique métier ( aussi appelée logique applicative ). Niveau données : Les données de l'application ( serveur de base de données, documents XML, serveur LDAP... ).
<!-- Slide number: 7 -->
 #
<!-- Slide number: 8 --> # les 3 types d'EJB Les composants côté serveur des Entreprise JavaBeans sont de trois types: les beans entité, les beans session et les beans orientés message. Les beans session et les beans entité sont des composants coté serveur basés sur RMI (Remote Method Invocation). On y accède à l'aide des protocoles d'objets distribués. Les beans orientés message disponibles depuis la version 2.0 sont des composants côté serveur asynchrones qui répondent aux messages JMS (Java Message Service) asynchrones.
<!-- Slide number: 9 --> # Les beans entité modélisent des concepts métier pouvant être désignés par des noms. Par exemple un bean entité peut représenter un client, un objet d'un stock. Autrement dit, les bean entité correspondent à des objets réel. Ces objets sont dans la plupart des cas des enregistrements persistants stockés dans une base de données.
<!-- Slide number: 10 --> # Les beans session sont une extension de l'application client et ils sont responsable de la gestion des processus ou des tâches.
Publicité
<!-- Slide number: 11 --> # Les beans orientés message des EJB 2.0 sont responsables de la coordinations des tâches impliquant d'autres bean session et entité. La différence entre les beans orientés message et les beans entité réside dans la façon de d'y accéder. Un Bean session fournit une interface distante afin de définir les méthodes que l'on peut invoquer, alors que les Beans orientés message attend des messages asynchrones spécifiques auquels il répond.
<!-- Slide number: 12 --> # Les classes et interfaces d'un EJB Pour implémenter des beans entité et session, il faut définir les interfaces, une classe de bean et une clé primaire: Interface distante: L'interface distante définit les méthodes métier d'un bean auxquelles peuvent accéder les applications hors du conteneur EJB. L'interface distante étend javax.ejb.EJBObject, qui étend java.rmi.remote. Elle est utilisée par les beans entité et session avec l'interface distante du Home. Interface distante du Home: L'interface du Home définit les méthodes du cycle de vie du bean auxquelles peuvent accéder les applications hors du conteneur d'EJB (créer, supprimer ou retrouver un bean). L'interface du Home étend javax.ejb.EJBHome. Elle est utilisée par les beans entité et session avec l'interface distante.
<!-- Slide number: 13 --> # Interface local: L'interface local définit les méthodes métier d'un bean auxquelles peuvent accéder les autres beans situés dans le même conteneur d'EJB. Elle permet aux beans d'interagir sans ajouter le protocole d'objets distribués (Amélioration des performan Interface local du Home: L 'interface local du Home définit les méthodes du cycle de vie du Bean auxquelles peuvent accéder les autres beans situés dans le même conteneur d'EJB (créer, supprimer ou retrouver un bean). L'interface local du Home étend javax.ejb.EJBLocalHome. Elle est utilisée par les beans entité et session avec l'interface local.
<!-- Slide number: 14 --> # Classe du Bean: Les classes des beans entité et session implémentent les méthodes métier et celle du cycle de vie des beans. Un bean entité doit implémenter javax.ejb.EntityBean et un bean session implémente javax.ejb.SessionBean. Attention: les beans orientés message n'utilisent aucunes interfaces de composants, car les applications ou les autres beans n'y accèdent jamais par des appels de méthode. Il n'offre qu'une seule méthode onMessage(). La classe Bean orienté message implémente les interfaces javax.ejb.MessageDrivenBean et javax.jms.MessageListener. ces). La clé primaire: La clé primaire est une classe très simple qui fournit un pointeur dans la base de données. Seuls les beans entité ont besoin de cette clé primaire. Elle implémente java.io.Serializable.
<!-- Slide number: 15 --> # Le descripteur de déploiement Les descripteurs de déploiement correspondent à des fichiers de propriétés ejb-jar.xml. Ils permettent de décrire les attributs d'exécution des composants côté serveur (sécurité, contexte transactionnel). Ils aident les outils de déploiement à ajouter des beans au conteneur EJB. Une fois le bean déployé, les propriétés décrites dans les descripteurs de déploiement serviront toujours à indiquer au conteneur EJB comment gérer l'exécution du Bean.
<!-- Slide number: 16 --> # Ejb-jar.xml Vous trouverez ci-dessous un exemple de descripteur pour notre application Cabin. <entreprise-beans> : contient les déclarations pour tous les beans métier décrits par ce document. Il peut contenir des éléments <entity>, <session> ou <message-driven> qui décrivent les beans entité, session et orientés message. <entity>: décrit un bean entité et ses informations de déploiements. <ejb-name> : le nom descriptif d'un Bean. <home> : nom de la classe de l'interface distante du Home. <remote> : nom de la classe de l'interface distante. <ejb-class> : nom de la classe du beans. <prim-key-class>: nom de la classe de la clé primaire du Bean.
Publicité

<!-- Slide number: 17 --> # Le serveur JBoss Jboss est un serveur d'application J2EE développé à partir de 1999 par un français Marc FLEURY. Ce serveur est écrit en Java et distirbué sous licence LGPL. Jboss fournit un certains nombres de modules : JBossServer qui comporte une infrastructure constituée des conteneurs EJB, ainsi que du Java Management Extension (JMX). JBossMQ pour la gestion des messages JMS (Java Messaging service). JBossTX pour la gestion des transactions avec les API JTA(Java Transaction API ) et JTS(Java Transaction Service). JBossCMP pour la persistance CMP. JBossSX pour la sécurité basée sur JAAS (Java Authentication and Authorization Service). JBossCX pour la gestion des connecteurs avec JCA (J2EE Connector Architecture). Tomcat ou Jetty pour le support des servlets et des pages JSP. Jboss permet grâce au JMX de chargé les différents modules, conteneurs ou plugin en fonction des besoins. Bien entendu, Jboss permet d'implémenter ses propres services.
<!-- Slide number: 18 --> # Bibliographie site officiel de Jboss : www.jboss.org site officiel d'Eclipse : www.eclipse.org
<!-- Slide number: 19 --> # Merci pour votre attention