Un bean enterprise est un ensemble de classes et d'interfaces Java qui implémentent la spécification EJB (Enterprise JavaBeans). La spécification EJB fait partie de la spécification J2EE (Java 2 Platform, Enterprise Edition). J2EE est un ensemble de technologies Java normalisées qui étendent Java 2 Standardized Platform, Standard Edition (J2SE). Voici quelques unes des technologies inclues dans la plate-forme J2EE :
Les applications écrites sur la base des spécifications J2EE font faciles à déployer sur n'importe quel serveur prenant en charge J2EE, tel qu'IBM WebSphere Application Server.
La version la plus récente de la spécification EJB est la version 2.1. Le plan de travail prend en charge plusieurs versions de la spécification EJB dont les versions 1.1, 2.0 et 2.1. Le plan de travail fait référence aux différents niveaux de spécification. Par exemple, lors de la création d'un nouveau bean entity à persistance gérée par conteneur (CMP), vous pouvez sélectionner la version CMP 1.x ou 2.x, qui correspond respectivement à la version EJB 1.1 ou 2.0/2.1.
Pour plus d'informations sur les technologies J2EE et EJB, consultez les sites Web suivants :
Vous trouverez également des informations sur l'utilisation de ces technologies dans les rubriques suivantes du guide InfoCenter :
La spécification EJB définit les éléments suivants :
Une application d'entreprise peut être installée et exécutée sur un serveur d'EJB (également appelé serveur Enterprise Java Server), tel que celui fourni avec WebSphere Application Server. La tâche du serveur consiste à fournir un conteneur d'EJB sur lequel les beans enterprise sont exécutés. Un serveur et un conteneur d'EJB collaborent pour fournir les services suivants :
Les applications client n'accèdent pas directement aux beans enterprise. Au lieu de cela, des interfaces répertoriant les méthodes du bean enterprise mises à la disposition du client sont fournies. Le conteneur assure l'implémentation des interfaces dans le bean enterprise.
Il existe trois types de beans enterprise : les beans session, les beans entity et les beans gérés par message. Une application d'EJB typique contient plusieurs beans entity et des beans session ou gérés par message.
Les beans entity sont utilisés pour représenter et interagir avec des tables de bases de données relationnelles. Un bean entity représente de façon typique une ligne dans une table de base de données ainsi que les colonnes de la table correspondant aux champs du bean. La persistance des données fait référence au stockage permanent des données, dans une base de données ou sous un autre format. Les conteneurs d'EJB peuvent traiter la persistance d'un bean entity (persistance gérée par conteneur ou CMP) ; ou, le bean entity peut traiter sa propre persistance (persistance gérée par le bean ou BMP).
Les beans session interagissent avec les beans entity. En règle générale, ils fournissent le processus ou le flux de travaux global d'une application client. Les beans session peuvent être sans état (aucune donnée n'est sauvegardée) ou avec état (certaines données sont sauvegardées). De façon typique, un client d'application interagit avec des beans session, qui à leur tour interagissent avec des beans entity.
Les beans gérés par message fournissent un moyen de communication pour les applications qui souhaitent accéder à des beans entity. Ils peuvent être utilisés de la même manière que les beans session. La principale différence réside dans la manière dont ils sont appelés. Les beans session (et les beans entity) sont appelés de façon synchrone, tandis que les beans gérés par message sont appelés de façon asynchrone. Un appel synchrone vers un bean session consisterait à appeler le bean session directement. Un appel asynchrone vers un bean géré par message consisterait à envoyer un message, pour lequel le bean géré par message est en mode écoute. Java Messaging Service (JMS) est le moyen de communication sous-jacent des beans gérés par message.
Pour plus d'informations sur les types de beans enterprise, consultez la rubrique Architecture EJB du guide InfoCenter.
Un bean enterprise contient les classes et les interfaces suivantes :
Les interfaces composant local et éloigné sont utilisées par des applications client pour accéder aux beans enterprise. Ces interfaces répertorient les méthodes de logique métier disponibles dans un bean enterprise. Un bean enterprise peut avoir une interface éloignée, une interface locale ou les deux.
Les performances sont meilleures lorsque vous accédez à un bean enterprise au moyen de l'interface locale plutôt que l'interface éloignée. Les raisons de l'amélioration des performances incluent :
L'interface locale a été ajoutée à la spécification EJB 2.0 en vue d'améliorer les performances. Une pratique recommandée en matière de conception consiste à encapsuler les beans entity dans une session de façade, de manière à ce que les clients accèdent au bean session à distance, alors que le bean session accède au bean entity localement. Cette pratique permet un accès à distance des clients tout en améliorant les performances.
L'interface home d'un bean entity est également utilisée par des applications client pour accéder au bean enterprise, mais les méthodes disponibles via cette interface sont des méthodes de cycle de vie, dont notamment celles qui permettent de rechercher, de créer et de supprimer des beans entity dans le conteneur d'EJB. Les interfaces home peuvent être éloignées ou locales.
Les classes de bean enterprise contiennent la logique métier de l'application d'entreprise. Dans les interfaces, les méthodes proposent les méthodes correspondantes de la classe de bean aux applications client.
Une clé principale est un identificateur unique associé à une entrée spécifique d'une base de données. Par exemple, dans le cas d'une base de données d'employés, chaque employé est associé à un ID employé unique. Chaque instance d'une classe de clé principale correspond à l'un des ID uniques et, par conséquent, à un enregistrement d'employé spécifique dans la base de données.
L'application J2EE définit les fichiers et la structure des répertoires d'une application d'entreprise. En outre, elle indique les types de fichiers .war, .ear et.jar, chaque type étant utilisé pour des besoins spécifiques.
Un fichier EAR (Enterprise Archive) est le type de package d'une application d'entreprise. Il comprend des fichiers d'archive Web et des fichiers JAR, ainsi qu'un descripteur de déploiement d'application (application.xml) qui contient des métadonnées sur l'application d'entreprise.
Un fichier d'archive Web contient des fichiers destinés à une application Web, tels que des images, des fichiers HTML, des servlets et des pages JSP. Il comprend également des métadonnées sous la forme d'un descripteur de déploiement Web (web.xml).
Les fichiers d'archive JAVA (fichiers JAR) contiennent des classes Java. Dans des applications EJB, les fichiers JAR peuvent contenir des modules EJB ou une application client EJB.
Les modules EJB englobent les beans enterprise ainsi que des métadonnées dont un descripteur de déploiement EJB (ejb-jar.xml). Les modules EJB déployés sur WebSphere Application Server peuvent également contenir des métadonnées décrivant des extensions spécifiques à IBM et des informations de liaison. Une application client EJB comprend les programmes Java utilisés pour accéder à une application EJB et un descripteur de déploiement client (application-client.xml).
Type de fichier | Signification | Type d'application | Descripteur de déploiement |
---|---|---|---|
.ear | Fichier d'archive d'entreprise | Entreprise | application.xml |
.war | Fichier d'archive Web | Web | web.xml |
.jar | Fichier d'archive Java | EJB Client EJB |
ejb-jar.xml application-client.xml |
Visual Editor utilise le langage UML (Unified Modeling Language) pour représenter visuellement la structure et la conception des classes et des interfaces Java, dont les composants d'EJB. Il fournit les mécanismes requis pour illustrer les relations entre les classes ainsi que le flux de travaux. En utilisant les outils UML dans le plan de travail, vous pouvez éditer de façon visuelle des classes et des interfaces Java ou d'autres composants d'EJB. Vous pouvez lancer la création d'un composant d'EJB directement à partir d'un diagramme de classes. Le code sous-jacent est généré, puis rendu visuellement sur le diagramme de classes et prêt à être édité. Les modifications apportées à un diagramme de classes UML entraînent une modification du code sous-jacent. Les modifications apportées au code sous-jacent sont reflétées sur le diagramme de classes UML.
Dans le plan de travail, un diagramme de classes UML est stocké sous forme de fichier avec une extension .dnx.
UML 2 est une spécification standard fournie par le groupe OMG (Object Management Group). Le site Web du groupe OMG propose également une présentation du langage UML.
Le guide InfoCenter fournit des informations détaillées sur les thèmes suivants :
Vous êtes maintenant prêt à commencer l'exercice 1.2 : Préparation de l'espace de travail.