The anonymous address considered as an address

For a while I've been arguing that, like "none", the anonymous address
is a behavioral cue rather than the address of some endpoint.  In
particular, I've argued that it should mean "use the request-response MEP."

However, the new SOAP/XMPP (Jabber) binding and some recent discussion
on the XMLP list suggest that this is not quite the whole story.

XMPP provides both an essentially request-response mechanism (<iq/>) and
an essentially one-way mechanism (<message/>).  However, both natively
include analogs of [source] and [destination].  This means that, while
<message/> doesn't natively support request-response in the sense that I
know for sure that either there was an error or the server got the
request and produced a response, it /does/ support anonymous addressing
as we've come to understand it.

In particular, it would make perfect sense to send a <message/> as part
of a WSDL in-out MEP and have the [reply endpoint] be anonymous (or,
erm, missing entirely as Umit points out).  This would mean "send the
reply back asynchronously to the sender", and since the sender's address
is a required part of a <message/> stanza, this would always be
well-defined.  The only difference between this and the <iq/> version --
and it's a crucial difference -- would be that the sender can't expect
an error to come back if, say, the server falls over.

However, there is /no/ difference from an /addressing/ point of view,
and at the end of the day, we are specifying /addressing/ mechanisms for
use in asynchronous interactions, not the asynchronous interactions
themselves.

>From this point of view the native request-response case, despite its
ubiquity, is once again the odd one out.

One possible reconciliation is to go back to "return to sender" semantics:

    * Anonymous means "return to sender"
    * "Return to sender" in the context of SOAP request-response means
      "use the response part of the request-response"
    * "Return to sender" in cases like XMPP means "use the native 'from'
      address"
    * If neither is available, then don't use anonymous.

Received on Tuesday, 17 January 2006 16:46:31 UTC