Execution Control Service

The Execution Control service allows for the business process to dynamically change various execution parameters, primarily for performance.

The following table provides an overview of the Execution Control service:

Category Description
System name ExecutionControlService
Graphical Process Modeler (GPM) categories All Services, Process Controls
Description The Execution Control service allows for the business process to dynamically change various execution parameters, primarily for performance.
Business usage Use this service to dynamically affect the execution of a business process. A business process can be:
  • Assigned to a different queue
  • Assigned a different priority within its queue
  • Assigned an absolute deadline (in milliseconds, as provided by the Timestamp Utility service)
For example, a received document will be held for batch processing, but a functional acknowledgement for it should be expedited. You can set the spawned business process for the functional acknowledgement at a higher priority than the batch process.
Usage example At run time, this service can dynamically move within a business process to a lower or higher queue than the one assigned at check in time. Moving to a lower queue can free up threads for the highest priority processes. Additionally, the Execution Control service allows configuring for fewer steps in the process to be completed before re-entering the queue for an available thread in the workflow engine. For example, you can give a business process with a service level agreement time window processing priority by configuring it to hold onto its thread for many steps. In addition, you can move it up in the priority queue at a certain step. Conversely, you can configure a lower priority process to do very few steps before returning to the workflow engine for an available queue, thereby freeing resources for higher priority processing.
Preconfigured? Yes
Requires third party files? No
Platform availability All supported Sterling B2B Integrator platforms
Related services No
Application requirements The business process using this service should have appropriate queue priorities assigned.
Initiates business processes? This service does not initiate business processes. It works within a business process to adjust the execution of the steps in its business process, and/or change its priority queue.
Invocation Does not invoke a business process
Business process context considerations This service works within the workflow context to dynamically reassign:
  • Process Execution Priority
  • Execution Queue Name
  • Execution Cycle Size
  • Deadline
Returned status values Returned status values:
  • Success – Execution was successful
  • Error – Unexpected parameter failure (for unparsable data)
Restrictions None
Persistence level None

Implementing the Execution Control Service

To implement the Execution Control service, complete the following tasks:
  1. Create an Execution Control service configuration.
  2. Configure the Execution Control service.
  3. Use the Execution Control service in a business process.

Configuring the Execution Control Service

To configure the Execution Control service, you must specify settings for the following fields in the Graphical Process Modeler (GPM):

Field Description
deadline Deadline time by which the business process should be executed, in milliseconds as provided by the Timestamp Utility service. Optional.
executionCycleSize Number of steps AE will cycle. Required. Value values are 1 - 2147483647. Default is 10.
mandatoryNode Cluster only. The specific node on which the business process must run. Optional. Specify any valid node number. You will receive an error if the specified node is not available.
Note: The Sterling B2B Integrator initializes a business process workflow on any available node before moving the business process to the node specified in mandatoryNode.
preferredNode Cluster only. The node on which you would like the business process to run. Optional. Specify any valid node number. If the specified node is not available, the service will use another available node.
priority Priority suggestion within the queue to place a step within a business process. Required. Valid values are 1 - 9. Default is 4.
queueName The queue to be placed into. Optional. Valid values are 1 - 9.
yield Allow the business process to yield its thread to a higher priority process. After the yield, it is placed back in the queue. Required. Valid values:
  • true
  • false (default)
Note: In order for changes to other settings, such as executionCycleSize, to take effect immediately, yield must be set to true.

The fields configured in the GPM are passed from the business process to the Execution Control service.

Business Process Example

The following sample BPML demonstrates the syntax and usage of the Execution Control Service:

<process name="TestECS">
  <sequence name="simple">
    <assign to="TestStartStatus">Success</assign>
   <operation name="ExecutionControlServiceExample">
      <participant name="ExecutionControlService"/>
      <output message="Xout">
        <assign to="yield">false</assign>
        <assign to="queueName">6</assign>
        <assign to="priority">1</assign>
        <assign to="executionCycleSize">1000</assign>
      </output>
      <input message="Xin"/>
    </operation>
     <assign to="TestEndStatus">Success</assign> 
  </sequence> 
</process>