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


Help: OASIS Mailing Lists Help | MarkMail Help

business-transaction-comment message

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

Subject: Re: [business-transaction-comment] Public Comment

To answer this question we have to tackle it from two aspects: technical and

Let's look at the technical first. Firstly, it's wrong to say that two-phase
(2PC) commit was not widespread until XA came on the scene. 2PC has been
around since the 1960s and was in widespread use on mainframe platforms long
before XA. Take a look at the historical records on CICS, ACMS and IMS as
examples. What XA did was standardize the interaction protocols and this was
very important. However, the evolution of XA was driven by vendors (of
transaction systems and databases) and users, who required the ability to
interact with different vendor implementations (predominately
databases/resource managers).

Unfortunately, only certain aspects of the X/Open XA specifications actually
got widespread adoption. For example, X/Open standardized on the OSI TP
(including XA+) but this didn't really take off. So in many cases
distributed transaction interoperability has remained a goal.

BTP is unfortunately not the best protocol or technical committee in which
to look at standarization for Web services transactions. From a technical
perspective, the protocol was a good first attempt at this, but it suffers
from over complexity and lack of support from any of the major players in
this space. You need to understand that the vast majority of the WS-CAF
consortium were involved with BTP, many from the outset. Some of us even
have implementations. However, based on experiences with these
implementations and talking to customers, it became apparent that BTP was
not appropriate for the uses to which people wanted to put it.

Let's look soley at the domain that both the original WS-CAF consortium and
IBM/BEA/Microsoft came from: Web services. Both sets of specifications
define multiple protocols (3 for WS-CAF and 2 for WS-T), built on a generic
coordination service, which, in the case of WS-CAF, is built on a context
service. Each of these protocols has been designed to be useable for a
specific set of use cases (e.g., ACID transaction interoperability, or long
running compensation based interactions).

There has been a deliberate attempt not to define a single protocol that
tries to satisfy all user requirements, simply because that doesn't work and
certainly doesn't scale. Both WS-T and WS-TXM (the transaction part of
WS-CAF) have essentially taken the micro-kernel approach. Back in the late
1980's we had what were subsequently dubbed macro-kernels that were bloated
operating systems trying to provide services for every possible use case,
even when most use cases probably weren't applicable to 80% of users. The
result was massive memory utilization and degredation in performance. The
early 1990's saw the evolution of micro-kernels where the core kernel
service was very small and additional functionality could be added
dynamically as and when required. The aim was to allow a kernel to be
customizable on a per deployment basis. The advantages to this approach are

The designers of WS-T and WS-TXM believe that this is the right approach for
Web services transactions too. No one protocol can be applicable to all use
cases and we shouldn't attempt to design such a thing based on our current
limited knowledge of how transactions will be deployed in the evolving Web
service arena.

It has been said that BTP is a two-phase completion protocol and that most
of the protocols in WS-T and WS-TXM can be mapped onto a two-phase protocol
as well. However, this glosses over an important point. Although you could
implement WS-T and WS-TXM using a sufficiently flexible two-phase commit
engine, this is purely an implementation choice. In some of the protocols,
the first phase or second phase might be a null-op, for example. So, if you
were to design an implementation of these protocols from scratch would you
really do that by implementing a two-phase engine first and then casting
aside portions of that engine simply because they don't need to be there for
some protocols? Probably not. But again, that's an implementation choice.

BTP is fine for some use cases, but for others it requires extensions or
additional functional and agreements outside the scope of the current
protocol. This is in no way meant to imply that it is an invalid protocol
and we in WS-CAF have always believed that as a protocol BTP should be able
to fit into WS-TXM. What this is meant to say is that BTP as a unifying glue
for all Web services transactions requirements is not the solution - and
there is no single solution.

Now for the political aspects. What all of this comes down to is that X/Open
and XA aren't exactly the best analogies to make. From a high-level
perspective it may seem like they united the world of distributed
transaction processing, but in reality they didn't. In order to accomplish
such a goal you need the backing of all of the major players in this area.

For technical reasons, the WS-CAF consortium was founded outside of BTP. We
have tried very hard to work with IBM/Microsoft/BEA to get them to work
within WS-CAF and donate WS-C/T. However, although we are more than willing
to work in an open standards process, at the moment they are not. That makes
it very difficult to come up with a single solution that will unite the

We therefore have only two solutions: wait until IBM/Microsoft/BEA are ready
to play in the standards world (which could be a long time), or progress
things in the way that we think is right.

