- From: Doug Davis <dug@us.ibm.com>
- Date: Wed, 11 Oct 2006 08:53:19 -0400
- To: public-ws-addressing@w3.org
- Message-ID: <OF27A9A07E.1CED592B-ON85257204.0046A835-85257204.0046CBE4@us.ibm.com>
Sorry if this is a dup but I never saw it get sent out (while a later
message did) so I'm resending.
-Doug
__________________
(Been having trouble organizing my thoughts on this note, so forgive me if
its even more disjoint than normal :-), but I wanted to get the ideas out
there)
Following on to my previous note [1] on how the RManonURI is for identity,
just like addressable URIs, I wanted to bring up a couple of additional
scenarios/issues that I hope will help people's understanding of where
we're coming from on this.
First, and this relates to Marc's suggested use of the wsa:RelatesTo
header. Implicit in his proposal is the notion that all messages being
sent to the RManonURI are related to some previous message. This would be
akin to requiring all messages to http://www.cnn.com to be related to some
previous message - which obviously isn't always true. Let's look at a
specific example: take the case of a pub/sub system, where I wish to
receive notifications on Baseball, so I subscribe specifying the
appropriate info to get Baseball scores, and I pass in an RManonURI in the
notification EPR. Under Marc's proposal, I think, all notifications would
have a wsa:RelatesTo that pointed back to the subscribe request message.
Now, there are several problems with this... what if I ("I" being the
person sending the MakeConnection), wasn't actually the one who sent the
Subscribe() ? What if someone else subscribed on my behalf? This is a
common usage pattern. I don't have, nor should I have, the messageID of
the Subscribe. The only thing I know is "my" identity. This is similar to
the case I've mentioned before where the messages being sent are new
one-ways - where the EPR used by the client was obtained through some
non-request/response MEP. I like to think of this as the case of someone
handing the client a piece of paper with an EPR on it and says "send
message here". This works perfectly well in the async case and we're
trying to make sure it works in the sync case too (with the difference
being at the transport layer).
Another variant, a little related to the grouping thought I mentioned in
[1], is that the endpoint sending the MakeConnection isn't asking for a
particular message, or messages related to some previous message, its
asking for messages destined to a particular endpoint. This is
conceptually similar to an endpoint having a port available for anyone to
try to connect to it. Clearly, once the endpoint started to processing
the bytes from the wire it would need to filter-out and route the messages
appropriately, but in general having a port on the internet means anyone
can attempt to talk to it. MakeConnection attempts to simulate this
behavior by asking for _any_ message targeted to RManonURI of interest -
this means that the receiver of the MakeConnection is free to attempt to
send any message it believes is appropriate for that endpoint. Which is
exactly what it would be free to do in the async case. In both cases it
can attempt to send any message it wants - whether the other side accepts
it is a totally different issue - but it can be dealt with the same way.
Let's look at what this means by expanding the pub/sub scenario. Let's
say one day I decided that I'm not only interested in Baseball but also
interested in Football - so I subscribe again specifying Football. I now
have two subscriptions with this pub/sub engine. However, what if I used
the same RManonURI in both subscribes? No reason not to - I'm the same
endpoint. When the MakeConnection is sent to the pub/sub engine its
asking for _any_ message targeted to the RManon EPR - this means that its
possible for the pub/sub engine to return a notification message from
either subscription. Clearly an optimization but its shows how we're
trying to simulate the async world and, hopefully, reinforcing the idea
that the RManonURI should really be treated just like any other URI w.r.t.
things like identity, grouping or any other logic that may exist based on
the wsa:To value.
thanks
-Doug
[1]
http://lists.w3.org/Archives/Public/public-ws-addressing/2006Oct/0067.html
Received on Wednesday, 11 October 2006 12:53:35 UTC