A Send Task sends same message to multiple pools

1,030 views
Skip to first unread message

Rowan

unread,
Mar 1, 2011, 4:22:19 PM3/1/11
to BPMN Forum
If I've got a task or activity that creates a message (say a report)
which then needs to be sent to several internal and external groups,
e.g. the Sales department (an internal group, represented as a
separate pool), the Customer (an external group, also represented as a
separate pool) and the Prime Contractor (another external pool),
what's the right way of representing this on a BPMN2 Business Process
Diagram or Collaboration Diagram? I can create three separate message
flows from the send task to the three other pools, but this looks more
as if it's three different messages, rather than the same message
being sent to three different people. See example
http://www.sylvester-bradley.org/rowan/graphics/MultipleMessagesExample.png

Thanks - Rowan

tom.m...@gmail.com

unread,
Mar 2, 2011, 6:24:20 PM3/2/11
to BPMN Forum
Would a signal be an option? It can be picked up by many. .

Neal McWhorter

unread,
Mar 3, 2011, 12:08:59 PM3/3/11
to bpmn...@googlegroups.com
Rowan,

From a BPMN perspective there are several ways to handle this. 

One way would be to create three separate send message events. In this case the actual message events could be named the same to indicate that they represent the same message. Underneath the skin the way that BPMN knows that they are the same message is via the Message's (not the message event) Name attribute. Unfortunately there is nothing in the standard that defines a visual representation of that name which is why naming the MessageEvent's the same is next best thing.

If you really want to deliver the same message to multiple recipients then you could create a collaboration that isolates the distribution by taking in one message and then sending out a message to the multiple destinations. From an automation perspective this often is the best solution. It loosely translates to a message hub (think Websphere Messaging or something similar) being used as the target of the message. You can't actually deliver a single message event to multiple places within a BPMN diagram because BPMN considers message events to always be point-to-point. 

Signal Events are a different kind of solution. Signal Events are "global" so they should be able to be seen by any process within a Pool. However, they can't be passed between Pools so they aren't allowed in your case.

All of this assumes that you want to be compliant with BPMN. Keep in mind that BPMN is a language for defining automated workflows. What you're describing isn't really an automated workflow. Because of this I'd actually recommend that you not be compliant. I'd use a data association (called Artifact in BPMN 1.x) to represent the report. That's the icon that looks like a piece of paper with the corner folded over. Technically this can only exist between two activities that have a flow between them so it can't be used across lanes. However, in practice I think this is the cleanest way graphically to represent a concept that BPMN really doesn't handle.

I hope that helps.

Neal McWhorter
Principal | Enterprise Agility
Business Vision Delivered
--
You received this message because you are subscribed to the Google
Groups "BPMN Forum" group.
Public website: http://www.bpmnforum.com
To post to this group, send email to BPMN...@googlegroups.com
To unsubscribe from this group, send email to
BPMNforum+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/BPMNforum?hl=en_US?hl=en

Reply all
Reply to author
Forward
0 new messages