Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 13 Inter-Process Communication : Coordinating Inter-Process Communication

Coordinating Inter-Process Communication
When configuring Receive Notification, Wait, and Notify activities, you must specify a key to coordinate which activities correspond to each other. You can also specify a timeout for how long to keep the information about Wait and Notify activities before it is removed from storage. The following sections describe configuring the key and timeouts for inter-process communication.
Specifying the Key
To configure Receive Notification, Wait, and Notify activities, you must specify a key that correlates Notify activities with Receive Notification or Wait activities. The key is a string that corresponding activities specify to determine when a Receive Notification or Wait activity should accept data from a Notify activity. The key is similar to event keys used in activities that wait for incoming events (described in Event). The key is a string, but you can use any XPath expression that evaluates to a string when the process instance executes.
 
Each Notify activity corresponds to exactly one Receive Notification or Wait activity. That is, as a Notify activity executes, the first Receive Notification or Wait activity that matches the Notify’s key can then execute. You can execute many Notify activities with the same key.
You can create one-to-one correspondence between Wait and Notify activities so that exactly one process’ Notify activity corresponds to one other process’ Receive Notification or Wait activity. Or, you can create many-to-one relationships so that many Notify activities’ keys can correspond to the Receive Notification or Wait in one process. A Notify, however, always only corresponds to only one Receive Notification or Wait activity. Therefore, once a Notify executes, the corresponding Receive Notification or Wait activity continues processing.
See Examples of Inter-Process Communication for examples of specifying keys for Wait/Receive Notification/Notify activities.
Timeouts for Notify and Wait
Notify and Wait activities have associated timeouts. Timeouts specify how long information for the Notify and Wait is kept before it is removed from storage.
The Notify activity executes immediately and transitions to the next activity in the process definition. However, the timeout value for the Notify activity specifies how long the notification information should be kept. If no corresponding Wait activity executes before the specified timeout, the information is removed. Once notification information is removed from storage, it cannot be accepted by the corresponding Wait activity.
The Wait activity causes process execution to pause until a corresponding Notify activity with a matching key executes. The Notify activity can execute before the corresponding Wait activity and its information is then waiting in storage. If the Notify has not executed, the process instance containing the Wait suspends until the Notify occurs or the Wait activity’s specified timeout is reached.
The Receive Notification process starter does not have a timeout because it creates a process instance only when a corresponding Notify activity executes.

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved