Re: Header/Details Considered Harmful

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 UTC