Managing the Object Request Broker

This section contains information about resolving problems related to the IBM Java Object Request Broker (ORB), which handles communication between InterChange Server Express and several of its components. This section provides information on the following topics:

Object Request Broker installation

InterChange Server Express requires the IBM Java ORB to communicate with several of its components, including adapters and System Manager. Use of the ORB requires installation of the IBM Java ORB.

The IBM Java ORB is installed as part of the IBM Java Runtime Environment (JRE) software, which the WebSphere InterChange Server Express Installer installs automatically.

Steps for customizing the Object Request Broker

Perform the following steps to customize the Object Request Broker:

  1. Refer to Table 22 for the properties that the IBM Java ORB supports to customize its behavior.
  2. Specify the IBM ORB property and its value as a command-line option to the component's startup script. When you specify the IBM ORB property from the command line, you change it only for the component that you are starting. You specify an ORB property by preceding it with the -D command-line option. Properties you specify from the command line override any other property settings within the system or from the CWSharedEnv file.
  3. Edit the appropriate variable in the CWSharedEnv file. When you change the variable in the CWSharedEnv file, you change it for all components that read this file during their startup process. These components include any adapters, InterChange Server Express instances, the repos_copy utility, and the InterChange Server Express tools.
    Note:
    For more information on the CWSharedEnv file, see Steps for managing run-time properties.

    As Table 22 shows, the ORB location is specified by special variables in the CWSharedEnv file. You must modify these variables in the CWSharedEnv file to change its location.

    Other ORB properties are listed in the ORB_PROPERTY variable of the CWSharedEnv file. In this variable, each IBM ORB property is preceded by the -D command-line option. To add or change an ORB property, you must add or change the appropriate -D option in the ORB_PROPERTY variable of the CWSharedEnv file. Properties you specify in the CWSharedEnv file override any other settings from the configuration file.

  4. Specify the configuration parameter (if one exists) in the appropriate configuration (.cfg) file. You can set many of the ORB properties with configuration parameters in the CORBA section of the configuration file. Both the InterChange Server Express configuration file (InterchangeSystem.cfg) and the adapter local configuration file can contain a CORBA section. When you specify the configuration parameter in the CORBA configuration file, you change it for all ORB-related tasks that the ORB server performs.
    Important:
    The configuration files are in XML format. Do not modify these files unless you use an XML editor or are very familiar with XML format!

    For example, to specify the maximum number of threads, you can take any of the following actions:


Table 22. IBM Java ORB properties that can be customized

IBM ORB property Configuration parameter Description
com.ibm.CORBA.ListenerPort OAport Port number on which the ORB server (within InterChange Server Express) listens for incoming requests.
com.ibm.CORBA.LocalHost OAipAddr IP address or host name of the machine on which the ORB server (within InterChange Server Express) is running.
com.ibm.CORBA.ThreadPool. MaximumSize OAthreadMax Maximum number of threads that the connection manager can create. The default value (zero) indicates that no size restriction exists.
com.ibm.CORBA.ThreadPool. InactivityTimeout OAthreadMaxIdle The time (in seconds) before an idle thread is destroyed.
com.ibm.CORBA.RequestTimeout None Number of seconds that a CORBA request waits before timing out. By default, there is no timeout; the ORB waits indefinitely for a response.
com.ibm.CORBA.LocateRequest None Timeout value (in seconds) for Locate Requests.
com.ibm.CORBA.FragmentTimeout None Maximum length of time that the ORB waits for second and subsequent message fragments before it times out. Set this property to zero to indicate no timeout. The default value is 30000.

Steps for changing the location of the Object Request Broker

These steps apply to OS/400 only. For Windows and Linux systems, the location is set to 14500 and cannot be changed.

Perform the following steps to change the location of the Object Request Broker during installation:

  1. Refer to Table 23 for the default ORB-location information.
  2. Change this default information during installation. In the Naming Server screen, the WebSphere InterChange Server Express Installer prompts you for the IP address and port number for the InterChange Server Express instance. The installer saves this information in the appropriate variables of the product directory.

Table 23 also shows the variables within the CWSharedEnv file that specify the ORB location.

