Mark,
One thing I forgot to include in my original
reply. There are two places that BTP might be used. To
coordinate calls among disparate, external web services and to coordinate
calls to XML based services within an organizational boundry.
The registration of sub-participants with the root coordinator was being
proposed as an optimization for the latter.
If all Web Services are within the same domain (e.g., on the same LAN),
then there's no performance advantage, but I don't think there's much of a
performance disadvantage either in this world of modern, multi-threaded
operating systems. In addition, if multiple services happen to be co-located
on the same node as a subordinate coordinator then intra-node communication is
typically short-cut by the OS so that it doesn't go anywhere near the network.
(BTW, I'm assuming that a single organizational boundary is connected only be
a fast LAN, otherwise the communication performance argument comes back
in.)
However, in the arena of a single organizational boundary I'd still say
that the separation of concerns, and isolation of business logic is important:
why should the root coordinator know about sub-participants? That's
implementation specific. Even within an organizational boundary, one
department may not trust all of the Web Services from another, and may not
want root coordination information to be propagated around the
organization.
I would prefer us to keep things simple and have interposition as the
default, and if an application wants to register a service directly with the
root, then it can do it at the application level.
Cheers,
Mark.
-----------------------------------------------------------------------
SENDER
: Dr. Mark Little, Architect (Transactions), HP Arjuna Labs
PHONE :
+44 191 206 4538, FAX : +44 207 670 1964
EMAIL :
mark@arjuna.com