Inter Process Communication Within And Between Workflows

Last published at: May 5th, 2021

FlowWright version 9.7 introduces an extremely useful feature: Inter-Process Communication (IPC.)  IPC provides a pathway for workflows to communicate with each other - or even communicate within the same workflow.  To start with, let’s examine communication within the same workflow.

In the above workflow design example, 2 parallel branches emerge from the Start step.  The left branch is waiting for the message “ACK”.  The right branch leads to a Task step and once Manager #2 approves so as to complete the task, the “send message” step will execute.  This last "send messages" step is  configured to send the message “ACK” within the current workflow.  The configuration for the “send message” looks as follows:

Let’s execute the workflow and see how the workflow behaves.  Below is the executed workflow:

As you can see from the above diagram, “wait for the message” is waiting for a message, and the “Manager 2 approval” task step is waiting to be completed.  Soon as the task is completed, the “send message” step sends the “ACK” message to the wait step and the workflow continues processing.  So, let’s complete the task:

The message was sent and was received by the waiting step, and the workflow progressed to the “Manager 3 approval” task step.

So why is IPC important?  
Using wait steps, control flow within any workflow can be managed. In older versions of FlowWright, messages are relayed using our API calls. From now on, FlowWright enables you to send messages within or between workflows using a standard library step.

All workflows entail data flow and control flow, and control flow was always managed using transitions between steps, but with IPC infrastructure, workflows can communicate within themselves and with each other.