Setting up InterChange Server databases

Several services of InterChange Server use a database. Table 27 lists the services that use a database and describes their usage.

Table 27. Database use by InterChange Server

Service Purpose of database access
Repository Stores metadata about InterChange Server components
Event management Logs state information about events that InterChange Server is currently processing
Transaction Stores state information for ensuring consistency in transactional collaborations
Flow monitoring Optional--Records events that occur in collaborations which are invoked from the IBM WebSphere MQ WorkFlow adapter, when flow monitoring is configured for the collaboration
Security Service For storing user registry, if WBI Repository is used for storing users

The rest of this section contains information on how you can set up the databases for these services to use:

Note:
This section describes only the databases that InterChange Server uses; databases that contain cross-reference tables that relationships use are not included.

JDBC data source URLs

You specify the databases that you want InterChange Server to use by entering their names in the DATA_SOURCE_NAME parameter in sections of the InterChange Server configuration file, InterchangeSystem.cfg. InterChange Server interacts with the databases by means of JDBC, therefore you specify the name of the target database as a JDBC data source.

The format for specifying a JDBC data source is a uniform resource locator (URL) that describes a database. The URL contains the following elements:

Protocol:Subprotocol:Subname

Here is an example URL for a DB2 Server database with a DB2 JDBC driver:

jdbc:db2:CwldDB

Here is another example of an Oracle database with an IBM-branded driver:

jdbc:ibm-crossworlds:oracle://@MyServer:1521;SID=cwld

where @MyServer is the host name, 1521 is the port number, and cwld is the SID number.

Disk space requirements

Table 28 provides general recommendations for the database disk space needed by InterChange Server. The requirements are different in a runtime environment and in an environment where collaboration design is taking place, because design sites use the repository more.

Table 28. InterChange Server database disk space requirements

Service Runtime Design
Repository 20 MB 50 MB
Event management 20 MB
Transaction 5 MB
Flow monitoring 10 MB
Security Service 5 MB

These numbers are not appropriate for all sites and are just a starting point for your calculations. The actual disk space usage at your site will be affected by the number of components you are using, the number of events that your applications are generating, and the size of the business objects being processed by the system. For example, if your InterChange Server system uses transactional collaborations, the 5 MB size listed in Table 28 for the Transaction database might need to be increased.

Using one database

In most environments, one DBMS server can meet all InterChange Server requirements, especially in sites that are new to using collaborations. You can use a single DBMS server if it has the necessary disk capacity and can support the additional connections that InterChange Server needs.

By default, the Installer assumes that one DBMS meets all InterChange Server needs. When you install the software, the InterChange Server Configuration wizard requests that you specify the name of one database alias. It adds that name to the InterchangeSystem.cfg file as the data source for all five services of InterChange Server that use databases: repository, event management service, transaction service, flow monitoring service, and security services. If you do not specify a database alias name, the installation script uses the name wicsrepos for DB2 and Microsoft SQL Server databases and cwld for Oracle databases.

Notes:

  1. The default value wicsrepos must not be used with DB2 databases because it exceeds the eight-character database name length limit set by DB2.

  2. Ensure that the database name specified during installation matches the ICS database name that you established when creating your database for use with the WebSphere business integration system. For more information, see Installing and configuring the database server.

Suppose you are using one database instance for InterChange Server. If you have defined the icsrepos database alias for your CWLD database instance, your InterchangeSystem.cfg file might look like the following example:

Note:
These examples are in text format to simplify the structure. As of InterChange Server 4.2, the InterchangeSystem.cfg file is in XML format.
DB2

[REPOSITORY]
DATA_SOURCE_NAME = jdbc:db2:CWLD
 
[EVENT_MANAGEMENT]
DATA_SOURCE_NAME = jdbc:db2:CWLD
 
[TRANSACTIONS]
DATA_SOURCE_NAME = jdbc:db2:CWLD
 
