Run processes from different diagrams

1
0
-1

Hi all,

I have two diagrams, each including a single process. Both diagrams validate singularly. Now, I configured the first process to throw a message and the second process to catch it. I tried to run the first process but it does not seem to throw any message (or, alternatively, the second process does not catch it).

First question: is this the right way to run processes in different diagrams?
Second question: what are the practical differences between using send/receive task and throw/catch messages?

Thanks in advance!

Best regards

1 answer

1
0
-1
This one is the BEST answer!

You can use messages between diagrams for various purposes. One of them can be to start a process B from a process A:

  • process A use a send message event or task (no difference between the two except that you can define "operations" and "iterations" on a task, not on the event).
  • process B catch the message using a start message event.

In this scenario, later in the process flow, process A can wait for a signal using a catch signal event (or task). Process B can send a signal back to process A to trigger the catch event. This allow to have a synchronization point between the two processes/diagrams.

An alternative to messages is the use of a call activity in process A to start process B. Main difference is that process A execution will be blocked in call activity until process B execution finish.

If you have issue with your diagrams maybe you can share them and I can have a look?

Regards

Comments

Submitted by vitiellom on Thu, 08/24/2017 - 09:45

Thanks for your prompt answer.

So, if I understood correctly, a call task blocks the caller process but allow definition of iterations/operations on the task, while a catch message does not necessarly block the caller process (the caller process goes on with its normal flow).

I exported a very simple example, without BPM and using the ACME Organization schema: two diagrams (p_A and p_B) with a single process each. p_A has HR employees as actor and p_B as sales employees as actor. I login with an HR employee, submit the form but when I login with a sales employee no task is displayed. The bos file is available at [1]

Thanks a lot for the help!

Best regards

[1] https://www.dropbox.com/s/8k05ovtin93hlcb/p_A-1.0.bos?dl=0

Submitted by antoine.mottier on Thu, 08/24/2017 - 09:58

You need to start p_B process manually with a user from sales group. When you start the process it will move to Step1 waiting for the message. If p_A already sent the message p_B will immediately consume the message and move to Step2. If message is not yet send, p_B will wait in Step1 until the message is sent from p_A.

If you want to start p_B when p_A send the message you need to use a start catch message event instead of the classic start event.

Submitted by vitiellom on Thu, 08/24/2017 - 10:49

Indeed using a start message instead of start event followed by a receive task did the trick. Thanks for your support!

Best

Notifications