Table 23. Location of the IBM Java ORB

ORB location IBM ORB property Default value CWSharedEnv variable
IP address org.img.CORBA.ORBInitialHost Name of the local host ORB_HOST
Port number org.omg.CORBA.ORBInitialPort 14500 ORB_PORT

Perform one of the following steps to change the location of the Object Request Broker after installation:

For information on how to change ORB properties, see Steps for customizing the Object Request Broker.

Using the IBM Transient Name Server

Using IBM Transient Naming Server (tnameserv) provides the naming service for the WebSphere Business Integration Express system. When a component of the WebSphere Business Integration Express system starts, it registers itself with the IBM Transient Naming Server. When the component needs access to another business-integration-system component, it uses the naming service to determine the information it needs to locate and start interacting with that component. For example, when an adapter needs to communicate with InterChange Server Express, it obtains the location of InterChange Server Express through the Transient Naming Server.

Note:
The IBM Transient Naming Server is part of the IBM Java ORB. Therefore, it is installed automatically on the InterChange Server Express machine as part of the WebSphere InterChange Server Express installation process.
For OS/400, the naming server is not part of WebSphere InterChange Server Express. It is part of Java Developer Kit 1.4 (Licensed Program 5722JV1 option 6).
OS/400

For OS/400, the Transient Name Server is started automatically with the QWBISVR43 subsystem. If for some reason it ends, perform the following steps to start the Transient Name Server:

  1. Enter CL command QSH, and from the QSHELL environment, cd to /QIBM/Proddata/WBIServer43/bin.
  2. Run the script: submit_name_server.sh

Identification of registered components

The WebSphere InterChange Server Express product provides the CosNameServer_Dump tool to list all valid InterChange Server Express ORB objects currently registered with the IBM Transient Naming Server. This tool is located in the bin subdirectory of the product directory. You invoke it with the following commands: CosNameServer_Dump.bat or CosNameServer_Dump.sh.

Steps for using the Persistent Naming Server

This section applies to Windows and Linux systems only. The Persistent Naming Server is not supported on OS/400.

When a component of the WebSphere Business Integration Express system starts, it registers itself with the IBM Transient Naming Server and its CORBA object is stored in the memory of the Transient Naming Server. However, if the Transient Naming Server fails, its memory contents are lost. As a result, all components that had been registered with it must be rebooted so they can reregister with the naming service.

The Persistent Naming Server extends the capability of the IBM ORB Transient Naming Server so that the collection of CORBA objects that are registered with the Transient Naming Server are stored in a naming repository. The existence of the naming repository means that these CORBA references, rather than being only in the Transient Naming Server memory, are persistent; that is, they are available to other processes and InterChange Server Express components in the event that the Transient Naming Server fails. Other components do not need to shut down and restart in order to reregister with the naming service.

The default location of the naming repository is the following local file: ProductDir\CxCosNameRepos.ior.

Perform the following steps to change the location of the naming repository:

  1. Edit the InterChange Server Express configuration file (InterchangeSystem.cfg).
  2. Set the CosNamingPersistencyFile configuration parameter. By default, the Persistent Naming Server is enabled; that is, references to CORBA objects are maintained in the naming repository.
  3. Windows and Linux only: For the naming server to run, you must explicitly start it with the PersistentNameServer startup file, located in the bin subdirectory of the product directory. This startup file takes the following steps:

    As part of its startup process, InterChange Server Express updates the naming repository by copying the CORBA objects currently registered with the Transient Naming Server into the naming-repository file. When each adapter starts, it updates the naming repository with its information. If InterChange Server Express has not yet started when the adapter starts, the naming repository is updated whenever InterChange Server Express does start.

    Note:
    If the Persistent Naming Server fails, you can restart it with the PersistentNameServer startup script. However, you do not need to restart InterChange Server Express or any started adapters.

Perform the following steps to turn off the Persistent Naming Server:

  1. Edit the InterChange Server Express configuration file (InterchangeSystem.cfg).
  2. Set the CosNamingPersistency configuration parameter (located in the CORBA section) to false.

Copyright IBM Corp. 2004