RE: interposition requirements

From
Mark Potts <>
Date
2001-04-30T19:05:57+00:00
ID
00c201c0d1a8$ea9247e0$
Thread
RE: interposition requirements
Mark 
(1)

 

I 
agree with most of the mail and as long as we can agree that the subcordinator 
has the ability to either propagate its own coordinator, and thus hide the 
subsequent invocations, or the root then I think this gives the most 
flexibility. I agree with your comments on performance with regard to the 
intranet example but in a private trusted federation of services then 
registration back to the root from all participants in the chain is appropriate, 
and even registration to a separate transaction coordination service for the 
federation of services. It also means that performance is better and the latency 
that will be evident in "walking the tree" will avoid the possibility of failure 
scenarios corrupting the coordination of the termination.

 

Mark 
(2)

  
-----Original Message-----
From: Mark Little 
  [mailto:]
Sent: Monday, April 30, 2001 4:28 
  AM
To: bt models
Subject: interposition 
  requirements

  
I've been talking to Jim Webber and Savas P. who attended last weeks 
  face-to-face. From their notes, and from little I could hear on the 
  teleconference, it would appear that there was some discussion about 
  sub-participant registration. In this email I'll term the web services that a 
  client interacts with directly the root-participants, and any web service that 
  those services talk to the sub-participants.

  
 

  
Now, a root participant receives a context it must be BTP-aware (and I 
  think we agreed on this at the meeting). Therefore, at some point in its life 
  it will register with the coordinator as a root-participant that can be driven 
  during the termination protocol. If during the course of an application 
  invocation a root participant needs to contact another BTP-aware service, the 
  question is, where does the sub-participant register?

  
 

  
In a traditional TP environment, if all participants had to register with 
  the root coordinator then performance would typically be in the drain, 
  especially if one node has lots of participants. Therefore, the typical way to 
  get round this is to use interposition, whereby a proxy for the transaction 
  manager (a sub-coordinator) is registered with the root, and local 
  participants register with the sub-coordinator. The advantage to performance 
  is obvious. However, interposition is not mandated, and a participant that 
  wants to register back with the root coordinator is (usually) free to do 
  so.

  
 

  
So, do we want something like this in BTP? From what I've heard, the 
  answer was no. I disagree with this for several reasons:

  
 

  
(i) performance: see above.

  
 

  
(ii) trust: the root coordinator may only trust requests (e.g., 
  registration) from the root services.

  
 

  
(iii) connectivity: there may be no direct route to the root coordinator 
  for the sub-participants, e.g., an intranet with only a few external ip 
  addresses, but which has lots of internal web services.

  
 

  
What I would suggest is that we allow interposition, such that if a 
  sub-participant receives a context, it is up to the service that sent it 
  whether or not it wants to modify the context to point to a sub-coordinator 
  and not directly back to the root coordinator. The sub-coordinator piece to 
  this puzzle is not web service specific, so we're not putting a burden on the 
  application developer; it's something that can be developed once for all 
  time.

  
 

  
Mark.

  
 

  
----------------------------------------------
Dr. Mark Little ()
Transactions Architect, 
  HP Arjuna Labs
Phone +44 191 2064538
Fax   +44 191 
  2064203