Obviously waiting for IBM etc. to make up their minds about standards is not
going to happen. It doesn't benefit anyone: vendors or customers. So that
leaves the second option.

WS-CAF is technically as proficient in solving current real-world use cases
as WS-C/T from IBM/Microsoft/BEA. We know this from talking to our customers
on what their requirements are and from conversations with others in the

BTP does not make sense as an umbrella standard since it has not succeeded
and is not widely implemented (certainly not by the major vendors). The same
could be said about WS-CAF excepting the fact that WS-CAF is designed
explicitly for us with Web services (BTP is not) and also is designed to
work with BTP, WS-T, WS-BPEL etc.

So, WS-CAF is the answer because it was designed for the problem. If you
were to take BTP as the starting point, you'd be going the opposite way,
trying to influence everyone to adopt a single solution rather than a
framework designed to encompass multiple models, which is what Web services
ultimately needs (since a Web service can wrap anything).

How WS-CAF interacts with WS-C/T will only become apparent when/if IBM etc.
donates these protocols to some standards body. Until then, multiple
specifications are an unfortunate fact of life. Even at this late stage, the
WS-C/T authors can become involved in WS-CAF and we still hope they will.

Mark Little & Eric Newcomer.

   -----Original Message-----
  From: Lublinsky,Boris S. [mailto:Boris.Lublinsky@cna.com]
  Sent: Wednesday, October 22, 2003 1:05 PM
  To: William Z Pope; Keith Swenson;
  Cc: OASIS BTTC (Main List)
  Subject: RE: [business-transaction-comment] Public Comment

  I agree with Bill,
  Historically the same was happening with the classical two phase-commit
protocol. Until industry adopted XA, two-phase was not wide spread. I see
the same thing happening in Web Services transactions, until the industry
will agree on a single protocol, we won't see a massive adoption of web
services transactions. And the fact that BPEL has effectively introduced its
own transactional model confirms this.

    From: William Z Pope [mailto:zpope@pobox.com]
    Sent: Wednesday, October 22, 2003 2:53 PM
    To: Keith Swenson; Lublinsky,Boris S.;
    Cc: OASIS BTTC (Main List)
    Subject: RE: [business-transaction-comment] Public Comment

    Boris' email complains about the proliferation of web services
transaction standards.  I have a
    hard time seeing yet another standard addressing the same thing in a
slightly different way as
    what he's looking for.  Can you describe how different protocols can be
mixed?  This seems
    like a way to institutionalize non-interoperability.

      -----Original Message-----
      From: Keith Swenson [mailto:KSwenson@fsw.fujitsu.com]
      Sent: Wednesday, October 22, 2003 12:00 PM
      To: boris.lublinsky@cna.com;
      Subject: RE: [business-transaction-comment] Public Comment

      WS-CAF (Composite Application Framework) is probably what you are
looking for.  WS-CAF has three layers, the offers a context, the second
offers coordination, and the top level transactions.  The framework is a
standard way to plug in different transaction model/protocols.  Both BTP and
WS-Transaction are cited in the spec as example transaction protocols that
can be used.  It is supposed to be possible to mix different protocols.

      Link to the OASIS TC:
      Cover Page: http://xml.coverpages.org/ni2003-09-18-a.html

      Keith D Swenson, kswenson@fsw.fujitsu.com
      Fujitsu Software Corporation
      3055 Orchard Dr.  San Jose, CA, 95134
      (408) 456-7667   mobile: (408) 859-1005

      -----Original Message-----
      From: comment-form@oasis-open.org [mailto:comment-form@oasis-open.org]
      Sent: Tuesday, October 21, 2003 10:17 AM
      To: business-transaction-comment@lists.oasis-open.org
      Subject: [business-transaction-comment] Public Comment

      Comment from: boris.lublinsky@cna.com

      Transaction processing for Web Services today suffers significantly
from proliferation of the Web Services transactions standards. Between BTP
and WS-transactions, there is a lot of similarities, but yet the standards
are different. What makes the situation even worse is the fact that the
leading web Services Business Process management standard - BPEL, introduces
yet another transactional model, which is not alligned with either BTP or
WS-Transactions. It would certainly make sense to try to merge all these
multiple standards together. It would also make sense to use BTP as an
umbrella standard, due to the fact that it seem to have the broadest
coverage and allows to express most of the semantics, that can be found in
other transaction protocols

      To unsubscribe from this list, send a post to
business-transaction-comment-unsubscribe@lists.oasis-open.org, or visit

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