Book a Demo

Author Topic: Best practices for Callable Activities - BPMN global tasks  (Read 8187 times)

llsempro

  • EA Novice
  • *
  • Posts: 9
  • Karma: +0/-0
    • View Profile
Best practices for Callable Activities - BPMN global tasks
« on: September 22, 2017, 07:52:53 am »
I am looking for a way to associate the name of the re-usable process name be associated to the called activity.   For example, I have Process 1 that is re-usable and can be called from many other parent processes, as well as from an external message - Let's say the process is "open new account". 

I have an external customer who requests a new account to be open.  Process 1 is all that happens, as stand alone, when the message from customer is received.  No issue.

Now I have another internal process, that needs to open a new account on occasion.  Process 2 needs to call "Open New Account" after some other tasks happen.  When modeling process 2, when I get to the "open new account" activity, create a new task and set the type = Call Global Task Activity, which gives me the BPMN boldout line.  I add a composite diagram to this activity, and drop process 1 as a Diagram Reference onto the page.  This gives me underlying detail.  However, I need to also name my activity in process 2 manually - duplicate the words "open new account".  There is no relationship between the activity name in parent 2 and "open new account".  Is there anyway to associate these via a reference?  When I set the "Called Activity" value in properties, it doesn't do anything to the name.  If I change the name of my process 1 to "open new ABC account" do I have to manually change the name of the activity in parent 2?

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Best practices for Callable Activities - BPMN global tasks
« Reply #1 on: September 22, 2017, 05:39:01 pm »
I don't think there's a better way.

For one of my customers I've written a small script to synchronize the names (and transform a link with an "instance")

Geert

philchudley

  • EA User
  • **
  • Posts: 750
  • Karma: +22/-0
  • EA Consultant / Trainer - Sparx Europe
    • View Profile
Re: Best practices for Callable Activities - BPMN global tasks
« Reply #2 on: September 22, 2017, 09:46:58 pm »
This is what I do

1) Model the callable process on a temporary diagrams, make it a composite element, set the sub-process and callable tagged values.
2) Double-click and model the process.
3) I have a package in my BPMN 2.0 elements library called Callable Processes, I move the callable process from 1) together with its child diagram and elements to this package,
4) Delete the temporary diagram.
5) When I want to use by callable process(es) in other process diagrams, simple re-use from the library package as LINK

Changing the name in the library, will of course change the name wherever the callable process has been used.

Phil
Models are great!
Correct models are even greater!

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Best practices for Callable Activities - BPMN global tasks
« Reply #3 on: September 22, 2017, 09:55:59 pm »
Phil,

The problem with that approach is that your "reusable" callable processes are not linked to a bunch of other elements so you don't really know anymore what is part of a process model and what not.
In an extreme case you could have re-used two callable processes on two different diagrams. Now suppose you link those two in the second business process diagram.

Because you are re-using the elements, the link between the two callable processes will now also be visible on your first business process diagram, without your knowledge, and probably also without your intention.

I think all elements displayed on a BPMN business process diagram should be owned by that business process to avoid any mishaps.

Geert

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Best practices for Callable Activities - BPMN global tasks
« Reply #4 on: September 28, 2017, 10:10:56 am »
Phil,

The problem with that approach is that your "reusable" callable processes are not linked to a bunch of other elements so you don't really know anymore what is part of a process model and what not.
In an extreme case you could have re-used two callable processes on two different diagrams. Now suppose you link those two in the second business process diagram.

Because you are re-using the elements, the link between the two callable processes will now also be visible on your first business process diagram, without your knowledge, and probably also without your intention.

I think all elements displayed on a BPMN business process diagram should be owned by that business process to avoid any mishaps.

Geert
It may not have been your intention, but that was the result!  Isn't that part of the reason why we model?  "If you can see the problem, you can see the problem!"  If, on the other hand, it's not a problem, then "without loss of generality", the visible link will be OK.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Best practices for Callable Activities - BPMN global tasks
« Reply #5 on: October 02, 2017, 08:57:33 am »
5) When I want to use by callable process(es) in other process diagrams, simple re-use from the library package as LINK

In fact, this is explicitly illegal in BPMN. The fact that this method doesn't work is the reason why this question is being asked in the first place.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Best practices for Callable Activities - BPMN global tasks
« Reply #6 on: October 02, 2017, 11:25:40 am »
5) When I want to use by callable process(es) in other process diagrams, simple re-use from the library package as LINK

In fact, this is explicitly illegal in BPMN. The fact that this method doesn't work is the reason why this question is being asked in the first place.
Indeed so!  I'm not so experienced in BPMN  that I could say so - so thanks for clarifying that.  Which then brought to mind our solution to that problem.  We don't have a lot of BPMN procedures in our repository yet, but of the few we do, we acknowledge that BNMN requires that each behaviour item in a process is unique and you need to use the isCalledActivity property to link to the calledActivityRef.  In this case, we prefaced the name of the unique instance with a ":" (similar to the Class:Object notation) and named it the same as the called behaviour.  This had the added benefit that we could link the calling and called behaviours with an "InstanceOf" relationship and also note any parameters required in the notes field.

We feel that the ":" mechanism allows us to visually indicate a call (even in places where you can't see the full item (such as in the browser).  It immediately identifies the called behaviour and allows a visual check when showing the InstanceOf relationship.

HTH,
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!