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

 


Help: OASIS Mailing Lists Help | MarkMail Help

bt-spec message

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


Subject: Re: [bt-spec] addresses and identification


> Is this how your proposal works:
>   in a relationhsip where there were multiple URIs on the CONTEXT, the URI
> on (in the payload of) PREPARE (for example) *must* be the one used for
> sending the PREPARE.

Not necessarily. As long as it identifies the specific transaction then it
could be something entirely different looking.

> > Complicated but not impossible. It's a standard issue in distributed
> > systems. I can pass you lots of references to how it can be
accomplished.
>
> I and my colleagues know perfectly well how to implement it.

Glad to hear that.

> Baroque
> specification, with the effort involved in specifying, and then
> understanding and building a baroque implementation is worth it if there
is
> significant benefit.

Sorry, but it need not be baroque. That would have to be a design choice you
make.

> The multiple matching was one of the main vices of the old approach, but
it
> could be done. And if it has to be done, it can be. But if you start
> redirecting, things can get next to impossible - entity starts out with
URIs
> A and B; then migrates so new URIs are C and D. Sends a "pro-active"
> REDIRECT, announcing this, but that gets lost. Then it sends a message,
> identifying itself as C. That arrives where it is still known as only A
and
> B. The message is thought to be junk (protocol error) and discarded. This
> gets even worse if the second message is another REDIRECT - it's now at E
> and F !

True, but that is assuming a) you do not ensure the migration protocol is
complete and avoids this(!), b) the URIs do not contain sufficient
information to allow determination of past identity, and c) that BTP should
be responsible for this. The latter one is probably the most important: just
as BTP should not be a protocol bridge it should not be attempting to solve
all of the worlds distributed system woes! It's a transaction protocol that
lives in a distributed environment and works with (hopefully) other services
and functionality provided by other components in that distributed system.
It is *not* THE distributed system. Being protocol agnostic does not mean
that we should be incorporating support for the lowest common denominator
(e.g., "I know that protocol X doesn't support functionality Y that we may
need Z% of the time so we must provide support for it in BTP.) If we go that
route then we will be building our own distributed system architecture
around BTP and eventually the only recourse would be to start at the bottom
up.

>
> (analogy: you get a Christmas card from "Tom and Lucy Smith", names you
have
> never heard of. This is because when you knew her, she was Miss Lucy
Jones,
> and she's got married (low-key wedding :-). If she doesn't identify
herself
> by some unchanging identifier, you're not going to be able to sort it out.
> (obviously lots of ways humans do that).

Yes, but if she'd written her maiden name on the card too I'd have known
immediately.

> Surely, this is the same in both cases (and a security matter anyway) -
it's
> completely irrelevant to the issue. We have assumed we aren't dealing with
> malicious parties.

No it is not irrelevant. What I'm saying is that if an entity has three
addresses (URIs) that it wants to publish so that it can be contacted for
transaction 1234 then it had better be able to match up the incoming URI
with the transaction. This then becomes an end-point resolution problem and
nothing to do with BTP or the binding protocol.

> At least if there is a separate unchanging identifier, one can say "this
is
> a message for the person whose National Insurance number is BG 63 59 K",
> regardless of what address or "local name" the person is using.

However, in some environments/applications I may not be able to guarantee
that I can get the same id in multiple places. Have you ever tried to get
email addresses on yahoo, AOL and freeserve, for example? It's an iterative
process to get something you can live with - you'll probably never get the
name you want on all three. But they do point to you.

> (just to check: we are both talking about having the multiples only on
what
> Doug called the "initial"  messages, aren't we?  )

Sorry, can't remember what the "initial" messages meant.

> of course the identifier must be known at the addresses given for it -
> that's why they were given with it, on the initial message (or a
subsequent
> redirect)

Correct.

> The apparent gain from your approach seems very slight, especially because
> of the lock-step needed between the URI scheme and the carrier binding.
> Given the possibility of multiple bindings (may be just versions of the
same
> protocol, may be alternatives), under either scheme, inspection of each of
> the <whatever holds the addressing information> held for a remote entity
> must distinguish which protocol it belongs to.

And it could certainly do so with a URI. I know the difference between
ftp:// and http:// for example.

> So, for any specified binding
> (whether standard or proprietary), there must a specified characteristic
of
> the <whatever> that means, when such a <whatever> is used to get the btp
> addressing, that is the binding to be used.   The existing scheme (not
> altered by our proposal) handles that with the binding name, which for
> non-standard bindings is a URN (and an unambiguous string for standard
> bindings).
>
> On your scheme, it has to be in the URI itself. It could be a new scheme
> specific to each binding - e.g.
>    btp-soap-http-1:...
> (
> or the registration of new ones could be delegated:
>    btp:soap-http-1:...
>
> but I'm not sure how well that would go down generally.

This is correct.

>
> My discussion with Jim towards the end of the meeting yesterday included
> that if you want it to be
>    http:// ...
> then that can be used only one BTP binding in all of history.

That is true if no additional information were present in the URI.

> So if we say
> that BTP URIs for soap-http-1 binding are http:, then soap-http-2 has got
to
> use something different.

Correct, which means you wouldn't do it that way, i.e., I'd expect something
like soap-http-1:// and soap-http-2://

> As was said yesterday, using pre-existing URI
> schemes also can be problematic if there are bits of identifying
information
> that are not going to used by the carrier protocol (i.e. must be ignored
in
> the addressing use).

Don't see why it's problematic. If I don't need it I'll just ignore it.

> I can see that it might seem rather tiresome to send, as an address field
> something that is in fact a globally unambiguous name for the entity in
> question, and this is also being sent as the identifier. But trying to
> overload the identifier field with all the addressing implications doesn't
> seem to work in the generality. A BTP address can't neatly be just a URI
> that is a URL for the carrier. You need the binding name and the
additional
> information  as well.

Again correct, but as I have shown above that is not an insurmountable
problem. Any information that is available in your proposed scheme can be
made available in our scheme. We are not arguing about losing information or
making it harder to understand.

Going back to our last proposal, which I don't think you've actually
addressed: what is wrong with allowing both such that if the
address-identifier URI is not of a specific format (defined by the
carrier-binding) then it must only be interpreted as an identifier and
additional addressing information must be present? And in any message you
cannot mix and match.

Mark.

-----------------------------------------------------------------------
SENDER : Dr. Mark Little, Architect (Transactions), HP Arjuna Labs
PHONE  : +44 191 206 4538, FAX : +44 191 206 4203
EMAIL  : mark@arjuna.com | mark_little@hp.com




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


Powered by eList eXpress LLC