BPMN Reusable Subprocess vs. Embedded

  • June 29, 2011
  • Scott

Anatoly often posts the best examples and cautionary tales in BPMN2. In the latest post, he derides the limited usability of Swim Lanes in BPMN 2 – And he has a point.

On the one hand, embedded subprocesses can’t have swim lanes (the best way to think about these is simply a set of collapsed activities, for notational convenience). On the other hand, “Reusable subprocesses introduce additional complexity because unlike embedded they are executed in a separate data context”.

Anatoly’s conclusion is that overusing reusable subprocesses is bad practice, because of this overhead.  I conclude differently:  the BPMS should minimize or optimize this overhead – and the business process designer should be able to ignore it on a robust BPMS.

To make a coding analogy:  we should be talking about the difference between an embedded block of code and a function call.  Yes there is overhead, but it should be managed by the BPMS transparently. In fact, some BPMS authoring environments don’t even allow for the embedded subprocess- treating it as just a special case of the reusable subprocess who’s primary difference is that it doesn’t happen to be re-used.

I don’t think we should optimize around the shortcomings of a particular BPMS too much, in terms of our general BPMS modeling advice.  However, I’ll concede that once you’ve chosen your BPMS, you might as well optimize somewhat around its capabilities as they become known to you, and model accordingly.

Related Posts
  • February 11, 2019
  • Scott

We're at IBM Think 2019 this week, and I want to call your attention to a great session on Wednesday morning....

  • November 26, 2018
  • Joe

Editor's Note: This is a series devoted to the migrations from the IBM Digital Process Automation eclipse base...

  • November 19, 2018
  • Scott

From the BPM.com discussion forum, a question was asked: "From Emiel Kelly: When a customer orders something,...