Enabling indexing of process-related data in a federated environment

Draft comment:
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-03-13 12:15

When a process runs on a Business Automation Workflow or IBM® BPM system, process-related data is written to the Workflow Server or IBM Process Server database (BPMDB).

  • If indexing to the Federated Data Repository is made from Process Federation Server, you must create change log tables in the Workflow Server or Process Server database, and enable process indexing on Process Federation Server.
  • If the federated system is a process runtime from Business Automation Workflow 24.0.0.0, indexing from Process Federation Server is deprecated, and instead you must enable the Federated Data Repository process indexing in Business Automation Workflow as described in Enabling the Federated Data Repository process indexing.

Before you begin

Note: Federating a Business Automation Workflow 24.0.0.0 process system by configuring the indexer in Process Federation Server is deprecated, and is only required when federating Business Automation Workflow 23.0.2 and earlier. As of 24.0.0.0, you should configure the federated Business Automation Workflow system to index directly into the Federated Data Repository as described in Enabling the Federated Data Repository process indexing.
  • If you are enabling indexing on an IBM BPM system that is earlier than V8.5.6, verify that the required APARs are installed on the system. For more information, see Technote 1699090 External link opens a new window or tab.
  • Verify that the Workflow Server or the Process Server on the federated server is stopped.
Note: The term federated server can refer to either an IBM BPM or a Business Automation Workflow server.

About this task

Updates to the data are logged on the federated server. Process Federation Server monitors the logs for changes. When changes become available, Process Federation Server pulls them from the Workflow Server or Process Server database, and then indexes the changed data.

By default, process instances are not indexed as separate documents in the federated data repository. You can enable indexing of process instances for a process federated system (see Process instance indexing).

Tasks are indexed in the following situations:
  • A task is assigned.
  • A task is completed and the business data is updated.
  • The due date or at-risk date of a task is changed.
  • The priority of a task is changed.
  • The associated process instance changes state (completed, suspended, resumed, terminated, restarted, or failed).
Attention: By default, to improve performance, after a task has completed, the data indexed for this task is no longer updated. For example, the business data and the process instance status for the task are stored in the index with the values that they had when the task completed, and may not reflect the actual values in the process instance. To have Process Federation Server keep these values up-to-date, you can set the <task-index-update-completed-tasks> configuration setting to true in the 100Custom.xml file on the federated system.

Procedure

  1. Create the change log tables in the Workflow Server or Process Server database on the federated system.
    Use the create_bpd_change_log.ddl script that is provided with Process Federation Server to create the tables.
    1. On Process Federation Server, go to the pfs_install_root\ibmProcessFederationServer\wlp-ext\dbscripts directory and go to the directory under it for your specific database type.
    2. Move the create_bpd_change_log.ddl script to your federated system.
    3. Read the instructions in the script and replace the variables with the correct names.
      • Replace @SCHEMA@ with the schema name. Because the existing database user will be writing to the change log tables, ensure that the schema name is consistent with the schema name that is used for other federated system database tables.
    4. Run the script.
      For DB2®:
      db2 connect to BPMDB
      db2 -tf create_bpd_change_log.ddl
      db2 connect reset
      For Oracle:
      sqlplus system/passw0rd@orcl @create_bpd_change_log.ddl
      For SQL Server:
      sqlcmd -U user_id -P password -e -i create_bpd_change_log.ddl
  2. Configure the federated server to emit changes to the change log tables.

    Update the 100Custom.xml file on the federated server to include the federated-index-enabled configuration parameter. For information about where to find the 100Custom.xml file, see Location of 100Custom configuration files.

    1. Open the 100Custom.xml file in a text editor and add the following code snippet:
      <server>
        <search-index merge="mergeChildren">
           <federated-index-enabled merge="replace">true</federated-index-enabled>
         </search-index>
      </server>
      For more information about the 100Custom.xml file, see The 100Custom.xml file and configuration.
    2. Save your changes.
    3. Restart the Workflow Server or the Process Server on the federated server.
    4. Resynchronize the nodes of the application cluster and then restart the application cluster.
  3. Enable process indexing on Process Federation Server.
    1. Open the server.xml configuration file for editing.
      By default, the configuration file is in the pfs_install_root/usr/servers/server_name directory on Process Federation Server.
    2. Configure the library and dataSource elements for your Workflow Server or Process Server database.
      The process indexing service uses these properties to connect to the database.
      The following code snippet shows an example of configured library and dataSource elements for a DB2 database:
      <library id="DB2JCC4Lib">
         <fileset dir="pfs_install_root/wlp-ext/jdbcdrivers/DB2" 
            includes="db2jcc4.jar db2jcc_license_cisuz.jar"/>
      </library>
      <dataSource id="bpd_db2" 
         commitOrRollbackOnCleanup="commit" isolationLevel="TRANSACTION_READ_COMMITTED" 
         jndiName="jdbc/bpmdata" type="javax.sql.DataSource"> 
         <jdbcDriver libraryRef="DB2JCC4Lib"/> 
         <properties.db2.jcc serverName="localhost" portNumber="50000" 
            databaseName="BPMDB" user="db2admin" password="db2admin" /> 
      </dataSource>
    3. Update the configuration properties for the process indexing service in the ibmPfs_federatedSystem, ibmPfs_bpdIndexer, and ibmPfs_bpdRetriever elements.

      For information about the configuration properties, see Configuration properties for the Process Federation Server index.