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

 


Help: OASIS Mailing Lists Help | MarkMail Help

business-transaction message

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


Subject: Application versus protocol "finish work"


Mark, Savas:

I think we may be converging, but along rather tortuous routes.

First of all, can I lay out what I think your "application marker"
counter-proposal correctly is:

Assume that *FINISH* is the app marker. Assume there is no box-carring. Assume
that there is an intermediary or interceptor for adding CONTEXT, called INT(I)
for the initiator side.

I -- *REQ* + *FINISH* -- INT(I)
INT(I) -- *REQ* + *FINISH* + CONTEXT -- S
S -- ENROL -- C
C -- ENROLLED -- S
S -- PREPARE -- P [or some backdoor to say <prepare>]
P -- VOTE -- C
S -- *RESP* -- I
I -- <prepare> -- C
C -- <outcome> -- I

Minimum of 5 network messages if we assume that I and C are on one node of the
network and S and P are on a second. (Obviously this assumption could be
relaxed).

Now introduce boxcarring., which uses the INT(I) and also INT(S) for the service
side.

I -- *REQ* + *FINISH* -- INT(I)
INT(I) -- *REQ* + *FINISH* + CONTEXT -- S
S -- ENROLL -- INT(S)
S -- PREPARE -- P [or some backdoor to say <prepare>]
P -- VOTE -- INT(S)
S -- *RESP* -- INT(S)
INT(S) -- *RESP* + ENROLL + VOTE -- INT(I)
INT(I) -- *RESP*  -- I
INT(I) -- ENROLL + VOTE -- C
I -- <prepare> -- C
C -- <outcome> -- I

Minimum of 2 network messages.

Without boxcarring you go from 6 to 5 net messages; with boxcarring you go from
6 to 2 messages.

[
Further benefit would be obtained by boxcarring if there is more than one
participant involved, so long as you allow indefinite boxcarring.

E.g INT(I) -- *RESP* + ENROLL(Pa) + VOTE(Pa) + ENROLL(Pb) + VOTE(Pb) -- INT(S)
]

If we understand your proposal correctly, the application marker *FINISH* allows
the service to use its application understanding to deliver "prepare" either
through an interoperable PREPARE message, or through a proprietary API, to all
the participants that it knows are finished work on behalf of the BT referred to
by the CONTEXT.

Is this correct?

If this is correct, two comments

1) The initiator has sent an app message, without reference to the coordinator,
which causes "prepare" to be delivered to some set of participants, defined only
by the service. This happens prior to any attempt to deliver prepare to other
"branches" of this BT, which would result from the initiator prodding the
coordinator.

Given all you have said about who delivers prepare, are you happy with this
consequence?

We see no particular problem; we also agree that the application marker gives
more flexibility, because the service decides which participants are involved in
the mini-prepare, and there is no requirement for the spec to deal with
service-participant relationships. This obviously gets rid of the extra message
"PERMISSION_TO_VOTE" or the like.

2) The interceptor is required for implicit propagation of the CONTEXT. It is
much more efficient to reuse it for boxcarring than not to allow boxcarring. Do
you agree?

If you agree with 1) and 2), then what we want (the efficient one-shot) can be
achieved.

Alastair & Peter




begin:vcard 
n:Green;Alastair
tel;cell:+44 795 841 2107
tel;fax:+44 207 670 1785
tel;work:+44 207 670 1780
x-mozilla-html:FALSE
url:www.choreology.com
org:Choreology Ltd
version:2.1
email;internet:alastair.green@choreology.com
title:Managing Director
adr;quoted-printable:;;13 Austin Friars=0D=0A;London;;EC2N 2JX;
fn:Alastair Green
end:vcard


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


Powered by eList eXpress LLC