Chapitre 19. Enterprise JavaBeans

19.1. Introduction

19.1.1. Entreprise JavaBeans

Enterprise JavaBeans (EJB) 3.1 est une API pour développer des applications de Java EE distribuées, transactionnelles, sécurisées et portables grâce à l'utilisation des composants côté serveur appelés Enterprise Beans. Enterprise Beans implémente la logique métier d'une application, de manière découplée, qui encourage la réutilisation. Enterprise JavaBeans 3.1 est documenté dans la spécification Java EE JSR-318.
JBoss Enterprise Application Platform 6 prend en charge la génération d'applications qui utilisent la spécification Enterprise JavaBeans 3.1. Le conteneur EJB est implémenté par le projet communautaire JBoss EJB3, http://www.jboss.org/ejb3.

19.1.2. Enterprise JavaBeans pour Administrateurs

Les administrateurs JBoss ont de nombreuses options de configuration disponibles pour contrôler la performance des Beans Enterprise dans JBoss Enterprise Application Platform 6. Ces options sont accessibles par la Console de gestion ou par l'outil de configuration de ligne de commande. Éditer le fichier de configuration du serveur XML pour appliquer les modifications est également possible mais non recommandé
Les options de configuration EJB se situent dans des endroits légèrement différents de la Console de gestion, selon que le serveur exécute ou non.
Si le serveur exécute en tant que serveur autonome :
  1. Cliquer sur le lien Profile qui se trouve en haut et à droite pour changer de vue de Profil.
  2. Expand the Profile menu on the left by clicking the arrow next to the label.
  3. Cliquer sur Container pour le développer, puis cliquer sur EJB 3.
Si le serveur exécute dans le cadre d'un domaine géré :
  1. Cliquer sur le lien Profile qui se trouve en haut pour changer de vue de Profil.
  2. Expand the Subsystems menu on the left by clicking the arrow next to the label.
  3. Sélectionner le profile que vous modifiez à partir du menu Profile.
  4. Cliquer sur Container pour le développer, puis cliquer sur EJB 3.
Options de configuration EJB de la Console de gestion (Serveur autonome)

Figure 19.1. Options de configuration EJB de la Console de gestion (Serveur autonome)

19.1.3. Beans Enterprise

Les beans Enterprise sont des composants d'applications côté serveur, ainsi définis dans la spécification Enterprise JavaBeans (EJB) 3.1, JSR-318. Les beans Enterprise sont conçus pour l'implémentation d'une logique commerciale d'application d'une manière découplée, pour encourager sa réutilisation.
Les beans Enterprise sont écrits comme des classes Java et sont annotés avec les annotations EJB appropriées. Ils peuvent être déployés sur le serveur d'application dans leur propre archive (un fichier JAR) ou être déployés dans le cadre d'une application Java EE. Le serveur d'applications gère le cycle de vie de chaque bean Entreprise et leur fournit des services comme la sécurité, les transactions et la gestion de concurrence.
Un bean Enterprise peut également définir un nombre d'interfaces de métier. Les interfaces de métier vous proposent un plus grand contrôle sur les méthodes Bean qui sont disponibles pour les clients. et peut également vous donner accès aux clients qui exécutent dans les JVM à distance.
Il existe trois types d'Enterprise Bean : les Session beans, les Message-driven beans et les Entity beans.

Important

Les Entity beans sont maintenant obsolètes dans EJB 3.1 et Red Hat recommande d'utiliser des entités JPA à la place. Red Hat ne recommande d'utiliser des Entity beans que pour les compatibilités rétroactives avec les systèmes hérités.

19.1.4. Session Beans

Les Session Beans sont des Beans Enterprise qui encapsulent un ensemble de processus métier connexes ou tâches qui sont injectés dans les classes qui en ont fait la demande. Il existe trois types de Session Beans : sans état, avec état et singleton.

19.1.5. Message-Driven Beans

Les Message-driven Beans (MDB) fournissent un modèle basé-événement pour le développement de l'application. Les méthodes des MDB ne sont pas injectées ou invoquées du code client mais sont déclenchées par la réception de messages d'un service de messagerie tel que le serveur Java Messaging Service (JMS). La spécification Java EE 6 exige que JMS soit pris en charge, mais les autres systèmes de messagerie peuvent être supportés également.