OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-bp message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: #0036 Monitoring for ebBP-Provide Boundaries


This meesage is an initial high-level response to 
Description: Monitoring for ebBP-Provide Boundaries
Owner: Dale Moberg (dmoberg@cyclonecommerce.com)
Due: 15 May 2004

Comments:
Monica Martin  2004-05-02 21:57 GMT
Action item for Cyclone Commerce developers to provide inputs
on what could be required of ebBP in order to support monitoring usage
of BPSS. 

Provide gap analysis.


Let me begin by mentioning the following text that is in a working draft
for 2.0:

>> The ebXML collaboration semantics contain a number of relationships 
>> between multiparty collaborations and binary collaborations, between 
>> recursive layers of binary collaborations, and choreographies among 
>> transactions in binary collaborations. It is anticipated that over 
>> time BSI software will evolve to the point of monitoring and managing

>> the state of a collaboration, similar to the way a BSI today is 
>> expected to manage the state of a transaction. For the immediate 
>> future, such capabilities are not expected and not required.


I understand the task of "monitoring a business process" to involve the
following very high level subtasks:

1. To be able to correlate many distinct acts of document transmission
to a single business process session. For BPSS, these document
transmissions are requests, responses, and signals and possibly wsdl
defined service invocations. 
2. To associate the session phases identified in subtask 1 with a BP
description.
3. To establish either that the session conformed with the associated BP
description or that it failed to conform in some specifiable way( a
timeout occurred without an associated exception signal, for example).
4. The information used to establish the acts of document transmission
may be insufficient or unavailable, especially with multiparty
collaborations. Nevertheless, a participant can establish conformance of
the process in so far as it is "visible".

Of these tasks, the most important is that BPSS provide documentation of
the business process sufficiently precise and detailed so that
conformance or nonconformance is recognizable. For ebXML there are a
couple of aspects to the detail/precision level.

1. Roles enable a monitoring POV to establish its responsibilities in
the business process. (That is, will it send or receive a request? What
timeouts govern its responses? What signals is it expected to send? Is
there an order in which signals and responses must occur? And so on. A
large number of these matters are already specified. We have done
considerable work ensuring that Roles can be mapped to Parties within a
CPA, and that provides details about what documents will flow under what
conditions. The CPA permits associating sessions with BPSS defined
processes, we will asssume. 

2. As the initial excerpt indicates, the BSI today is expected to manage
the state of the BusinessTransactions. What is not yet sufficiently
clear are some details connected with managing several choreography
level transitions:
a. The transition element when it involves the "onInitiation" attribute
as true. How does the outcome of the subordinate BT's "return" relate to
status of the superordinate BT?  There doesn't need to be a fixed
semantic here, but there does need to be a place that specifies a range
of policies IMO.
b. The CollaborationActivity element has completion states. How does
entering these states relate to the completion state of the BC that
contains the CollaborationActivity? This is somewhat similar to point a.
c. MultipartyCollaboration involving CollaborationActivity. Do we define
a completion state for these? [It might not be always "knowable" by one
party if that party is restricted just to information that passes
through its document flows, but there may be auxiliary sources of info
that allow this information to be acquired.]

There are also Choreography "gaps" that are puzzling. Part of these gaps
may just reflect the fact that we allow a schema valid BPSS to have
unreachable states and to have noncompletion states not having any
transition defined. Some of this may be sorted out and become clear by
adding warnings (in the form of well-formedness constraints) that
document unreachable or hung conditions.

But other features may reflect a need for more information being
supplied to the designer.
For example, if I use a transition for subordination, how do I
choreograph the next state(s) reachable? Do I need additional
Transitions (or something with an incoming link) to link to the
onInitiation=true transition? That seems like a funny notation
implication. Also, as I mentioned at the f2f, the Decision, Fork, and
Join constructs (assuming we continue to use them) can be clarified by
adding explicit descriptions of Links to the incoming and/or outgoing
states. Otherwise their use in choreography is underspecified IMO.

So the gaps seem to me to be mainly ones of underspecification and
incompleteness rather than having something there that is wrong. There
does seem, on occasion, to be stuff that is not being used that confuses
the current picture. These are attributes like "preCondition"
"postCondition" "beginsWhen" and "endsWhen" that just add clutter. They
should be moved to a "future directions" section because we already have
a documentation element for documentation. [The spec currently says
these attributes are not defined but can be used for documentation and
may be given a semantic later. That means that transforms for converting
BPSS instances > 3.x should delete these attributes when up versioning.
Why bother even putting all this clutter in at the 2.0 level?]


So here are some of the high-level gaps relevant to defining how a
process should go for the monitoring task to utilize: 

Specify how onInitiation and CA "compose" (how their "return"
values/status (completion states and their guard conditions) or pertains
to subsequent state transition, most critically.)

Clean up the activity-diagram-like constructs with respect to linkage
and ConditionExpressions (what I was starting in 

Add the role binding "Performs" construct as needed (where jumps to new
role contexts possible) and explain the default semantics and cases
where a new Role "pops up")

Add WF constraints explaining about unreachable BTA states or writing
flows ending up stuck in a non-completion state. [This will help people
build a BPSS parser/interpreter that knows when a "bad" instance is
encountered. I take the BPSS interpreter to be building up some internal
labeled state transition diagram that can be used in monitoring. ]









 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]