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
The rest of this section contains information on how you can set up the databases for these services to use:
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.
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.
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:
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:
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.
You can partition database use across two, three, or four databases. Each service can use a separate database.
The following sections describe partitioning options:
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:
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:
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.