When to specify ioSpecification for a process

185 views
Skip to first unread message

Farrukh Najmi

unread,
Oct 7, 2010, 9:44:59 AM10/7/10
to BPMN Users Group

I am unclear on what are the guidelines for when to specify an
ioSpecification for a process. The spec seems vague on this and I did
not find anything on it in "BPMN Method & Style" either.

Is it that a process should declare all incoming and outgoing messages
(the ones that show up as messageFlows in a collaboration involving
the process) in it ioSpecification?

I hope this is a very basic question that someone can answer very
quickly. Thanks.

Farrukh Najmi

unread,
Oct 7, 2010, 9:52:34 AM10/7/10
to BPMN Users Group

Or is it that one declares process dataInputs and dataOutputs in its
ioSpecification iff they need the input or output as a global variable
within the scope of the process?

Bruce Silver

unread,
Oct 7, 2010, 11:12:47 AM10/7/10
to bpmn-use...@googlegroups.com
For a process, I believe ioSpec (dataInput and dataOutput etc) just describe
the calling interface, like a wsdl.

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

--
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 7, 2010, 11:41:26 AM10/7/10
to bpmn-use...@googlegroups.com

Thanks for the response but I am still not quite clear.

How does the ioSpecification (dataInput and dataOutput etc) relate to the messages received by the process (e.g. via receiveTasks) and sent by the process (e.g. via sendTasks)?
Should all messages sent or received by the process be declared in the ioSpecification?
--
Regards,
Farrukh

Farrukh Najmi

unread,
Oct 8, 2010, 9:58:15 AM10/8/10
to BPMN Users Group

Can Bruce or any one else please help me by answering this seemingly
basic question. Hopefully it should only take a a few minutes of your
valuable time. Thanks.
> > bpmn-users-gro...@googlegroups.com<bpmn-users-group%2Bunsu...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/bpmn-users-group?hl=en.
>
> > --
> > 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<bpmn-users-group%2Bunsu...@googlegroups.com>
> > .

Bruce Silver

unread,
Oct 8, 2010, 11:25:01 AM10/8/10
to bpmn-use...@googlegroups.com
Farukh,
You really ought to take a look at the xsd and the spec. A message has
attribute itemRef, which is pointer to itemDefinition. That has attribute
structureRef, which is pointer to an imported xsd. So it's a very long
chain of pointers. DataInput and other data-aware elements also have
references to itemDefinition. So the link between a message and dataInput
is pointer to common itemDefinition.

bpmn-users-gro...@googlegroups.com<bpmn-users-group%2Bunsubscribe


@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/bpmn-users-group?hl=en.
>
> > --
> > 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<bpmn-users-group%2Bunsubscribe


@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/bpmn-users-group?hl=en.
>
> --
> Regards,
> Farrukh

--

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.

Farrukh Najmi

unread,
Oct 8, 2010, 11:43:06 AM10/8/10
to bpmn-use...@googlegroups.com
Hi Bruce,

First thank you for all your help.

Believe me, I have done nothing else but study the BPMN 2 spec and tried to apply it for the last 6 weeks. I have also sprung $45 on your book "BPMN Method & Style" and read through it several times.

Perhaps I am being dense here, but I have learned and applied many other complex specs from OASIS, W3C and JCP before and I have been an author on a few specs as well.
Is it possible that the BPMN spec is not very clear in several areas?

I think I understand how the item aware types in XSD work and I am aware of how a message relates to itemDefinition and XSD.
But what I am not clear on and what I am asking about is something much simpler....

When does one define a dataInput or dataOutput for a process? What are the guidelines to include a dataInput or a dataOutput in a process ioSpecification?

While I am grateful for all your responses I am still not sure I heard an answer to that seemingly simple question.
Perhaps I did not ask the question clearly.

I even proposed a few potential answers that I was guessing:

  • Should all messages sent or received by the process be declared in the ioSpecification?
There was no comment on above either as to whether that is right or wrong.

Forgive me and please be patient if I am not asking the question clearly or if I am being too dense. Thank you.
--
Regards,
Farrukh

Bruce Silver

unread,
Oct 8, 2010, 12:25:37 PM10/8/10
to bpmn-use...@googlegroups.com

That is a philosophical question.  There is no right or wrong answer.  Most process analysts defining non-executable BPMN only care about the elements that appear in the diagram, not in the xml details underneath.  Those are just for executable BPMN 2.0.  As there are very few executable BPMN 2.0 engines today (Oracle plus… what else?), I would say today all that XML isn’t usually important (yet).  For your purpose, which I believe is architectural, I can see why you might want to define dataInput and dataOutput for a process.  Like I said previously, they just define the interface to the process, but in terms of data, not messages.  If the wsdl is the message-based interface, BPMN dataInput and dataOutput are the data-based interface.  If you provide both of them, and they both point to common xsd, they are in a sense redundant.  For execution of the BPMN you would need the dataInput, but for architectural definition, maybe not, as it is redundant to the message interface.  That’s a judgment call; there is no right answer.

 

Bruce Silver

Principal, Bruce Silver Associates/BPMessentials

br...@brsilver.com

www.brsilver.com

+1 831.685.8803

 

Farrukh Najmi

unread,
Oct 8, 2010, 12:47:58 PM10/8/10
to bpmn-use...@googlegroups.com

Thanks for your patient and thoughtful response! This helps a lot.

<context>
To provide some context for my questions (present and future), I am specifying the normative content for a chapter of the OASIS ebXML RegRep 4 specifications titled "Governance Features". This chapter specifies how BPMN 2 collaborations can be used to specify how content managed by the registry/repository may be governed.

The focus of this work is very much executable BPMN.

The BPMN 2 XML descriptions will be based upon patterns specified by the spec for performing governance actions on the managed objects, sending notifications to governance roles, performing validation, cataloging and other regrep functions when and where they are prescribed within the governance collaboration.

An ebXML RegRep server will be required to execute the various executable governance processes in a BPMN process engine to govern the managed object life cycles' from cradle to grave.

I do worry sometimes whether this spec is pushing the envelope with respect to executable BPMN but experience so far suggests that this particular application of BPMN is doable.
</context>

When the draft spec is ready I will post a link to this list and would be very grateful if list members could provide feedback on that one chapter of the specification.
Reply all
Reply to author
Forward
0 new messages