W3C home > Mailing lists > Public > xml-dist-app@w3.org > September 2001

Re: Header/Details Considered Harmful

From: Steve Vinoski <vinoski@iona.com>
Date: Mon, 24 Sep 2001 17:52:27 -0400
Message-Id: <4.3.2.7.2.20010924174647.00df3c40@mail.boston.amer.iona.com>
To: "Jones, Matthew" <MJones@NetSilicon.com>
Cc: <xml-dist-app@w3.org>
At 01:59 PM 9/24/01 -0700, Jones, Matthew wrote:
>3.  At least for an RPC use case I can't image why we would need header.
>Isn't the purpose of RPC just to expose a function prototype, isn't the
>Header just going to add environment that just clouds the
>implementation.  The example in the SOAP specification seems to be about
>making the call part of a transaction, wouldn't a more straight forward
>implementation have a call to initialize a transaction and return a
>handle and then pass that handle into the subsequent calls.

There are generally two ways to pass transaction IDs around in an RPC 
system: 1) declare an explicit parameter for the ID for every remote 
procedure you want to invoke within a transaction, or 2) pass the ID 
implicitly, such as in a header. The distributed system community already 
knows approach 1 is not workable for anything except tiny systems where all 
participants are completely designed, written, and maintained by a single 
party. It requires even intermediaries to be recoded to explicitly pass 
transaction IDs along. Approach 1 does not scale. Approach 2, OTOH, has 
been proven to work extremely well in practice, allowing even 
transaction-unaware applications to participate in distributed transactions.

--steve

======================================================
Steve Vinoski                      vinoski at iona.com
Chief Architect & Vice President Platform Technologies
IONA Technologies, Inc.          Waltham, MA USA 02451
200 West St.        http://www.iona.com/hyplan/vinoski/
Received on Monday, 24 September 2001 17:52:16 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:59:03 GMT