I’ve been playing with that idea for a while. Participants in business processes are just channels, workitems are just messages.
OpenWFEru 0.9.11 will add a new ‘listen’ expression, for listening to those channels (instead of simply emitting messages to them).
Listening to participant ‘alpha’, notifying participants ‘bravo’ and ‘charly’ with a copy of the next workitem dispatched to ‘alpha’.
Switching to a Ruby process definition, it feels lighter…
This time, participants bravo and charly are interested by a copy of the next workitem coming back from participant alpha concerning customer “Acme”.
The scope of this listen expression is not limited to a single process instance, it thus opens up easy (looser ?) correlation points among process instances. Possibilities are for another blog post.
It should have been part of OpenWFE[ru] sooner, but I never could make up my mind on how to do it right (a little bit).
There are more options, they are documented in the expressions documentation page.