This topic applies only to the IBM Business Process Manager Standard configuration.This topic applies only to the IBM Business Process Manager Advanced configuration.

Configuration properties for federated IBM BPM systems

The server.xml configuration file on Process Federation Server contains properties for each IBM® BPM system in the federated environment and its associated index.

The following set of elements in the server.xml configuration file contain configuration properties for a federated IBM BPM system. For each federated system, configure a ibmPfs_federatedSystem element and elements for the associated indexing service.

The ibmPfs_federatedSystem element

The ibmPfs_federatedSystem element contains general configuration properties for the federated IBM BPM system and its index.
Table 1. Configuration properties for the ibmPfs_federatedSystem element
Property Default value Description
id none Unique identifier for the federated IBM BPM system. Use this property to refer to a specific system and for linking it to other indexing elements in the server.xml file. In a cluster of process federation servers, each server must use the same identifier for a given federated IBM BPM system.

If there are multiple unique process federation server environments (unique clusters), the identifier must be unique across the process federation server environments, even if they are connect to a common federated IBM BPM system.

The identifier also determines which consumer column is used in the change log tables; one consumer column is used for each identifier. For example, two unique federated environments act as separate change log consumers and therefore each federated environment requires its own unique identifier.

Attention: If an index name is not specified, the value of the id property, must conform to the rules for the indexName property.

Required

indexName none The name of the Process Federation Server index. The following rules apply to the name:
  • It must be all lowercase.
  • It must not start with an underscore.
  • It must not include commas or other special characters that are not allowed in file names on your operating system.

If an index name is not specified, the value of the property is set to the value id property.

Optional

restUrlPrefix none This property is only applicable to BPD systems.

The base URL that is used by business-user clients to access the federated IBM BPM system. It is returned to clients in the federationResponse object so that they can call REST services on the federated IBM BPM system.

If the federated IBM BPM system has an HTTP server or reverse proxy server that is configured in front of the system, clients should use the URL of the HTTP server or reverse proxy server.

Example: https://bpmHost.com:9443/rest/bpm/wle

Required

taskCompletionUrlPrefix none This property is only applicable to BPD systems.

The base URL that is used by business-user clients for task completion on the IBM BPM federated system. It is returned to clients in the federationResponse object so that they can complete tasks on the federated IBM BPM system.

If the federated IBM BPM system has an HTTP server or reverse proxy server that is configured in front of the system, clients should use the URL of the HTTP server or reverse proxy server.

Example: https://bpmHost.com:9443/teamworks

Required

index.number_of_shards 12 The number of shards for the index. You cannot change this value after the index is created. This property is passed directly to the Elasticsearch service. For more information, see the Elasticsearch documentation.

Each process federation server maintains one or more of the index shards. To distribute indexing and query workload across more than 12 process federation servers in a cluster, set the default higher than 12.

Optional. The default setting is used if a value is not set.

index.number_of_replicas 1 The number of index replicas. Replicas provide fault tolerance and enable you to distribute queries across multiple servers. A value of ‘1’ indicates 1 primary index and 1 replica per shard.

Optional. The default setting is used if a value is not set.

index.refresh_interval 1s Determines how often the index is refreshed, in seconds, in the Elasticsearch cache. This property is passed directly to the Elasticsearch service. For more information, see the Elasticsearch documentation.

Optional. The default setting is used if a value is not set.

allowedOrigins null A comma-separated list of servers, which host business user clients that are authorized to query the federated IBM BPM system by using the REST APIs. The configured value must match exactly the value in the client’s ‘Origin’ header in the REST request. Often the client communicates with an HTTP server instead of the application server that hosts the web application. In this case, use the HTTP server value instead of the application server value.

If you set the value of the property to "*" (asterisk), clients from all originating servers are allowed to query the index.

This property is used to determine authorization as follows:
  • Authorization to make REST calls from web applications that are hosted by other servers (CORS). The originating web server must be trusted by at least 1 federated IBM BPM system. If the web server is not trusted, the client receives a CORS error.
  • Authorization to query each federated IBM BPM system.

Example: https://server1:9443, https://server2:9443

Required

launchListPriority 1000 If a process application is deployed on multiple federated IBM BPM systems, use this property to determine which system takes priority when the launch list is returned. A low value indicates a high priority.

