Présentation sur les Entreprise JavaBeans (EJB)

Cette présentation couvre les Entreprise JavaBeans (EJB), un modèle de composants côté serveur utilisé dans le développement d'applications d'entreprise.

D'après le document Présentation sur les Entreprise JavaBeans (EJB)

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source

Présentation sur les Entreprise JavaBeans (EJB)

Software Development / Enterprise Java · PPTX · 19 pages · 1999

Consulter le document original →

Cette présentation couvre les Entreprise JavaBeans (EJB), un modèle de composants côté serveur utilisé dans le développement d'applications d'entreprise. Elle s'inscrit dans un cours sur les architectures distribuées et les serveurs d'applications J2EE, en détaillant la nature des EJB, leur classification, leur architecture, ainsi que leur déploiement et leur gestion via un serveur d'application comme JBoss.

Qu’est-ce qu’un EJB ?

Les Entreprise JavaBeans (EJB) sont un modèle de composants côté serveur destiné aux serveurs d'applications d'entreprise, aussi appelés Component Transaction Monitors (CTM). Ils permettent de développer des objets métier qui peuvent migrer d'un conteneur EJB à un autre, assurant ainsi portabilité et réutilisabilité. Un bean métier offre un modèle de programmation simple, permettant au développeur de se concentrer sur la logique métier sans se soucier des détails techniques liés à la distribution ou à la gestion des transactions.

L’architecture du serveur EJB

Les serveurs J2EE organisent une application en trois niveaux logiques :

  • Niveau présentation : interface graphique destinée à l'utilisateur.
  • Niveau métier : contient la logique métier ou logique applicative.
  • Niveau données : regroupe les données de l'application, telles que les bases de données, documents XML, ou serveurs LDAP.

Les EJB interviennent principalement au niveau métier, en tant que composants serveur qui encapsulent la logique métier.

Les types d’EJB

Il existe trois types principaux de composants EJB côté serveur :

  • Beans entité : Ils modélisent des concepts métier identifiables par un nom, comme un client ou un objet en stock. Ces beans représentent des objets réels, souvent persistants, stockés dans une base de données.
  • Beans session : Ces beans sont une extension de l'application cliente et sont responsables de la gestion des processus ou des tâches métier.
  • Beans orientés message : Introduits avec la version 2.0, ces beans sont asynchrones et répondent aux messages JMS (Java Message Service). Ils coordonnent des tâches impliquant d'autres beans session et entité. Contrairement aux beans session, qui exposent une interface distante avec des méthodes invoquées directement, les beans orientés message réagissent à des messages asynchrones spécifiques.

Les classes et interfaces d’un EJB

Pour implémenter des beans entité et session, plusieurs interfaces et classes doivent être définies :

  • Interface distante : définit les méthodes métier accessibles aux applications hors du conteneur EJB. Elle étend javax.ejb.EJBObject, qui hérite de java.rmi.Remote. Cette interface est utilisée avec l'interface distante du Home.
  • Interface distante du Home : définit les méthodes du cycle de vie du bean (création, suppression, recherche) accessibles hors du conteneur. Elle étend javax.ejb.EJBHome.
  • Interface locale : définit les méthodes métier accessibles aux autres beans situés dans le même conteneur, évitant ainsi le protocole d'objets distribués et améliorant les performances.
  • Interface locale du Home : définit les méthodes du cycle de vie du bean accessibles aux autres beans dans le même conteneur. Elle étend javax.ejb.EJBLocalHome.
  • Classe du Bean : implémente les méthodes métier et celles du cycle de vie. Un bean entité doit implémenter javax.ejb.EntityBean, tandis qu'un bean session implémente javax.ejb.SessionBean.
  • Beans orientés message : ne possèdent pas d'interfaces distantes ou locales car ils ne sont pas invoqués par des appels de méthode directs. Ils offrent uniquement la méthode onMessage(). Leur classe implémente javax.ejb.MessageDrivenBean et javax.jms.MessageListener.
  • Clé primaire : utilisée uniquement par les beans entité, c'est une classe simple fournissant un pointeur vers la base de données. Elle doit implémenter java.io.Serializable.

Le descripteur de déploiement

Le déploiement des EJB est décrit dans des fichiers de propriétés appelés ejb-jar.xml. Ces descripteurs définissent les attributs d'exécution des composants côté serveur, tels que la sécurité et le contexte transactionnel. Ils aident les outils de déploiement à intégrer les beans dans le conteneur EJB et indiquent au conteneur comment gérer l'exécution des beans une fois déployés.

Exemple de descripteur ejb-jar.xml

Un fichier ejb-jar.xml contient une section <entreprise-beans> qui regroupe les déclarations de tous les beans métier. Cette section peut contenir des éléments <entity>, <session> ou <message-driven> pour décrire respectivement les beans entité, session et orientés message.

Pour chaque bean, plusieurs éléments sont spécifiés :

  • <ejb-name> : nom descriptif du 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 bean.
  • <prim-key-class> : nom de la classe de la clé primaire (pour les beans entité).

Le serveur JBoss

JBoss est un serveur d'application J2EE développé à partir de 1999 par Marc Fleury. Écrit en Java et distribué sous licence LGPL, JBoss propose plusieurs modules essentiels :

  • JBossServer : infrastructure comprenant les conteneurs EJB et le Java Management Extension (JMX).
  • JBossMQ : gestion des messages JMS (Java Messaging Service).
  • JBossTX : gestion des transactions via les API JTA (Java Transaction API) et JTS (Java Transaction Service).
  • JBossCMP : persistance CMP (Container Managed Persistence).
  • JBossSX : sécurité basée sur JAAS (Java Authentication and Authorization Service).
  • JBossCX : gestion des connecteurs avec JCA (J2EE Connector Architecture).
  • Tomcat ou Jetty : support des servlets et des pages JSP.

Grâce à JMX, JBoss permet de charger dynamiquement les modules, conteneurs ou plugins selon les besoins. Il offre également la possibilité d'implémenter des services personnalisés.

Points clés

  • Les EJB sont des composants côté serveur facilitant le développement d'objets métier portables et réutilisables dans les applications d'entreprise.
  • Une application J2EE est organisée en trois niveaux : présentation, métier et données, les EJB intervenant au niveau métier.
  • Il existe trois types d’EJB : beans entité (objets persistants), beans session (gestion des processus) et beans orientés message (composants asynchrones répondant aux messages JMS).
  • Les beans entité et session nécessitent des interfaces distantes et locales ainsi qu'une classe bean et, pour les entité, une clé primaire.
  • Les beans orientés message implémentent une seule méthode onMessage() et n'ont pas d'interfaces distantes ou locales.
  • Le déploiement des EJB est décrit dans le fichier ejb-jar.xml, qui précise les attributs d'exécution et les classes associées.
  • JBoss est un serveur d'application J2EE modulaire et extensible, intégrant la gestion des EJB, des messages, des transactions, de la sécurité et des connecteurs.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions