Cette section explique comment utiliser l'ODA EJB dans Business Object Designer pour créer des définitions d'objet métier. Pour plus d'informations sur le lancement et l'utilisation de Business Object Designer, voir IBM WebSphere Business Integration Adapters Business Object Development Guide.
Vous pouvez exécuter l'ODA sur n'importe quelle machine capable de monter le système de fichiers sur lequel réside le référentiel de métadonnées (fichiers JAR). Pour cela, utilisez le fichier de démarrage de l'ODA. Ce fichier contient les paramètres de démarrage, y compris les chemins vers certains fichier EJB requis et fichiers JAR du connecteur. Ces fichiers JAR doivent également être accessibles depuis la machine sur laquelle vous exécutez l'ODA.
Le nom par défaut de l'ODA pour EJB est EJBODA. Vous pouvez le modifier en changeant la valeur de la variable AGENTNAME dans le script de démarrage.
Pour démarrer l'ODA, exécutez la commande suivante :
La variable CLIENT JARPATH du fichier de démarrage ne dispose d'aucune valeur par défaut. Par conséquent, avant d'exécuter la commande start, définissez la valeur du répertoire et du nom de fichier du chemin du JAR client, afin que l'ODA puisse inclure le fichier dans son chemin de classe Java. Par exemple :
set CLIENTJARPATH=C:\BIA_MusicBeanSample.jar
Business Object Designer dispose d'un assistant pour vous guider à travers les étapes nécessaires pour générer une définition d'objet métier en utilisant l'ODA. La procédure est la suivante :
Pour sélectionner l'agent, procédez comme suit :
Une fois que vous avez cliqué sur Next dans l'écran Select Agent, l'écran Business Object Wizard - Step 2 of 6 - Configure Agent s'affiche. La figure 6 représente cet écran complété d'exemples de valeurs.
Les propriétés définies dans cet écran sont décrites dans le tableau 9. Vous pouvez enregistrer dans un profil toutes les valeurs entrées dans cet écran. Au lieu de saisir de nouveau les données de la propriété la prochaine fois que vous exécuterez l'ODA, vous sélectionnerez un profil dans le menu déroulant Current profile et ré-utiliserez les valeurs enregistrées. Vous pouvez enregistrer plusieurs profils, chacun avec un ensemble de valeurs différent.
Nom de propriété | Valeur par défaut | Type | Description |
---|---|---|---|
EJBJarFilePath | Aucune | String | (obligatoire) Chemin complet du fichier JAR EJB. Il s'agit du fichier lu par l'ODA en tant qu'entrée pour générer des objets métier. |
DefaultBOPrefix | Aucune | String | Préfixe que l'ODA ajoutera aux noms des objets métier qu'il génère |
TraceFileName | <agentname>trace.txt | String | Nom du fichier de messages de trace, par exemple, BIA_EJBODAtrace.txt. Notez que le connecteur prend en charge des valeurs internationalisées pour cette propriété. Ainsi, le chemin de fichier et le nom peuvent être internationalisés, contrairement au contenu du fichier. |
TraceLevel | 0 | Integer | (obligatoire) Niveau de traçage (de 0 à 5) de l'Agent. Pour plus d'informations sur les niveaux de traçage, voir Traçage. |
MessageFile | <agentname>Agent.txt | String | Nom du fichier de messages contenant tous les messages affichés par l'ODA. Pour le connecteur pour EJB, le nom de ce fichier est BIA_EJBODAAgent.txt. Si vous n'indiquez pas correctement le nom du fichier de messages, l'ODA s'exécutera sans messages. Notez que le connecteur prend en charge des valeurs internationalisées pour cette propriété. Ainsi, le chemin de fichier et le nom peuvent être internationalisés, contrairement au contenu du fichier. |
L'écran Business Object Wizard - Step 3 of 6 - Select Source s'affiche, tel qu'illustré dans la figure 7. L'écran dresse la liste des objets qui ont été définis dans le fichier JAR EJB. Utilisez cet écran pour sélectionner le nombre voulu d'objets EJB pour lesquels l'ODA générera des définitions d'objet métier.
Notez que la liste contient huit méthodes au total. Les deux premiers objets de la liste sont les méthodes creator de l'interface locale. Les six autres sont les méthodes de l'interface éloignée.
Dans la figure 7, les classes MusicCartHome et MusicCart sont sélectionnées. Bien que seuls les noms de classe soient sélectionnés, l'ODA crée également les objets des méthodes associées à chacune des classes sélectionnées.
L'écran Business Object Wizard - Step 4 of 6 - Confirm source nodes for business object definitions s'ouvre. Il affiche les objets sélectionnés.
Cliquez sur Back pour apporter des modifications ou sur Next pour confirmer que la liste est correcte.
L'écran Business Object Wizard - Step 5 of 6 - Generating business objects... s'ouvre et affiche un message indiquant que l'assistant est en train de générer les objets métier.
Une fois que vous avez cliqué sur Next, l'écran Enter JNDI name for this Enterprise Java Bean s'ouvre. Il s'affiche pour chaque objet source EJB sélectionné. Utilisez-le pour sélectionner les instructions prises en charge pour cet objet et pour affecter un nom JNDI.
Dans l'exemple présenté à la figure 9, le nom JNDI affecté est MusicCartJNDI.
Dans cet écran, précisez également les instructions prises en charge par l'objet métier. L'ODA permet de préciser les quatre instructions prises en charge (Create, Retrieve, Delete, and Update) et d'affecter n méthodes en tant qu'action de chaque instruction, n représentant le nombre de méthodes de l'objet EJB correspondant. Pour préciser plus de quatre instructions ou pour modifier les informations sur l'instruction une fois que vous avez créé un objet métier, utilisez Business Object Designer.
Pour plus d'informations sur les instructions d'objet métier pour le connecteur EJB, voir ASI de l'instruction.
Pour chaque instruction sélectionnée, une fenêtre s'affiche et indique la séquence de méthodes qui doit être exécutée pour l'instruction.
La figure 10 représente cet écran pour l'instruction Create de l'objet métier MusicCart créé en figure 7 et figure 8.
Notez que si la première méthode sélectionnée sur l'ASI de l'instruction n'est pas de type creator ou finder, le connecteur affiche le message d'erreur suivant : The first method obtained from the list of methods in the ver ASI is not a home creator method. Select a creator method from the home interface and try again.
En précisant une séquence de méthodes pour l'instruction, vous créez l'ASI d'instruction associée à cette instruction. Si nécessaire, vous pourrez modifier ultérieurement cet ASI d'instruction à l'aide de Business Object Designer.
L'ODA générera des objets métier pour les objets de collection présents dans les listes de paramètres d'entrée et de sortie. Les classes de collection suivantes sont prises en charge :
Pour chaque objet de collection transmis en tant que type d'argument/retour, l'ODA affichera un message similaire à celui de la figure 11. Il indiquera l'objet de collection en cours de traitement.
Cliquez sur OK si les informations sur l'objet de collection sont correctes.
Utilisez l'écran Parameter Object Type Info pour entrer le nombre de types d'objets différents que vous souhaitez conserver dans votre objet de collection.
Appuyez sur OK quand vous avez terminé.
L'ODA affichera l'avertissement suivant :
Vérifiez que vous n'avez pas sélectionné de classes générées par AppServer lorsque vous avez sélectionné votre nom de classe avant de cliquer sur OK.
Lorsque l'ODA reconnaît une Map Class, dans laquelle une mappe est un objet qui mappe des clés sur des valeurs, les utilisateurs sont invités à sélectionner un type d'objet pour la clé et un autre pour les valeurs indiquées dans la figure 14. Chaque paire nom/valeur de l'objet de mappe procède au mappage sur deux objets métier : un pour la clé et un pour l'objet de valeur.
Lorsque l'ODA reconnaît un Vector ou un autre objet de liste, vous devez sélectionner le type des objets que vous voulez conserver dans l'objet de collection, à partir du menu déroulant.
Si un JavaBean d'entreprise prend un objet java en tant qu'argument ou type de retour, et si l'objet java a de nombreux types de méthodes getter/setter, l'écran de la figure 16 s'affiche. Utilisez-le pour sélectionner les méthodes getter/setter à mapper sur l'attribut de votre objet métier.
Si vous ne sélectionnez pas getter/setter dans cet écran, les méthodes getter/setter seront mappées sur des objets métier et non sur des attributs d'objet métier.
L'écran Business Object Wizard - Step 6 of 6 - Save business objects s'affiche.
Vous pouvez aussi ouvrir de nouveaux objets métier dans une fenêtre séparée, dans Business Object Designer. Vous pouvez aussi (après avoir précisé une clé pour un objet métier de niveau supérieur) enregistrer les définitions d'objet métier générées dans un fichier.
Pour ouvrir les objets métier dans une fenêtre séparée :
Pour enregistrer les objets métier dans un fichier (uniquement après avoir indiqué un clé pour l'objet métier parent) :
Business Object Designer enregistre les fichiers dans l'emplacement spécifié.
Si vous avez fini de travailler avec l'ODA, vous pouvez le fermer en cochant "Shutdown ODA EJBODA" avant de cliquer sur Finish.
Une fois que vous avez défini l'ASI de l'instruction (en modifiant une séquence de méthodes à exécuter pour chaque instruction), Business Object Designer affiche les attributs de l'objet métier. Pour plus d'informations sur l'ASI de l'attribut du connecteur EJB, voir ASI de l'attribut.
Les attributs sont indiqués dans l'onglet Attributes, dans l'ordre dans lequel ils apparaissent dans la structure d'objet EJB, tel que défini par la valeur numérique de la colonne Pos. Des attributs d'objet EJB simples sont représentés en tant qu'attributs simples et leur ASI contient le nom et le type de l'attribut EJB d'origine.
L'écran indique le nom, le type et les informations ASI de chaque attribut. La figure 18 présente les attributs (complexes) de la méthode. L'attribut getAllRecordsInfo de l'objet métier a un ASI qui mappe l'attribut sur la méthode d'objet EJB d'origine. Dans cet exemple, la méthode d'origine est indiquée dans la colonne App Spec Info par l'ASI method_name=getAllRecordInfo.
L'attribut getCustomer de l'objet métier a un ASI qui mappe l'attribut sur la méthode d'objet EJB d'origine. Dans cet exemple, la méthode d'origine est indiquée dans la colonne App Spec Info par l'ASI method_name=getCustomer.
De plus, getCustomer (objet métier enfant) a l'attribut d'objet métier enfant Return_Value, utilisé pour capturer la valeur en retour de la méthode getCustomer. Dans le fichier JAR EJB, la méthode est définie comme ayant une valeur en retour de type CustomerHelper, c'est-à-dire une méthode. L'ASI d'attribut de CustomerHelper est défini sur type=proxy, car le type d'objet est une valeur en retour. Notez que si une méthode du fichier JAR EJB ne retourne pas de valeur, l'attribut Return_Value n'est pas inclus dans la liste des attributs d'objet métier.
Notez également que l'attribut Return_Value de type CustomerHelper a trois attributs d'objet enfant non-méthode : name, password et email. Dans le fichier JAR EJB d'origine dans lequel est définie la classe MusicCartBean, ils sont tous définis en tant que paramètres de type String de la méthode CustomerHelper. Dans l'objet métier, l'ASI d'attribut de ces paramètres indique le nom et le type de la propriété Java (String) de chaque fichier JAR d'origine.
Dans cet écran, indiquez si un objet parent est une clé (exigée par l'ODA pour enregistrer les objets métier dans un fichier séparé). Vous pouvez également utiliser cet écran pour définir des clés d'objets enfants si nécessaire et préciser les informations suivantes :
Vous pouvez afficher et modifier l'ASI de l'objet métier. Pour plus d'informations sur l'ASI de l'objet métier, voir ASI de l'objet métier.
L'ASI de l'objet métier est indiqué dans l'onglet General. La valeur ASI indiquée dans la zone Business Object Level Application-specific information contient le nom de l'interface éloignée correspondant à cet objet métier. Le connecteur utilise ces informations pour mapper un objet éloigné sur un objet métier.
L'onglet General répertorie également toutes les instructions prises en charge par l'objet métier en indiquant leur ASI telle que définie dans Spécifiez l'ASI de l'instruction. Si une instruction est vide, la séquence de méthodes associée ne sera pas exécutée.