If you want to route all new instances to a specific IBM BPM system, then give that system a lower priority, for example 1. The Process Federation Server launch list API returns the URL for this federated system in the launch list.

To load balance new instances across all federated IBM BPM systems, set the same value for each system. The Process Federation Server launch list API returns a URL for only one of the federated systems that is chosen at random. In this way, the workload is load balanced.

ibmPfs_federatedSystem element example
The following code snippet is an example of a configured ibmPfs_federatedSystem element:
<ibmPfs_federatedSystem
     id="bpm1" 
   index.number_of_shards="12"
   index.number_of_replicas="1"
   allowedOrigins="*"
   restUrlPrefix="https://bpmHost.com:9443/rest/bpm/wle"
   taskCompletionUrlPrefix="https://bpmHost.com:9443/teamworks"
   />

The ibmPfs_bpdIndexer element

The ibmPfs_bpdIndexer element contains configuration properties for indexing BPD-related data on a federated IBM BPM system.
Table 2. Configuration properties for the ibmPfs_bpdIndexer element
Property Default value Description
federatedSystemRef none Refers to the id property in the associated ibmPfs_federatedSystem element.

Required

dataSourceRef none

The data source for the Process Server database on the IBM BPM system. This property refers to the data source ID that is set in the dataSource element in the server.xml file. The indexing service uses this data source to connect to the Process Server database to index tasks.

Required

schemaName none The name of the schema that contains the tables with the BPD-related data.

Required

executorServiceRef Default executor service The executor service that provides the threads for the indexing service.

Optional

indexingInterval 1s The time, in seconds, between index updates.

Optional. The default setting is used if a value is not set.

numberOfRetries -1 The number of times the BPD indexing service attempts to update the index. If the retry limit is reached, indexing stops.

A value of -1 indicates that index updates are retried indefinitely.

Optional. The default setting is used if a value is not set.

synchronizeTasksInterval 1h The time, in hours, between each synchronization of tasks with the change log for indexing. If change logging is enabled for BPD tasks, they are automatically indexed at run time. For information about enabling change logging, see Enabling indexing of BPD-related data on an IBM BPM server in a federated environment.

If change logging is not enabled, or if tasks were not indexed at run time, use this synchronization utility to get the system into a consistent state. The synchronization utility also runs when the indexer first starts to initialize the index on a new IBM BPM system in the federated environment.

Optional. The default setting is used if a value is not set.

synchronizeTasksDeleteInterval 1h The time, in hours, between checking the Process Server database on the IBM BPM system for deleted tasks. If tasks were deleted, this utility marks them as deleted in the change log so that they can be deleted from the index.

Optional. The default setting is used if a value is not set.

indexLogTrimInterval 1h The time, in hours, between checking the age of the entries in the audit log table, PFS_BPD_CHANGE_LOG_CONSMR_LOG, for the Process Federation Server. Old entries are automatically purged after 1 week.

Optional. The default setting is used if a value is not set.

changeLogCompactionInterval 1h The time, in hours, between compacting the change log. Over time, the task change log can build up redundant data. This compaction utility removes redundant data.

Optional. The default setting is used if a value is not set.

bpdServerTimezone none The IBM BPM server's timezone setting. Timestamps are stored in the Process Server database in the IBM BPM server's timezone. To ensure that the BPD data is indexed correctly, set a value for the bpdServerTimezone property by using a valid Java timezone.

Example: bpdServerTimezone="America/Chicago"

Optional. If the value is not set, it is assumed that Process Federation Server and the IBM BPM server are in the same timezone.

ibmPfs_bpdIndexer element example
The following code snippet is an example of a configured ibmPfs_bpdIndexer element:
<ibmPfs_bpdIndexer
   federatedSystemRef="bpm1"
   dataSourceRef="bpm_db2"
   schemaName="DB2ADMIN"
 />    

The ibmPfs_bpdRetriever element

The ibmPfs_bpdRetriever element contains configuration properties for retrieving BPD-related data from a federated IBM BPM system by using REST services.
Table 3. Configuration properties for the ibmPfs_bpdRetriever element
Property Default value Description
internalRestUrlPrefix none The REST service location that is used for communicating between Process Federation Server and the federated IBM BPM system.

