The convedo Tech Talk Blog

Applying inter-process communication with OpenText Process Suite #1

Written by Sascha Cutura | 12 June 2015

This 4 part blog series will provide you more details on the different ways of implementing communication between processes using the two events Send Message and Receive Message that can be part of the process flow.

With the OpenText Process Suite (OTPS) platform (also known as Cordys Business Operations platform), you can apply different kinds of inter-process communication. You can download the collaborative workspace with the contents used to illustrate the concepts and use these for reference on how you want to apply inter-process communication. The last blog of this series will finish with a business scenario as an illustration of how you model and implement inter-process communication to cancel a running order handling process.

With inter-process communication, we mean any kind of communication between processes, more specifically exchanging data by means of a structured XML message between related or unrelated processes.

Parent process and sub-process

With a parent process calling a sub-process, you start with implementing inter-process communication rather straightforward. The execution of the parent process flow will be paused, while the sub-process executes and produces the defined output message that is returned as a result and consumed by the parent process. From the perspective of the parent process, the sub-process is a black box and the only visibility from the parent process is the input message to the sub-process and the output message returned containing a number of specific data values from the sub-process. This enables you to make any change to flow (i.e. the implementation) of the sub-process without effecting the parent process. However, you should not change the input and output message, as this serves at the interface contract by which the parent process is communicating with the sub-process. With the properties of the sub-process construct in the parent process, the default setting of the check box “Wait until Sub Process is finished” is checked to ensure that the parent process receives the output message and continue only upon receipt.

What happens when you uncheck the Wait until Sub Process is finished?

When you uncheck the Wait option, you will have two process flows running independently from each other, the parent process will continue without waiting for the sub-process to finish. However, you can synchronize these two autonomous process flows by including the Receive Message event in the parent process somewhere downstream in the process flow after the sub-process has been instantiated. As these two processes are already related, in the properties of the Receive Message event, you only need to refer to the output message of the sub-process.

The collaborative workspace contains two processes (theParentProcess shown here, and theSubProcess) to illustrate the use of the Receive Message event.

You can include the Send Message event in the sub-process to allow for other synchronisation moments between the flow of the sub-process and the parent process by adding the associated Receive Message events in the parent process to receive the related message that is modelled in the sub-process. Similar with the output message of the sub-process, you model the messages to be sent and received in the parent process only in the sub-process. In the properties of the Receive Message event, the list of messages to receive only contains the output message of the sub-process or the message to be sent with the respective Send Message events.

Download a copy of a workspace to illustrate this scenario

 

The OpenText Process Suite (OpenText Cordys) Boot Camp Tour starts September 2015. Register your interest today for a chance to qualify for our Early Bird price plan.

Coming up in this 4 part blog series: