Les modules utilisent souvent des artefacts qui se trouvent dans des bibliothèques.
Les bibliothèques et les artefacts sont inclus dans les
fichiers d'archive Java™ (JAR) que vous identifiez lors du déploiement d'un
module.
Lors du développement d'un module, il est possible d'identifier certaines ressources ou composants qui peuvent être utilisés par différentes parties du module.
Ces ressources ou composants peuvent être des objets créés lors du
développement du module ou des objets existants se trouvant dans
une bibliothèque déjà déployée sur le
serveur. Cette rubrique décrit les bibliothèques et les fichiers dont vous aurez besoin lors de l'installation d'une application.
Bibliothèque
Une bibliothèque contient des objets ou des ressources
utilisés par plusieurs modules dans
WebSphere Integration Developer. Les
artefacts peuvent se trouver dans des fichiers JAR, des fichiers archive de ressources (RAR) ou des fichiers archive de services (WAR). Ces artefacts sont notamment :
- des interfaces ou des descripteurs de services Web (fichiers ayant une extension .wsdl) ;
- des définitions de schéma XML d'objets métier (fichiers ayant une extension .xsd) ;
- des mappes d'objets métier (fichiers ayant une extension .map) ;
- des définitions de relations et de rôles (fichiers ayant une extension .rel et .rol).
Lorsqu'un module doit utiliser un artefact, le
serveur recherche cet artefact à partir du chemin d'accès aux classes EAR et le charge, s'il n'est pas déjà chargé dans la mémoire. A partir de ce moment, toute requête portant sur l'artefact utilise cette copie jusqu'à
son remplacement. La Figure 1 illustre les
composants et les bibliothèques d'une application.
Figure 1. Relations entre module, composants et bibliothèques
Fichiers JAR, RAR et WAR
Un certain nombre de fichiers peuvent contenir des composants d'un module. Ces fichiers sont décrits en détails dans la spécification
Java
Platform, Enterprise Edition (J2EE).
Une description détaillée des fichiers JAR est disponible dans la
spécification JAR.
Dans WebSphere ESB, un fichier JAR contient également une application
qui est la version assemblée du module comprenant toutes les références de prise en charge et les interfaces vers tous les autres composants de service utilisés par le module. Pour installer l'application complète, vous avez besoin de ce fichier JAR et de toutes
autres bibliothèques : fichiers JAR, fichiers WAR (archive Web), fichiers RAR
(archive de ressources), fichiers JAR de bibliothèques de transfert (EJB - Enterprise
Java
Beans) ou de toutes autres archives, et vous devez créer un fichier EAR installable à
l'aide de la commande serviceDeploy .
Conventions de dénomination pour les modules de
transfert
Dans la bibliothèque, des conventions de dénomination s'appliquent aux noms des modules de transfert. Ces noms sont uniques pour un module spécifique. Nommez les autres modules requis pour déployer l'application en veillant à éviter tout conflit avec les noms des modules de transfert. Pour un module nommé
myService, les noms de modules de
transfert sont les suivants :
- myServiceApp
- myServiceEJB
- myServiceEJBClient
- myServiceWeb
Remarque : La commande serviceDeploy crée le module de transfert
myServiceWeb uniquement si le service
inclut un service de type de port WSDL.
Remarques concernant l'utilisation de bibliothèques
L'utilisation de bibliothèques assure la cohérence des objets métier et celle du traitement entre les différents modules étant donné que chaque module appelant dispose de sa propre copie d'un composant spécifique. Pour empêcher les incohérences et les erreurs, il est important de veiller à ce que les modifications apportées aux composants et aux objets métiers utilisés par les modules appelants soient coordonnées avec l'ensemble des modules appelants. Pour mettre les modules appelants à jour, procédez comme suit :
- copiez le module et la copie la plus récente des bibliothèques sur le serveur de production ;
- recréez le fichier EAR installable à l'aide de la commande serviceDeploy ;
- arrêtez l'application en cours d'exécution qui contient le module appelant et réinstallez-la ;
- redémarrez l'application qui contient le module appelant.