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

Enabling indexing of BPEL-related data on an IBM BPM server in a federated environment

When a BPEL process runs on an IBM® BPM system, BPEL process and task-related data is written to the Business Process Choreographer database. This database is the Shared database and defaults to CMNDB. For this data to be included in the Process Federation Server index, you must create change log tables on the IBM BPM server, and enable BPEL indexing on Process Federation Server.

Before you begin

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.

About this task

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

Procedure

  1. Create the change log tables in the Business Process Choreographer database on the IBM BPM system. Use the create_bpel_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 script to your IBM BPM 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 Business Process Choreographer 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 Business Process Choreographer database tables.
      • Replace @INSTANCE@ with the table space name
    4. Run the script.
  2. Configure the IBM BPM server to emit changes to the change log tables.

    The BPEL state observer plug-in on the IBM BPM server creates entries in the change log when BPEL process or task data is updated. The way in which you enable the plug-in depends on whether your federated environment includes IBM BPM systems that are running versions of IBM BPM earlier than V8.5.6.

    • V8.5.6 or later: For federated environments that are running only IBM BPM V8.5.6 or later, use the administrative console to enable the plug-in:
      1. Launch the IBM BPM administrative console.
      2. Click Servers > Clusters > WebSphere application server clusters > cluster name > Business Flow Manager > Business Process Choreographer containers, then on the Configuration tab, expand State Observers, and enable the Federation Server Indexing logging option for both Business Flow Manager and Human Task Manager.
    • V8.5: For federated environments that include servers that are running versions of IBM BPM V8.5, use the setStateObserver.py wsadmin command to enable the plug-in:
      • For Windows operating systemFrom the install_root\ProcessChoreographer\admin directory, run the following command:
        • In a network deployment environment:
          ..\..\bin\wsadmin -f setStateObserver.py -enable IndexerLog  -cluster cluster_name 
        • In a stand-alone environment:
          ..\..\bin\wsadmin -f setStateObserver.py -enable IndexerLog  -server server_name
      • For AIX operating systemFor Linux operating systemFor Solaris operating systemFrom the install_root/ProcessChoreographer/admin directory, run the following command:
        • In a network deployment environment:
          ../../bin/wsadmin -f setStateObserver.py -enable IndexerLog -cluster cluster_name 
        • In a stand-alone environment:
          ../../bin/wsadmin -f setStateObserver.py -enable IndexerLog -server server_name 
        For more information about the setStateObserver.py command, see setStateObserver.py administrative script.
    • Pre-V8.5: For federated environments that include servers that are running versions earlier than IBM BPM V8.5, run the setStateObserver.py wsadmin command from the config directory to enable the plug-in:
      • For Windows operating systemFrom the install_root\ProcessChoreographer\config directory, run the following command:
        • In a network deployment environment:
          ..\..\bin\wsadmin -f setStateObserver.py -enable IndexerLog -cluster cluster_name 
        • In a stand-alone environment:
          ..\..\bin\wsadmin -f setStateObserver.py -enable IndexerLog -server server_name
      • For AIX operating systemFor Linux operating systemFor Solaris operating systemFrom the install_root/ProcessChoreographer/config directory, run the following command:
        • In a network deployment environment:
          ../../bin/wsadmin -f setStateObserver.py -enable IndexerLog -cluster cluster_name
        • In a stand-alone environment:
          ../../bin/wsadmin -f setStateObserver.py -enable IndexerLog -server server_name
      For more information about the setStateObserver.py command, see setStateObserver.py administrative script.

    After enabling the state observer, in a clustered IBM BPM environment, resynchronize the nodes of the application cluster and then restart the application cluster.

  3. Enable BPEL 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 Process Server database. The BPEL 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="bpel_db2" 
         commitOrRollbackOnCleanup="commit" isolationLevel="TRANSACTION_READ_COMMITTED" 
         jndiName="jdbc/bpeldata" type="javax.sql.DataSource"> 
         <jdbcDriver libraryRef="DB2JCC4Lib"/> 
         <properties.db2.jcc serverName="localhost" portNumber="50000" 
            databaseName="CMNDB" user="db2admin" password="db2admin" /> 
      </dataSource>
    3. Update the configuration properties for the BPEL indexing service in the ibmPfs_federatedSystem, ibmPfs_bpelIndexer, and ibmPfs_bpelRetriever elements.

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