W3C home > Mailing lists > Public > public-ws-chor@w3.org > February 2003

RE: Dubray paper comments + questions

From: Jean-Jacques Dubray <jjd@eigner.com>
Date: Wed, 26 Feb 2003 17:11:45 -0500
To: "'Assaf Arkin'" <arkin@intalio.com>, "'Jean-Jacques Dubray'" <jjd@eigner.com>, "'bhaugen'" <linkage@interaccess.com>, <public-ws-chor@w3.org>
Message-ID: <00eb01c2dde4$2022aaa0$0502a8c0@JJD>


>>I do assume that we're talking about long-running behavior all along
which
>>explains a lot of the complexity of the spec.
[JJ] yes, ;-)

If you consider a model (as in Model-View-Controller). You can typically
do CRUD operations on the model (e.g. insert PO) that I do not consider
long-running and then there are other operations such as "process PO"
that can exhibit a long-running behavior (that I define as cannot meet
the ACID requirements, right or wrong). Typically a Process PO operation
involves talking to the billing component and invoking the insert PO it
if passes the validation rules (could also need approval from a human),
once all this is done, then and only then the ACK_PO can be generated.

I typically view BPEL/BPML as ideal candidate to do this work and
products like Collaxa are a perfect example of a development environment
that greatly facilitate the development of this part of the model. I
would also content that anywhere from 20 to 50% of model-oriented logic
is developed under these principles. 

Does that make the concept more clear?

Of course this is also web service choreography but from a very
"centric" perspective. I am the component and I describe my behavior
from my point of view. Then you have the ether between components and
partners which in my opinion obey different rules (could be proven
wrong) in terms of web service choreography.

JJ-

>>
>>In a long-running behavior you would have complex flows that are
chained
>>to
>>each other. You can capture a simple flow with something like a
sequence,
>>but that doesn't extend well. You will probably want to break the
complex
>>flow into smaller flows and chain them together, which is where we
>>introduce
>>spawn and call*.
>>
>>In a long-running behavior you would also have flows that repeat
multiple
>>times within some state and that may be subject to how many messages
are
>>exchanged (or in reverse, capture the message exchange), which
explains
>>the
>>need for nested processes.
>>
>>And of course you need to address the time issue, whether you want to
>>express a minimal passage of time (e.g. delay) or put a time
constraint on
>>the completion of a flow (e.g. onTimeout).
>>
>>And probably some other requirements. Anything specific?
>>
>>arkin
>>
>>* The notion of recursive composition which is captured in this way
and
>>also
>>with nested processes is very interesting, since it allows you to draw
>>conclusions about a fine grained entities, then about a composition
>>including multiple entities, and a composition including multiple
>>compositions, and so forth. Seeing how formal process models do it,
we've
>>structured the language in a similar manner to allow the same form of
>>recursive composition/analysis.
>>
>>
>>>
>>> JJ-
>>>
>>>
>>>
>>>
>>>
Received on Wednesday, 26 February 2003 17:17:02 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:29:54 UTC