Gestion de la fonction ORB
La présente section contient des informations sur la résolution des incidents liés à la fonction IBM Java ORB (Object Request Broker) qui gère les communications entre InterChange Server Express et plusieurs de ses composants. Cette section contient des informations sur les points suivants :
Installation de la fonction ORB (Object Request Broker)
Dans InterChange Server Express, la fonction IBM Java ORB doit communiquer avec plusieurs composants du système, y compris les adaptateurs et System Manager. L'utilisation de la fonction ORB requiert l'installation d'IBM
Java ORB.
L'installation d'IBM Java ORB fait partie du logiciel IBM Java Runtime
Environment (JRE), installé automatiquement par WebSphere InterChange Server
Express Installer.
Procédure de personnalisation de la fonction ORB (Object Request Broker)
Pour personnaliser la fonction ORB (Object Request
Broker), appliquez la procédure suivante :
- Pour connaître les propriétés prises en charge par IBM Java ORB pour personnaliser son comportement, voir tableau 24.
- Spécifiez la propriété IBM ORB et sa valeur sous forme d'option de ligne de commande, dans le script de démarrage du composant. Lorsque vous spécifiez la propriété IBM ORB en ligne de commande, vous n'affectez que le composant que vous démarrez. Vous indiquez une propriété ORB en la faisant précéder de l'option de ligne de commande -D. Les propriétés que vous indiquez en ligne de commande remplacent tous les autres paramètres de propriété dans le système ou spécifiés dans le fichier CWSharedEnv.
- Editez la variable appropriée dans le fichier CWSharedEnv. Lorsque vous modifiez la variable dans le fichier CWSharedEnv, vous la modifiez pour tous les composants qui lisent ce fichier pendant leur processus de démarrage. Ces composants sont les adaptateurs, les instances d'InterChange Server Express, l'utilitaire repos_copy et les outils InterChange Server Express.
Remarque :
Pour plus d'informations sur le fichier
CWSharedEnv, voir
Procédure de gestion des propriétés d'exécution.
Comme le montre le tableau 24, l'emplacement de la fonction ORB est indiqué par des variables spéciales, dans le fichier CWSharedEnv. Vous devez modifier ces variables dans le fichier CWSharedEnv pour changer l'emplacement de la fonction.
D'autres propriétés ORB sont répertoriées dans la variable ORB_PROPERTY du fichier CWSharedEnv. Dans cette variable, chaque propriété IBM ORB est précédée de l'option de ligne de commande -D. Pour ajouter ou modifier une propriété ORB, vous devez ajouter ou modifier l'option -D appropriée dans la variable ORB_PROPERTY du fichier CWSharedEnv. Les propriétés que vous indiquez dans le fichier CWSharedEnv remplacent tous les autres paramètres du fichier de configuration.
- Spécifiez le paramètre de configuration (s'il existe un paramètre) dans le fichier de configuration (.cfg) approprié. Vous pouvez définir les paramètres de configuration de la plupart des propriétés ORB dans la section CORBA du fichier de configuration.
Tant le fichier de configuration d'InterChange Server Express (InterchangeSystem.cfg) que le fichier de configuration local de l'adaptateur peuvent contenir une section CORBA.
Lorsque vous définissez le paramètre de configuration dans le fichier de configuration CORBA, vous affectez toutes les tâches relatives à la fonction ORB qu'effectue le serveur ORB.
Important :
Les fichiers de configuration sont au format XML. Ne modifiez ces fichiers que dans un éditeur XML ou si vous avez une très bonne connaissance du format XML.
Par exemple, pour indiquer le nombre maximal d'unités d'exécution, vous pouvez effectuer l'une des actions suivantes :
- Ajoutez la propriété IBM ORB à la variable ORB_PROPERTY, dans le fichier CWSharedEnv :
ORB_PROPERTY=-DORBNamingProvider=CosNaming
-Dorg.omg.CORBA.ORBClass=com.ibm.CORBA.iiop.ORB
-Dorg.omg.CORBA.ORBInitialPort=%ORB_PORT%
-Dorg.omg.CORBA.ORBInitialHost=%ORB_HOST%
-Dcom.ibm.CORBA.Debug.Output=nul
-Dcom.ibm.CORBA.ThreadPool.MaximumSize=100
- Indiquez la propriété IBM ORB en ligne de commande, lorsque vous démarrez le composant :
start_server.....-Dcom.ibm.CORBA.ThreadPool.MaximumSize=100
- Ajoutez le paramètre de configuration OAthreadMax à la section CORBA du fichier de configuration :
[CORBA]
OAthreadMax=100
Tableau 24. Propriétés IBM Java ORB pouvant être personnalisées
Propriété IBM ORB |
Paramètre de configuration |
Description |
com.ibm.CORBA.ListenerPort |
OAport |
Numéro de port sur lequel le serveur ORB (dans InterChange Server
Express) écoute les requêtes entrantes. |
com.ibm.CORBA.LocalHost |
OAipAddr |
Adresse IP ou nom d'hôte de la machine sur laquelle le serveur ORB (dans InterChange Server Express) s'exécute. |
com.ibm.CORBA.ThreadPool.
MaximumSize |
OAthreadMax |
Nombre maximal d'unités d'exécution que le gestionnaire de connexions peut créer. La valeur par défaut (zéro) indique qu'il n'existe aucune restriction de taille. |
com.ibm.CORBA.ThreadPool.
InactivityTimeout |
OAthreadMaxIdle |
Durée (en secondes) avant la destruction d'une unité d'exécution inactive. |
com.ibm.CORBA.RequestTimeout |
Aucun |
Délai d'attente en seconde d'une requête CORBA avant expiration. Par défaut, il n'y a pas de délai d'expiration ; la fonction ORB attend une réponse indéfiniment. |
com.ibm.CORBA.LocateRequest |
Aucun |
Valeur de délai d'expiration (en secondes) pour les requêtes de localisation. |
com.ibm.CORBA.FragmentTimeout |
Aucun |
Durée maximale d'attente pour la fonction ORB du second fragment ou des fragments suivants de messages avant l'expiration du délai. Définissez cette propriété par zéro pour supprimer le délai d'expiration. La valeur par défaut est 30000. |
Procédure de modification de l'emplacement de la fonction ORB (Object Request Broker)
Cette procédure s'applique uniquement au système OS/400 et i5/OS. Pour les systèmes Windows et Linux, l'emplacement est défini par 14500 et ne peut pas être modifié.
Pour modifier l'emplacement de la fonction ORB (Object Request Broker) pendant l'installation, appliquez la procédure suivante :
- Pour des informations sur l'emplacement par défaut de la fonction ORB, voir tableau 25.
- Modifiez ces informations par défaut pendant l'installation. Dans l'écran Configuration du serveur de noms, WebSphere InterChange Server Express Installer vous invite à entrer l'adresse IP et le numéro de port pour l'instance d'InterChange
Server Express. Le programme d'installation sauvegarde ces informations dans les variables appropriées du répertoire du produit.
Le tableau 25 montre également les variables du fichier CWSharedEnv qui indiquent l'emplacement de la fonction ORB.
Tableau 25. Emplacement de la fonction IBM Java ORB
emplacement de la fonction ORB |
Propriété IBM ORB |
Valeur par défaut |
Variable CWSharedEnv |
Adresse IP |
org.img.CORBA.ORBInitialHost |
Nom de l'hôte local |
ORB_HOST |
Numéro de port |
org.omg.CORBA.ORBInitialPort |
14500 |
ORB_PORT |
Pour modifier l'emplacement de la fonction ORB (Object Request Broker) après l'installation, effectuez l'une des opérations suivantes :
- Editez la variable appropriée (à partir de la colonne du tableau 25 intitulée "variable CWSharedEnv") dans le fichier CWSharedEnv. La modification de l'emplacement de la fonction ORB dans le fichier CWSharedEnv entraîne celle de l'emplacement de la fonction ORB pour tous les appels de tous les scripts de démarrage qui utilisent le fichier CWSharedEnv.
Par exemple, pour attribuer le numéro de port 15002 à la fonction ORB, vous pouvez définir la propriété ORB_PORT dans le fichier CWSharedEnv, comme suit :
export ORB_PORT=15002 (pour OS/400 et i5/OS)
Si vous modifiez l'emplacement de la fonction ORB (hôte ou port) sous OS/400
et i5/OS dans le fichier CWSharedEnv.sh, vous devez alors modifier les valeurs correspondantes dans le fichier CWSharedEnv.bat sur les systèmes Windows sur lesquels vous utilisez Toolset Express
pour gérer le système InterChange Server Express OS/400 et i5/OS.
Si vous utilisez le fichier CWSharedEnv.sh, toute valeur que vous attribuez à la variable ORB_PORT dans le fichier CWSharedEnv.sh est remplacée par le paramètre utilisateur de la variable d'environnement ORB_NAMING_PORT (si cette variable d'environnement est définie) et toute valeur que vous attribuez à la variable ORB_HOST dans le fichier CWSharedEnv.sh est remplacée par le paramètre utilisateur de la variable d'environnement ORB_NAMING_ADDR
(si cette variable d'environnement est définie). Si ORB_NAMING_ADDR est définie dans CWSharedEnv.sh, elle remplace ORB_HOST.
Au lieu de modifier les variables ORB_PORT et ORB_HOST dans le fichier
CWSharedEnv.sh, vous pouvez demander à tous les utilisateurs de définir les variables d'environnement ORB_NAMING_PORT
et ORB_NAMING_ADDR par les valeurs de leur choix.
- Indiquez la propriété IBM ORB appropriée (à partir de la colonne du tableau 25) et sa valeur dans la ligne de commande du script de démarrage du composant, à l'aide l'option de ligne de commande -D. La modification de l'emplacement de la fonction ORB en ligne de commande du script de démarrage signifie que vous pouvez modifier l'emplacement de la fonction ORB uniquement pour cet appel du composant lancé par ce script de démarrage. Par exemple, pour attribuer le numéro de port 15002 à la fonction ORB, vous pouvez définir l'option -D suivante dans la ligne de commande du script de démarrage :
-Dorg.omg.CORBA.ORBInitialPort=15002
Pour plus d'informations sur la modification des propriétés de la fonction ORB, voir Procédure de personnalisation de la fonction ORB (Object Request Broker).
Utilisation d'IBM Transient Name Server
IBM Transient Naming Server (tnameserv) assure le service d'annuaire du système WebSphere Business Integration Express. Lorsqu'un composant du système WebSphere Business Integration Express démarre, il s'enregistre auprès d'IBM Transient
Naming Server. Lorsque ce composant doit accéder à un autre composant métier, d'intégration ou système, il utilise le service d'annuaire pour déterminer les informations nécessaires à la localisation de ce composant et au démarrage de l'interaction avec ce composant. Par exemple, lorsqu'un adaptateur doit communiquer avec InterChange Server
Express, il obtient son emplacement via IBM Transient Naming Server.
Remarque :
IBM Transient Naming Server fait partie d'IBM
Java ORB. Il est donc installé automatiquement sur le poste d'InterChange
Server Express pendant l'installation de WebSphere InterChange Server Express.
Sous OS/400 et i5/OS, le serveur de noms ne fait pas partie
de WebSphere InterChange Server Express. Il fait partie de Java Developer Kit 1.4
(Logiciel sous licence 5722JV1 option 6).
Identification des composants enregistrés
Le produit WebSphere InterChange Server Express fournit l'outil
CosNameServer_Dump qui permet de répertorier tous les objets ORB d'InterChange Server Express valides, enregistrés auprès d'IBM Transient Naming Server. Cet outil se trouve dans le sous-répertoire bin du répertoire du produit. Vous pouvez le lancer à l'aide des commandes suivantes : CosNameServer_Dump.bat ou CosNameServer_Dump.sh.
Identification des composants enregistrés pour i5/OS
Pour identifier les composants enregistrés pour i5/OS, procédez comme suit :
- Entrez la commande CL QSH, et à partir de l'environnement QSHELL.
- Passez au répertoire /QBIM/ProdData/WBIServer44/bin.
- Exécutez le script CosNameServer_Dump.sh.
Procédure d'utilisation du serveur de noms persistant
Cette section explique l'utilisation du serveur de noms persistants sous Windows, Linux, OS/400 et i5/OS.
i5/OS
Sous i5/OS, le serveur de noms persistant est automatiquement démarré avec le sous-système QWBISVR44. S'il s'arrête pour une raison quelconque, appliquez la procédure suivante pour le redémarrer :
- Entrez la commande CL, QSH, et, à partir de l'environnement QSHELL, placez-vous (cd) dans le répertoire /QIBM/Proddata/WBIServer44/bin
- Exécutez le script : submit_name_server.sh
Lorsqu'un composant du système WebSphere Business Integration Express démarre, il s'enregistre auprès d'IBM Transient
Naming Server et son objet CORBA est stocké dans la mémoire du serveur de noms transitoire. Toutefois, en cas de panne de ce dernier, le contenu de la mémoire est effacé. Par conséquent, tous les composants qui ont été enregistrés auprès de ce serveur doivent être réamorcés afin qu'ils puissent s'enregistrer à nouveau sur le service d'annuaire.
Le serveur de noms persistant étend la fonction IBM
ORB Transient Naming Server afin que la collection d'objets CORBA enregistrés auprès du serveur de noms transitoire soit stockée dans un référentiel de noms. L'existence du référentiel de noms signifie que ces références CORBA sont persistantes et non pas seulement enregistrées dans la mémoire du serveur de noms transitoire ; c'est-à-dire qu'elles sont accessibles à d'autres processus et d'autres composants d'InterChange Server Express en cas de panne du serveur de noms transitoire. D'autres composants ne nécessitent pas d'arrêt ni de redémarrage pour se réenregistrer auprès du service d'annuaire.
L'emplacement par défaut du référentiel de noms est Rép_produit\CxCosNameRepos.ior. Sous i5/OS, l'emplacement par défaut est /QIBM/UserData/WBIServer44/CxCosNameRepos.ior.
Pour modifier l'emplacement du référentiel de noms, appliquez la procédure suivante :
- Editez le fichier de configuration InterChange Server Express (InterchangeSystem.cfg).
- Définissez le paramètre de configuration CosNamingPersistencyFile. Par défaut, le serveur de noms persistant est activé, c'est-à-dire que les références aux objets CORBA sont maintenues dans le référentiel de noms.
- Windows et Linux uniquement : pour que le serveur de noms s'exécute, vous devez explicitement le démarrer à l'aide du fichier de démarrage PersistentNameServer, situé dans le sous-répertoire bin du répertoire du produit. Ce fichier de démarrage effectue les opérations suivantes :
- Démarrage d'IBM ORB Transient Naming Server
- Démarrage du serveur de noms persistant afin de charger les objets CORBA référencés dans le référentiel de noms.
Pendant son processus de démarrage, InterChange Server Express met à jour le référentiel de noms en copiant les objets CORBA enregistrés auprès du serveur de noms transitoire dans le fichier du référentiel de noms. Lorsque chaque adaptateur démarre, il met à jour le référentiel de noms avec ses informations.
Si InterChange Server Express n'est pas lancé lorsque l'adaptateur démarre, le référentiel de noms est mis à jour dès qu'InterChange Server Express démarre.
Remarque :
En cas de panne du serveur de noms persistant, vous pouvez le relancer à l'aide du script de démarrage PersistentNameServer. Il n'est pas nécessaire, cependant, de redémarrer InterChange
Server Express ou des adaptateurs démarrés.
- OS/400 et i5/OS uniquement : le serveur de noms démarre par défaut au démarrage du sous-système QWBISVR44.
Remarque :
En cas de panne du serveur de noms persistant, vous pouvez le redémarrer dans QSH en ouvrant le répertoire /QIBM/ProdData/WBIServer44/bin et en excécutant le script start_name_server.sh.
Pour désactiver le serveur de noms persistant, appliquez la procédure suivante :
- Editez le fichier de configuration InterChange Server Express (InterchangeSystem.cfg).
- Définissez le paramètre de configuration CosNamingPersistency (situé dans la section CORBA) par false.
