Principes et conseils : Assemblage des modules J2EE
Rubriques
Introduction
Cette page de principes et conseils traite de l'assemblage des modules J2EE.
L'assemblage d'un module J2EE produit les éléments d'implantation suivants :
- Archive J2EE (fichiers WAR, EJB-JAR et JAR), et ses
- Descripteurs de déploiement (fichiers XML) décrivant le contenu de l'archive et la manière dont les composants qu'elle contient doivent fonctionner dans le conteneur de déploiement
Pour plus d'informations sur les modules J2EE, voir Principes et conseils : Modules J2EE.
Définition de l'archive
A cette étape, le fournisseur des composants de l'application identifie les composants à empaqueter dans le module.
Plusieurs archives destinées à des usages différents peuvent être créées : par exemple, des archives séparées pour le test, le débogage ou la fourniture de différentes configurations de déploiement de "production". Les archives de test contiennent des classes de test et d'autres construites avec des options de débogage, tandis que celles de production n'en contiennent pas. Le contexte destiné à l'archive en cours d'assemblage affecte l'espace de travail de l'assemblage en cours de configuration.
Définition des descripteurs de déploiement
Dans l'assemblage d'un module J2EE, l'étape essentielle consiste à définir le descripteur de déploiement.
Comme ces informations doivent avoir été prises dans la conception de chaque composant, la définition du descripteur de déploiement revient en grande partie à vérifier la cohérence du module avec la conception. L'ingénierie aller-retour permet également d'utiliser des outils pour générer le descripteur de déploiement.
Chaque archive contient un descripteur de déploiement standard J2EE, avec éventuellement un ou plusieurs descripteurs spécifiques au fournisseur. Les descripteurs standard, ejb-jar.xml pour les archives EJB-JAR
et web.xml pour les WAR, contiennent des sections à compléter pour les tests et autres déploiements "hors production", et d'autres qui seront préparées par l'assembleur de l'application finale pour le déploiement "production".
Chaque descripteur contient des informations utiles aux fournisseurs des composants d'application et aux assembleurs de l'application. Par exemple, ejb-jar.xml contient trois sections principales
(pour ce qui concerne notre propos): <enterprise-beans>...</enterprise-beans>, <relationships>...</relationships>
, et <assembly-descriptor>...</assembly-descriptor>. Le fournisseur des composants d'application définit les propriétés des EJB, telles que les champs des persistances gérées par conteneur, dans la section <enterprise-beans>...</enterprise-beans> . Il définit également les relations éventuelles entre EJB dans la section <relationships>...</relationships> .
Quant à la section <assembly-descriptor>...</assembly-descriptor> , elle définit les transactions, les rôles de sécurité, les permissions de méthode, etc. En principe, seul l'assembleur de l'application est concerné par cette section. Plus rarement, il peut également décider de modifier le contenu des deux autres sections. La situation est similaire pour les archives WAR. Pour plus d'informations sur l'assemblage des applications, voir Principes et conseils :
Assemblage des applications J2EE.
Si, au cours de la conception, vous avez défini des mappages entre les tables de base de données du modèle de données et les EJB d'entité à persistance gérée par conteneur (CMP), ces mappages doivent se retrouver dans les directives de mappage à l'intérieur des descripteurs spécifiques aux fournisseurs (les directives de mappage ne font pas partie du descripteur EJB standard). Pour plus d'informations sur le mappage entre EJB d'entité CMP et tables de bases de données, voir Principes et conseils :
Conception des beans d'entité.
Si plusieurs composants doivent être empaquetés dans la même archive (voir Etape : Définition de l'archive), le fournisseur des composants d'application doit intégrer les informations sur leurs descripteur de déploiement. Par exemple, lorsqu'il combine des EJB dans une archive EJB-JAR, le fournisseur des composants d'application doit harmoniser les informations de leurs descripteurs de déploiement, telles que les rôles de sécurité et les références croisées.
Validation de l'archive
Il n'est pas inutile de valider le contenu de l'archive avant de tenter le déploiement, car des erreurs obscures, particulièrement du côté serveur, peuvent entraîner des messages d'erreur obscurs ou inexistants. Par exemple, des noms JNDI en double ne peuvent être utilisés par aucun des composants empaquetés dans l'archive.
|