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

 


Help: OASIS Mailing Lists Help | MarkMail Help

bt-models message

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


Subject: Comment on goals


Mark,

It's not clear to me that the protocol for "business transactions" needs
to be mentally or practically segregated from a protocol for ACID
transactions.

I would prefer an approach which seeks to_enable_ looser models, but
_retains, incorporates and supports_ as much of the well-understood
framework provided by conventional transactional protocols as possible.
This is less restrictive, and I think is also likely to be easier to
assimilate for implementors and users alike. It  would allow desirable
interoperability with existing resource managers and transaction
domains.

From a protocol perspective it seems very likely that the conventional,
well-understood 2PC exchanges can be used to enable any of the scenarios
or models so far discussed or entered into this TC's work.

The critical point here is that all the ACID properties are produced,
not by the protocol's message set or sequencing, but by the contractual
commitments of the actors (i.e. by cooperation of coordinators and
participants expressed in unanimous outcome determination by the
coordinator, and by the application of isolation and durability
properties by participants). If this is true, and a new protocol is
specified (as you suggest) in a way which does not constrain
implementations, then we will be able to produce a protocol which can
generate different meanings and effects by applying different contracts,
including the ACID contract.

In this scheme support for ACID is not privileged over other models, but
neither is it discriminated against. In my view, the customer or vendor
should choose which models they wish to use or support (and this is a
useful area for implementation variation). A final qualification: the
overall focus is clearly the "new arena", not the old one. If marrying
the two twists us into pretzels, then that won't be productive. I
suspect, however, in this case that simplicity will run hand-in-hand
with commonality.

I am making several assumptions, some of which are worth stating in this
very brief summary:

The first is that rollback is a special case of backward compensation.
i.e. that the distinction between compensation and rollback is, at a
useful level of abstraction, of no importance (and hinders a useful
generalization).

At a different level of abstraction the potential loss of atomic effect
(you may be able to tell that the failed action occurred), is of course
very important, but in this environment we precisely "want to" (are
forced to) deal with less complete consistency. (We have a "fragmented
consistency" requirement: there may be no single "consistency domain" in
multi-organizational or cross-departmental cohesions).

The second is that "cracking open" outcome determination (the result of
polling participants) is a key enabler. If the application (perhaps
assisted by some well-known pattern or style of outcome determination)
can apply an arbitrary outcome algorithm, then applications such as
"selection from quotes by price", _as well as_ "all or nothing", can be
accomplished readily.

The third is that the protocol message set and sequencing will probably
vary from that of other transactional domains (to the same kind of
extent that existing, conventional transactional domains have
variations) but can be effectively interoperable with them assuming the
usual bridging techniques are applied.

One area which therefore bears examination is: "is there a requirement
or use-case which mandates a transaction model that cannot be supported
using the 2PC scheme for polling readiness?"

Another area that requires special examination is nesting and
sub-transactions more generally. I'd like to get a chance to talk about
that somewhere in the agenda on Tuesday.

Yours,

Alastair




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


Powered by eList eXpress LLC