Méthodes conseillées : Modules et packaging pour les services métier

Lors du développement d'applications d'intégration métier, vous pouvez être amené à travailler avec des ressources telles que les fichiers JSP, les fichiers JAR, les projets Web, les projets Java et les projets J2EE. Cette rubrique contient des informations qui vous aident à configurer vos projets et vos ressources afin de pouvoir les créer et les déployer correctement sur WebSphere Process Server.

Fichiers JavaServer Pages utilisant des références autonomes

Les fichiers JSP (JavaServer Pages) appellent des composants SCA (Service Component Architecture) qui utilisent des références autonomes dans le module. Un fichier JSP doit être déployé dans le même fichier EAR que le module. La procédure à suivre pour ajouter le fichier JSP au module est la suivante :
  1. Créez un projet Web.
  2. Intégrez le fichier JSP au projet Web. Si vous importez le code, importez-le dans ce projet Web. Voir Exemple de code JSP.
  3. Ouvrez le module (contenant les références autonomes) avec l'éditeur de dépendances. Ajoutez une dépendance au projet Web en tant que projet J2EE. Vérifiez que la case Déployer avec le module est cochée, car cette option permet d'ajouter le projet Web au fichier EAR.
Remarque : Ne copiez le fichier sca.references dans un autre fichier EAR. Le fichier ne fonctionnera pas en dehors du module auquel il appartient.

Si le projet Web se trouve dans un autre fichier EAR, le fichier JSP se trouve alors dans un autre module, et vous devez effectuer des importations et des exportations pour qu'il fonctionne avec des services dans un autre module.

Exemple de code JSP

Voici un exemple de code JSP utilisant les références autonomes dans l'assemblage du module :

com.ibm.websphere.sca.Service bankService = (com.ibm.websphere.sca.Service)com.ibm.websphere.sca.ServiceManager.INSTANCE.locateService("BankServicePartner");
=> Le nom de référence "BankServicePartner" provient du fichier sca.references du module (par exemple <reference name="BankServicePartner">...). Ce fichier existera lorsque vous aurez créé une référence autonome dans l'éditeur de connexion.
com.ibm.websphere.sca.scdl.OperationType operationType = bankService.getReference().getOperationType("openAccount");
=> Nous allons utiliser le type d'opération pour obtenir les types DataObject qui doivent être transmis dans l'opération d'appel.
com.ibm.websphere.bo.BOFactory factory = (com.ibm.websphere.bo.BOFactory) new  com.ibm.websphere.sca.ServiceManager().locateService("com/ibm/websphere/bo/BOFactory");
=> Il s'agit de la méthode standard pour obtenir la fabrique permettant de créer des objets métier.
commonj.sdo.DataObject input = factory.createByType(operationType.getInputType());
=> Crée le type approprié d'objet données attendu en entrée par l'opération.
commonj.sdo.DataObject customer = input;
=> Part de l'hypothèse qu'il n'existe pas actuellement d'entrée encapsulée.
if(operationType.isWrapperType(operationType.getInputType()))
{
=> Pour appeler la référence dans ce cas, l'encapsuleur défini dans le fichier WSDL de l'interface doit être transmis. Nous créons donc l'objet données encapsulé et le définissons dans l'encapsuleur (le nom de la propriété provient du schéma en ligne dans le fichier WSDL).
	customer = factory.createByType(operationType.getInputType().getProperty("customer").getType());
	input.set("client", customer);
}
customer.setString("firstName", "Bob");
customer.setString("lastName", "Smith");
customer.setString("address", "7 Holly Drive");
customer.setBoolean("isGold", true);
customer.setInt("birthYear", 1976);
=> Les 5 lignes ci-dessus définissent les attributs de Customer.
commonj.sdo.DataObject output  = (commonj.sdo.DataObject)bankService.invoke("openAccount",input);
commonj.sdo.DataObject account = null;
if(operationType.isWrapperType(operationType.getOutputType()))
	account = output.getDataObject("account");
else
	account = output;
=> La sortie renvoyée peut ou non être encapsulée.

Gestion du code Java

Méthodes conseillées : Si vous devez développer des applications Java ou importer des fichiers JAR devant être utilisés dans un module d'intégration métier, créez un projet Java pour le code et ajoutez une dépendance dans le projet Java au module qui va utiliser le code Java.

Les propriétés Java de la bibliothèque ou du module d'intégration métier ne doivent pas être modifiées, car elles peuvent provoquer des incidents lors de la génération du code de déploiement. Par conséquent, nous vous déconseillons de développer des applications Java complexes ou d'importer des fichiers JAR dans une bibliothèque ou un module afin de les utiliser. De même, lorsque vous générez des implémentations Java pour des composants dans un diagramme d'assemblage, les implémentations Java générées doivent être utilisées comme point de lancement pour appeler d'autres classes Java.

La vue Intégration métier affiche uniquement les implémentations et les interfaces Java utilisées dans le diagramme d'assemblage. Elles sont répertoriées sous le module qui les utilise. Si vous devez travailler avec des projets Java, vous pouvez choisir de basculer dans la perspective Java pour y travailler.

