Specifying Nodes as Execution Roles for BPs in a Clustered Installation

When a business process is configured to run on an execution role, the business process will be executed only on nodes assigned to do the specific execution role.

You also can target a business process to a group of nodes configured to assume a role called Abstract Execution role, which is a group of nodes that are assigned to do a specific job/role.

For example, you can specify multiple nodes with the same role, so that the business processes with the same role are distributed among the nodes. You can define node 1, node 5, and node 9 with an execution role like “POProcess” and configure a business process to execute within this execution role. Then, when you run the business process, it could run on node 1, node 5, or node 9. This feature gives you the control to specify on which node or nodes the business processes can be run in the cluster environment.

Use the Process Level page in the business process checkin wizard to specify an Execution role for the business process during the check-in of a business process.

A business process can be set to use either a business process-level mandatory node or an execution role, but not both at the same time. An execution role with just one node is equivalent to setting a mandatory node at the business process level.

When you set a business process to use an execution role, a node within a specific execution role is selected, based on the following criteria:
  • Load factor-based distribution
  • Healthiness of the node

After a node within that execution role is identified, the business process is distributed to that node and it executes on that node.

To set up a role for a node, run the following command from the installation directory:

CAUTION:
You can run this command any time after Sterling B2B Integrator starts, but if you change the role of a node, the business process that uses the old role will not work any more.
Note: You cannot set up a role for a node from the user interface.
  • (UNIX/Linux) bin/opscmd.sh -cUPDATESERVER -n<node_name> -pID=<node_role>

    For example: bin/opscmd.sh -cUPDATESERVER -nnode1 -pID=node1role

  • (Windows) bin\opscmd.cmd -cUPDATESERVER -n<node_name> -pID=<node_role>