If the federated IBM BPM system has an HTTP server or reverse proxy server that is configured in front of the system, the URL is for the HTTP server or reverse proxy server that is used by internal components. This URL might be different from the RestUrlPrefix that is used by clients.

Example: https://bpmHost.com:9443/rest/bpm/wle

Required

federatedSystemRef none Refers to the id property in the associated ibmPfs_federatedSystem element.

Required

connectTimeout 10s The maximum length of time, in seconds, that the retrieval service waits to connect to the federated IBM BPM system.

Optional. The default setting is used if a value is not set.

readTimeout 10s The maximum length of time, in seconds, that the retrieval service waits to read data from the federated IBM BPM system.

Optional. The default setting is used if a value is not set.

ibmPfs_bpdRetriever element example
The following code snippet is an example of a configured ibmPfs_bpdRetriever element:
<ibmPfs_bpdRetriever
    internalRestUrlPrefix="https://bpmHost.com:9443/rest/bpm/wle"
    federatedSystemRef="bpm1" 
    connectTimeout="10s"
    readTimeout="10s"/>
/>

The ibmPfs_bpelIndexer element

The ibmPfs_bpelIndexer element contains configuration properties for indexing BPEL-related data on a federated IBM BPM system.
Table 4. Configuration properties for the ibmPfs_bpelIndexer element
Property Default value Description
federatedSystemRef none Refers to the id property in the associated ibmPfs_federatedSystem element.

Required

dataSourceRef none

The data source for the Process Server database on the IBM BPM system. This property refers to the data source ID that is set in the dataSource element in the server.xml file. The indexing service uses this data source to connect to the Process Server database to index tasks.

Required

schemaName none The name of the schema that contains the tables for the BPEL-related data.

Required

executorServiceRef Default executor service The executor service that provides the threads for the indexing service.

Optional

indexingInterval 1s The time, in seconds, between index updates.

Optional. The default setting is used if a value is not set.

numberOfRetries -1 The number of times the BPEL indexing service attempts to update the index. If the retry limit is reached, indexing stops.

A value of -1 indicates that index updates are retried indefinitely.

Optional. The default setting is used if a value is not set.

synchronizeTasksInterval 1h The time, in hours, between each synchronization of tasks with the change log for indexing. If change logging is enabled for BPEL tasks, they are automatically indexed at run time. For information about enabling change logging, see Enabling indexing of BPEL-related data on an IBM BPM server in a federated environment.

If change logging is not enabled, or if tasks were not indexed at run time, use this synchronization utility to get the system into a consistent state. The synchronization utility also runs when the indexer first starts to initialize the index on a new IBM BPM system in the federated environment.

Optional. The default setting is used if a value is not set.

indexLogTrimInterval 1h The time, in hours, between checking the age of the entries in the audit log table, PFS_BPEL_CHANGE_LOG_CONSMR_LOG, for the Process Federation Server. Old entries are automatically purged after 1 week.

Optional. The default setting is used if a value is not set.

The ibmPfs_bpelRetriever element

The ibmPfs_bpelRetriever element contains configuration properties for retrieving BPEL-related data from a federated IBM BPM system by using REST services.
Table 5. Configuration properties for the ibmPfs_bpelRetriever element
Property Default value Description
internalRestUrlPrefix none The REST service location that is used for communicating between Process Federation Server and the federated IBM BPM system.

If the federated IBM BPM system has an HTTP server or reverse proxy server that is configured in front of the system, the URL is for the HTTP server or reverse proxy server that is used by internal components. This URL might be different from the RestUrlPrefix that is used by clients.

Required

federatedSystemRef none Refers to the id property in the associated ibmPfs_federatedSystem element.

Required

connectTimeout 10s The maximum length of time, in seconds, that the retrieval service waits to connect to the federated IBM BPM system.

Optional. The default setting is used if a value is not set.

readTimeout 10s The maximum length of time, in seconds, that the retrieval service waits to read data from the federated IBM BPM system.

Optional. The default setting is used if a value is not set.

ibmPfs_bpelRetriever element example
The following code snippet is an example of a configured ibmPfs_bpelRetriever element:
<ibmPfs_ibmPfs_bpelRetriever
    internalRestUrlPrefix="https://bpmHost.com:9443/rest/bpm"
    federatedSystemRef="bpel1" 
    connectTimeout="10s"
    readTimeout="10s"/>
/>