AnsweredAssumed Answered

Comparing message-events to subprocess(or call activity)

Question asked by sruiz on Jan 7, 2011
Latest reply on Jan 7, 2011 by ronald.van.kuijk
The objective of this threat is to evaluate features of message events against features of subprocess (or call activity).
Which of these are more powerfull? Some people think one best feature of a BPM system is the subprocess behaviour. I think that the better behaviour is the throwing-catching message events.

I've found that one of the best sources for understanding message events is the article Choreography and Multi-Pool Processes(Bruce Silvers). I suggests to read it!

And now, let's go to give some features for comparing:
  • 1. There is a parent-child relationship between superprocess-subprocess. The subprocess can access to  the superprocess variables. The superprocess can not access to the subprocess variables (unless untill the subprocess is not finished).

  • 2. Until the subprocess is finished the token of super-process is not passed to the next activity.

  • 3. The subprocess only can have one parent.
Message events
  • 1. The relationship between processes is more similar to partnership.

  • 2. The process doesn't need no wait to finish the partner process for passing the token to the next activity. The throwing messsage event send the message and pass the token to the next activity.

  • 3. The process can have several partners.
It's important to notice that the subprocess capabilities is included in the message-event definition. You can simulate the subprocess with a throwing message event followed by a catching message event. The subprocess receives a start message event and finish with a end message event.

It's imposible to simulate the messaging behaviour with the sub process relationship.

Please, be free to add more features for comparing.