Optimizing a relationship

By default, each relationship's relationship tables are stored in the relationship database. Each time a relationship retrieves or modifies run-time data, it uses SQL statements to access this database. If the relationship tables are accessed frequently, these accesses can have a significant impact on performance in terms of CPU usage and InterChange Server Express resources. As part of the design of a relationship, you can determine whether to cache these relationship tables into memory.

To make this decision, you need to determine how frequently the relationship's run-time data changes. The WebSphere business integration system allows you to categorize your relationship in one of two ways:

Note:
The WebSphere business integration System Manager categorizes relationships into these same two categories. When you expand the Relationships folder, System Manager displays two subfolders: Dynamic and Static.

You define whether a relationship is dynamic or static from the Advanced Setting dialog for the relationship definition. The following sections summarize how to define a dynamic and static relationship from this dialog. For information on how to display the Advanced Setting dialog, see "Specifying advanced relationship settings".

Defining a dynamic relationship

For a dynamic relationship, InterChange Server Express accesses the run-time data from its relationship tables in the relationship database. By default, InterChange Server Express assumes a relationship is dynamic. Therefore, you do not have to take any special steps to define a dynamic relationship:

Note:
For a dynamic relationship, do not click the Static or Cached field on the Advanced Settings dialog.

System Manager lists all dynamic relationships in the folder labeled Dynamic under the Relationships folder.

Defining a static relationship

For a static relationship, InterChange Server Express can access the run-time data from cached relationship tables. With caching enabled for the static relationship, InterChange Server Express stores a copy of the relationship tables in memory. When making the decision to cache relationship tables, try to balance the following conditions:

To define a static relationship, display the Advanced Settings dialog (see Figure 96) for the relationship definition and set the Static field from this dialog as follows:

When the Static field is enabled, the Advanced Settings dialog also enables the Cached field. The Cached field allows you to control when InterChange server actually caches the relationship's table:

You can only control caching for a relationship that is defined as static.

Note:
After you change a relationship's static or cached state from the Advanced Settings dialog, make sure you save the relationship definition for the change to be stored in the project.

Note:
You can modify the cached and reload relationship properties from the server component management view. To do this, right-click the static relationship and select the properties from the Context menu.

For more information on caching and reloading relationship tables, see the User Guide for WebSphere Business Integration Express for Item Synchronization.

Copyright IBM Corp. 1997, 2003