cancel
Showing results for 
Search instead for 
Did you mean: 

Comparing message-events to subprocess(or call activity)

sruiz
Champ in-the-making
Champ in-the-making
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:
Subprocess
  • 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.
1 REPLY 1

ronald_van_kuij
Champ on-the-rise
Champ on-the-rise
Salvador,

I read your post, the 'corresponding' issue in Jira and after a year, I read the Bruce Silver document again.  I kind of mis the point you are trying to make. Subprocesses, Processes (in pools) and messages between them all serve different purposes, hence the presence of each of them in BPMN2. If your point is 'ditch subprocesses' and implement messages, I disagree. If your point is that the message events should be supported since you think they are very useful, then I won't disagree, heck, I don't think anybody will. From your jira I assume that they are not implemented yet (I did not really check) and if that is the case, It's probably a matter of prioritization.

If I missed something, please correct me.