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: RE: [ebxml-bp] Clarification - FORK and BusinessTransaction


Responses in-line.

-----Original Message-----
From: Anders W. Tell [mailto:anderst@toolsmiths.se] 
Sent: Friday, May 14, 2004 1:31 PM
To: BPSS ebXML
Subject: Re: [ebxml-bp] Clarification - FORK and BusinessTransaction


Sorry guys , Im in a why mood today;)

Dale Moberg wrote:

>A lot of this functionality is not yet needed for designs, and possibly

>never will find a niche. But we do need to allow RequestResponse BTs 
>where, after the Request, but before the Response, there is another 
>Transaction. The refactor part 2 certainly allows this and builds on 
>the ideas of onInitiation in earlier drafts.
>  
>

Could you elaborate on why there is a need for more levels? Why not 
break the transaction into two transaction, one for request and one for 
response?

Dale> The RequestResponse unit-of-work that is a BusinessTransaction is
supposed to be a unit of work, between parties. I prefer "unit" to
"atom" because apparently there are misleading connotations of "atom"
It is something supposedly documented from a legal standpoint by
UNCITRAL. 

Haugen and Fletcher apparently posed questions about business process
involving numerous transactions, not done one after the other, but
rather ones wherein between the Request and the Response, other
transactions with other parties occurred. That seems to be a possible
class of cases to me. It has been represented before and I am simply
refactoring syntax in a way that seems to recognize that interpolating
BTs between stages of another process is useful to represent.

These have been called "nested" or "embedded" and so on. For monitoring
and verification, a verifier needs to know that after the Request,
another Transaction needs to be monitored, and its status assessed,
before it then proceeds to verify the status for the original
Transaction. This maintenance of tracking is facilitated by
syntactically showing somehow that one transaction depends on another in
a way that is distinct from the syntactic markers that indicate one
follows the other. There might be many ways to invent syntax to show
this dependency. I am trying to stick to one that is not too distant
from what was available when I came in.

It would be technically possible, perhaps, to have a Notification
followed by a Notification. However, the semantic state primitives of
BPSS have been the BTAs (each related to a BT). I have not sought to
overturn that form of representation, because that is what supposedly
represented the unit of work of UNCITRAL, and I chose to make those
choices work within a notation for process, regarded as a state
transition graph over the chosen states. 

Your query then, should probably be redirected to UNCITRAL, and why they
have chosen a RequestResponse, when they could have had two
Notifications. I assume they would say they had different commitments
reflected, and it was not appropriate to analyze in that fashion. I am
sure you can tell us in some detail how those commitments differ.

For my own part, I am presently looking for a notation that allows a
computational task to be performed. This task is checking on document
flows, statuses, timers, etc, and then transitioning in accordance with
the events that have occurred to the next relevant state(s). This is not
to say that I am indifferent to all the legal nuances, but it does
reflect thinking about the OASIS requirement that at least 3 companies
can testify to satisfactory use of the specification. These will be
software vendors, mainly, because they will need to use that the schema
is workable. 

Many levels of interest need to be satisfied in getting a specification
done. The business semantics, such as they are, are found in the QOS
attributes and the flavors of BTs. Monitoring and verification also need
to be possible. Graphical display needs to be possible. Aligning with
CPPA needs to be possible. And so on.


>We need to establish that atomicity is compatible with subtransactions.
>  
>

Could you elaborate on why this is need? 

Dale> See above for a start.

Could you elaborate on your definition of atomicity?

Dale> This was not my choice of words but John's. I will let him explain
what he meant. You now make me think he wasn't necessarily thinking of
completes as a whole or not (though I personally think that is involved)
Certainly other parts of ACID are not here under discussion. I think
that he is thinking of a unit of business collaboration in which state
alignment is attained with respect to some underlying business agreement
(PO, POConfirm). I am not a theorist of such items so I defer to those
who wish to define what constitutes the Unit, and what is the "essence"
common to the UNCITRAL named items.


>We may wish to have some WF rules for UNCITRAL forms that mandate 
>certain interfaces of superordinate BT with subordinate BT. We should 
>definitely allow some time Monday to discuss atomicity and 
>subtransaction, if you are able to be on the call.
>  
>
Could you elaborate on why there is a need for more levels? Why not use 
what we have?

Dale> We are using the levels we have. This just rewrites what was
already present in "onInitiation" as far as I can tell. You could get
multilevels with onInitiation if you chained together a whole lot of
Transitions with the onInitiation attribute set. I think it is cleaner
to give this importantly different item a different name, and start to
analyze the "glue" that makes up the dependency (see Returns). It might
also be possible to refactor CollaborationActivity to cover this case. I
took a hint from UML Activity model which thought it worthwhile to
distinguish SubMachineState from Composite (and Simple) as kinds of
State. Since CollaborationActivity packages up BinaryCollaborations as
"states," it seemed more like a SubMachineState than a Composite. But I
am flexible as long as we at least start to introduce a notation that
permits subordination (so that eventually (v 3.0 or so) we can relate
BPSS to other problems such as Coordination and Transaction/Coherence).
And in the meantime, we have a notation that is more explicit (and not
so ingeniously subtle) as the one we have had. [Afterthought: it might
be better to think of "level" here as more like a new swim lane (where
swim lanes correspond to partner pairs.)] 

Hope that helps. If there is something radically new in what I did, then
the refactoring is probably not working correctly. So please raise your
concerns on the next couple of calls to see that they are properly
addressed and at the right level :-)

/anders

-- 
/////////////////////////////////////
/ Business Collaboration Toolsmiths /
/ website: <www.toolsmiths.se>      /
/ email: <anderst@toolsmiths.se>    /
/ phone:  +46 8 562 262 30          /
/ mobile: +46 70 546 66 03          /
/////////////////////////////////////





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