[FLOW_MONITORING]
DATA_SOURCE_NAME = jdbc:db2:CWLD
 
[SECURITY]
DATA_SOURCE_NAME = jdbc:db2:CWLD
Oracle

[REPOSITORY]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@myserver:1521;SID=CWLD
 
[EVENT_MANAGEMENT]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@myserver:1521;SID=CWLD
 
[TRANSACTIONS]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@myserver:1521;SID=CWLD
 
[FLOW_MONITORING]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@myserver:1521;SID=CWLD
 
[SECURITY]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@myserver:1521;SID=CWLD

In the example, InterChange Server is using the IBM-branded driver for the Oracle Server to access the DBMS server called myserver, where the database called CWLD is located.

If you want to change the name of the data source that you are using, edit the InterchangeSystem.cfg file, change the value for all four services, and restart the server.

Partitioning database use

You can partition database use across two, three, or four databases. Each service can use a separate database.

The following sections describe partitioning options:

Four-way partitioning

Partitioning InterChange Server load across four DBMS servers spreads the connection load, which can help with bottlenecks.

Following are examples of DB2 and Oracle configuration files that provide different data sources for the repository, event management, transaction, flow monitoring, and security services:

Note:
These examples are in text format to simplify the structure. As of InterChange Server 4.2, the InterchangeSystem.cfg file is in XML format.
DB2

[REPOSITORY]
DATA_SOURCE_NAME = jdbc:db2:ReposDB
 
[EVENT_MANAGEMENT]
DATA_SOURCE_NAME = jdbc:db2:EventsDB
 
[TRANSACTIONS]
DATA_SOURCE_NAME = jdbc:db2:TransDB
 
[FLOW_MONITORING]
DATA_SOURCE_NAME = jdbc:db2:FlowDB
 
[SECURITY]
DATA_SOURCE_NAME = jdbc:db2:SecuDB
Oracle
[REPOSITORY]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server1:1521;SID=ReposDB
 
[EVENT_MANAGEMENT]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server2:1521;SID=EventsDB
 
[TRANSACTIONS]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server3:1521;SID=TransDB
 
[FLOW_MONITORING]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server4:1521;SID=FlowDB
 
[SECURITY]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server5:1521;SID=SecuDB

When you use four separate data sources, all four database servers must be of the same type. For example, if the DBMS parameter in the DB_CONNECTIVITY section of the InterchangeSystem.cfg file is oracle, all four database servers must be Oracle Server. They can, however, be separate server instances.

Other partitioned configurations

Partitioning the InterChange Server database allows you to have various types of configurations. For example, you can use one database for four of the five services, as the following InterchangeSystem.cfg file examples show:

Note:
These examples are in text format to simplify the structure. As of InterChange Server 4.2, the InterchangeSystem.cfg file is in XML format.
DB2

[REPOSITORY]
DATA_SOURCE_NAME = jdbc:db2:ReposDB
 
[EVENT_MANAGEMENT]
DATA_SOURCE_NAME = jdbc:db2:EventsDB
 
[TRANSACTIONS]
DATA_SOURCE_NAME = jdbc:db2:EventsDB
 
[FLOW_MONITORING]
DATA_SOURCE_NAME = jdbc:db2:EventsDB
 
[SECURITY]
DATA_SOURCE_NAME = jdbc:db2:EventsDB
Oracle
[REPOSITORY]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server1:1521;SID=ReposDB
 
[EVENT_MANAGEMENT]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server2:1521;SID=EventsDB
 
[TRANSACTIONS]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server3:1521;SID=EventsDB
 
[FLOW_MONITORING]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server4:1521;SID=EventsDB
 
[SECURITY]
DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server5:1521;SID=EventsDB

You can use separate databases in the same DBMS server, but place the databases on separate disk drives. However, the drawback of this setup is that it places all crucial data on the same machine and sends all connection requests to a single DBMS server.

Copyright IBM Corp. 1997, 2004