Basculement vers la perspective Java

Procédez comme suit pour ouvrir la perspective Java :

  1. Dans le menu, sélectionnez Window > Open Perspective > Other....
  2. Sélectionnez Java puis cliquez sur OK.

Dans la perspective Java, les deux perspectives ouvertes s'affichent dans le coin supérieur droit de la fenêtre du Plan de travail. Vous pouvez basculer vers la perspective Intégration métier en cliquant sur le bouton Perspective Intégration métier comme le montre cette illustration :

coin supérieur droit de la fenêtre du Plan de travail affichant les deux boutons de perspective

Voici quelques instructions pour le développement en Java dans un projet Java :
  • Créez un projet Java.
  • Effectuez votre développement Java dans le projet Java. Si vous avez besoin d'importer un fichier JAR, importez-le dans le projet Java. N'importez pas les fichiers JAR dans le module ou la bibliothèque car le fichier JAR ne sera pas ajouté au fichier EAR.
  • Ouvrez le module qui va utiliser le code Java avec l'éditeur de dépendances. Ajoutez le projet Java comme projet dépendant et vérifiez que la case Déployer avec le module est cochée. L'éditeur de dépendances va ajouter le projet Java au chemin de classe du module. Le fichier JAR sera déployé avec le module.

Objets métier et interfaces pour les importations et les exportations

Méthodes conseillées : Si vous prévoyez d'utiliser des importations et des exportations dans les diagrammes d'assemblage, il est préférable de placer les objets métier et les interfaces utilisés par les importations et les exportations dans une bibliothèque afin de pouvoir les partager. Ajoutez ensuite une dépendance dans la bibliothèque à tous les modules utilisant ces ressources communes. Evitez de copier les mêmes objets métier et les mêmes interfaces dans des modules différents pour les utiliser.

Ressources de bibliothèque partagées

Après le déploiement, si les ressources partagées sont modifiées dans la bibliothèque, les modules utilisant les ressources doivent être mis à jour. Exemple : deux modules se partagent plusieurs ressources dans une bibliothèque. Les applications sont déployées. L'un des modules doit être mis à jour suite à des modifications apportées à certaines des ressources partagées dans la bibliothèque. Dans ce cas, le deuxième module doit également être mis à jour pour prendre en compte les modifications des ressources partagées.

Les fichiers WSDL doivent se trouver dans un module ou une bibliothèque

Si vous devez utiliser un fichier WSDL dans un module, copiez-le dans le module. Facultativement, vous pouvez copier le fichier WSDL dans une bibliothèque et, dans le module, définir une dépendance de la bibliothèque afin de pouvoir utiliser ses ressources. Si vous avez tenté de faire glisser un fichier WSDL à partir d'un autre type de projet, par exemple un projet Web, un message d'erreur vous invite à copier le WSDL dans le module ou la bibliothèque.

Noms de module J2EE

Le module d'intégration métier est un simple projet qui produit un fichier EAR J2EE composé de projets J2EE. Si le module est appelé MonApp, dans ce cas, les projets J2EE portant ces noms sont générés et vous ne devez pas les utiliser pour vos propres projets J2EE :
  • MonAppApp
  • MonAppEJB
  • MonAppEJBClient
  • MonAppWeb

Modification de dépendances sans l'éditeur

Il est conseillé d'éviter de modifier les dépendances de module en dehors de l'éditeur de dépendances.

Lorsque vous ajoutez une dépendance dans une bibliothèque, un projet Java ou J2EE, cela entraîne des modifications au niveau des propriétés du module. Les propriétés du module sont modifiées comme suit :

  • La bibliothèque ou le projet doit être ajouté au chemin de compilation Java.
  • Les références projet déterminent les projets J2EE ou les fichiers JAR utilitaires à inclure dans le fichier EAR de résultat du module. Dans l'éditeur de dépendances, si la bibliothèque ou le projet doit également être déployé avec le module, la bibliothèque ou le projet sera sélectionné dans les Références projet afin de pouvoir être ajouté dans le fichier EAR en vue du déploiement.

L'éditeur de dépendances vous permet de gérer les dépendances de projet de vos modules et de vos bibliothèques au lieu d'éditer leurs propriétés. Les propriétés des modules et des bibliothèques contiennent d'importantes hypothèses Java. Vous ne devez pas, par conséquent, modifier les propriétés Java pour, par exemple, changer leurs dossiers source et de sortie.

Concepts associés
Modules et bibliothèques
Dépendances des modules et des bibliothèques
Capacités et rôles d'intégration métier
Aide-mémoire Business Integration
Services métier : Composants et modules
Services de médiation : Composants et modules de médiation
Tâches associées
Création d'un module pour les services métier
Création d'un module de médiation
Modification des espaces de noms par défaut
Activation des capacités des outils
Ajout de dépendances aux modules et aux bibliothèques
Création de la bibliothèque
Création d'exportations
Référence associée
Interfaces et références WSDL et Java

Information associée

Tutoriel : Gestion des modules et des bibliothèques

Commentaires en retour
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.