How to use same participant in multiple collaborations in different BPMN files

14 views
Skip to first unread message

Farrukh Najmi

unread,
Oct 5, 2010, 1:08:19 PM10/5/10
to BPMN Users Group

I am still not getting BPMN2 model for participants, participantRoles
etc. I have read the "BPMN Method & Style" book but, unless I missed
it, I did not find anything on the subject there.

I need to have many BPMN executable files. Each file has a
collaboration. Each collaboration has multiple participants. However,
I need to somehow correlate each participant to specific roles that
are defined elsewhere and identified uniquely by a URI.

Thus I am looking for a way to:

-have each BPMN file reference the same set of participants. But
participants are identified only by a local xml:ID and not a QName or
more general mechanism

-Have a role identified by a URN to be associated with each
participant

Thanks for any help.

Bruce Silver

unread,
Oct 5, 2010, 1:28:36 PM10/5/10
to bpmn-use...@googlegroups.com
Look in section 15.3.1 of the spec that discusses id and QName. Where used
as idref, QName is meant to use targetNamespace of the defining file as the
prefix for the id. In your case, that would be the targetNamespace of the
model defining the participant. References to that participant from other
models would use the QName.

Bruce Silver
Principal, Bruce Silver Associates/BPMessentials
br...@brsilver.com
www.brsilver.com
+1 831.685.8803

Thanks for any help.

--
You received this message because you are subscribed to the Google Groups
"BPMN Users Group" group.
To post to this group, send email to bpmn-use...@googlegroups.com.
To unsubscribe from this group, send email to
bpmn-users-gro...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/bpmn-users-group?hl=en.

Farrukh Najmi

unread,
Oct 5, 2010, 2:01:43 PM10/5/10
to bpmn-use...@googlegroups.com

Thanks. That helped a lot.

I also gathered that when a participant in a collaboration represents a role one indicates that with a partnerRole that references the participant via participantRef as in following example:

  <partnerRole id="registryRole" name="Registry">
    <participantRef>tns:registryParticipant</participantRef>
  </partnerRole>

Now my remaining problem is how to use a URI as id for a role (another spec defines the URI for canonical roles).
Since partnerRole's id can only be an xml:ID it cannot be a URN. The only thing I can think of is to use an extensionELement like this:

  <partnerRole id="registryRole" name="Registry">
    <extensionElements>
      <rim:ObjectRef id="urn:oasis:names:tc:ebxml-regrep:SubjectRole:Registry"></rim:ObjectRef>
    </extensionElements>
    <participantRef>tns:registryParticipant</participantRef>
  </partnerRole>

Does this sound like the best option?

The lesson I learned from working on other XML specs is that for maximum flexibility it is best to leave the id attribute as a xs:string rathar than xml:ID.
If BPMN allowed id to be any string I could have directly used the URN based roleId without resorting to extensionElements.
Any reason why this was not done?

I suppose it is too late to propose this change now to BPMN technical committee?
--
Regards,
Farrukh

Bruce Silver

unread,
Oct 5, 2010, 2:21:06 PM10/5/10
to bpmn-use...@googlegroups.com

Your participantRef points to a participant in the same model (tns prefix), but you could also point to a participant defined in a different model (i.e. different file, with a different targetNamespace).

 

Re the other part… sorry but the xsd defines the datatypes for ids and idrefs for standard elements.  If you make them strings your model will not be schema-valid.  For additional info, you can use extension elements for whatever you want, but it is not part of ‘standard’ BPMN any more.   If ebxml decides it wants to use extension elements this way for role references, that could be a good way to go.  The @id in your extensionElements can be any data type you like.

 

Bruce Silver

Principal, Bruce Silver Associates/BPMessentials

br...@brsilver.com

www.brsilver.com

+1 831.685.8803

 

Reply all
Reply to author
Forward
0 new messages