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.
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.
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.
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 :
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 :
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.
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.
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 :
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.
Information associée