Thursday, May 22, 2014

#320 Using Signals for inter process communication

BPM Start Activities of type Signal - subscribe to Oracle EDN events.
BPM End Activities of type Signal - publish Oracle EDN events.
BPM Wait activities of type Signal - subscribe to Oracle EDN events.
BPM Throw Activities of type Signal - publish Oracle EDN events.


I have the following composite -

























Process 1 is as follows -






It takes an as input, one of it's attributes is the unique orderNr.
It waits for the Signal Event - OrderOKEvent for that specific orderNr.

Process 2 is as follows -


It takes an as input, checks for a large order(value > 1000).
If it's a large order, then the LargeOrderEvent is raised.
The End activity throws the Signal - OrderOKEvent.
The payload for both events is
These are EDN events (Oracle Event Delivery Network).

Process 3 is as follows -








The Signal start activity is subscribing to the  OrderOKEvent.



Process 4 is as follows -







The Signal start activity is subscribing to the  LargeOrderEvent, but is only interested in large orders for
Irish customers. The contains the attribute custCountry, so we can query this.

So what correlation/filtering is required here?

Process 1 wants to subscribe to the OrderOKEvent for a specific orderNr, so correlation is required here.
Start Activity -















The Wait activity leverages this as well -
















Process 3 subscribes to all OrderOKEvents, so no extra configuration is required here.

Process 4 subscribes to LargeOrderEvents for Irish customers - so filtering is required here. This can be set as follows -










Set the filter -























I deploy the composite and create 2 instances of Process 1 for orderNrs 1 and 2.






































I now instantiate an instance of process 2, thus resulting in signals being published.















Check in em -








So we see 4 new instances -

290041 - Process 2 instance
290042 - the Process 4 Subscription
290043 - the Process 3 Subscription
290044 - the Process 1 Subscription
















You can also view EDN Messages in enterprise manager -























Here we see a list of Events  our two are included -





















here we see the subscriptions -
















JDev project available here







No comments: