The orchestration process

An orchestration process is a set of preconfigured steps. Each step attaches an script to process incoming messages from an input message queue, and possibly forward these messages to output queues, which could be an input queue for another step, creating an orchestration process flow.

The orchestration process leverages message queues capability of serving messages to consumers avoiding collisions, which is when consumers get duplicate messages. In other words, the consumers, or bots in the IBM RPA context, can consume messages from the message queue with the guarantee that each bot will always process independent and exclusive messages. The following image illustrates the orchestration process in IBM Robotic Process Automation.

Orchestration process

  1. After configuring the orchestration process in IBM RPA Control Center, each orchestration process step attaches an script to an input message queue. The orchestration process starts when new messages arrive at an input queue.
  2. For each message in an input queue, the message is dequeued and becomes an orchestration process instance. This instance contains the original message and orchestration process' data, such as the step name, the processing status, and logs from the bot's operation.
  3. Each instance triggers a bot to process the instance in one of the computers configured in the orchestration process step. As long as the computers have available licenses to run bots, the orchestration process will automatically balance workload to adjust the processing of new incoming messages. You can monitor the orchestration process in IBM RPA Control Center's control panel.
  4. After the bot processed an instance, one of two possible outcomes can happen depending on the step configuration: either the instance gets a label stating its processing status or the instance is enqueued into an output queue. This output queue can be the input queue of another step, which would trigger bots to process the messages from that queue on the computers configured in that step. You can configure as many steps as you need.

Orchestration process' instances

Dequeued messages become orchestration process' instances. These instances contain the original message and data about the orchestration process, like the steps the instance went through, the processing status for each step, logs from the bots' operations, and the change history of the process variables' values.

In IBM RPA Control Center, you can watch instances in real-time in the orchestration control panel. See the Results section in Configuring an orchestration process to learn how to open the control panel.

In the control panel, you can also manage instances. You can pause and resume, cancel, retry or restart instances. Retrying an instance runs the last step the instance went through, whereas restarting an instance runs all the steps again.

Service-level agreement times

During the orchestration process setup, you configure service-level agreement (SLA) times. The orchestration process uses these times to audit if the process complies with what you configured. In the control panel, you can audit if the SLA is being met and check improvement suggestions, like the optimal number of bots to process the workload. The control panel also estimates when the workload processing will end.

Orchestration process' steps

A step in an orchestration process is the processing of messages from an input queue by an IBM RPA bot. You define steps during the orchestration process setup. For details, see Configuring an orchestration process.

A step has one input queue, an script with the bot's logic to process the messages from the input queue, possibly up to two output queues, and a list of available computers to host the bots. The bot configured in a step is triggered to run when a message arrives at the step's input queue. When the step's bot completes its operation, the message can either be marked with its processing status or enqueued into another message queue.

An orchestration process can have multiple steps. Multiple steps can generate an orchestration flow, although output queues from one step don't need to be input queues from another step.

Orchestration process' variables

You can track changes to the values of script variables during the orchestration process. To track these changes, you need to bind orchestration process' variables to script variables. You define the orchestration process' variables during the orchestration process setup. See Configuring an orchestration process for more information.

Some orchestration process' variables identify orchestration process' instances. These variables are called business keys.

See Orchestration process' variables binding to learn about binding these variables to script variables.