Lists Home |
Date Index |
"Simon St.Laurent" wrote:
> However, there does appear to be a fair amount of value in various forms
> of routing using the contents of these XML (or similar) messages,
> whether the activity takes place inside of a single program on a single
> computer (which I think most of us do regularly, and various proposals
> for namespace dispatching make that more explicit) or distributed across
> multiple systems with various intermediaries.
> While IP routing is (was) forced to be simple by the general notion that
> any node should be able to contact any node, I don't see any such demand
> in these cases. Limited numbers of processors will be involved in these
> service communities, and I suspect there's ample room for
> application-level routing of this kind.
Yes, but . . . to take a page from your own "keep the Web in web services"
admonition, Web 'routing' is an entirely different mechanism from the
routing of IP packets, though the one is implemented atop the other. IMHO it
is precisely because the SOAPers imagine the former as too much like the
latter that they are unable to use the strengths of the Web-as-the-Web, or
for that matter XML as XML. The WS-routing model apparently imagines
processing nodes constantly listening for messages of a particular sort.
When a suitable message is received, the node disposes of it by performing a
process which typically results in the transmission of a subsequent message,
either in reply to the transmitter of the first message or to trigger a
further downstream process. Such routing is well suited to be based on IP
numbers: the entirety of the problem is to get the message to a correct
network address. In other words, the resolution of a URL to which the
message is addressed is effectively only the resolution of a network
location which is waiting to accept such a message. Since that is all it is,
the problem is simple enough that looking inside the message to discover
what well-known schema its contents might conform to seems an entirely
legitimate way of seeing that the message gets to the right network
address--which is what Don Box now seems to be advocating.
By contrast, PUTing or POSTing an XML document to a URL is both more nuanced
and more complex precisely because the semantics of a URL are far more dense
than resolution to a simple network address. Though (and am I ever preaching
to the choir here!) it is URLs which make the Web the Web, they are not
fully realized as URLs if they are resolved only to the equivalent of IP
addresses. To POST an XML document to a URL is to rely on local processes
at the node addressed to instantiate something useful from the document
received and then to execute processing which results in change in the state
or content of a URL. Those are the semantics of an entire transaction, as
opposed to routing as the implementation of simple addressing.
So, yes, there can be value for routing in using the contents of messages to
determine simply the network addresses to which they should be sent. Yet if
you are doing that you are effectively only re-inventing simple network
addressing inside the much higher (and capable of much more complex
semantics) level of the XML document. What would make no sense would be to
force a true autonomous Web process to do nothing more than simple address
resolution and routing. The point of Web processes is that, given XML
documents PUT or POSTed to them, or which they GET, they can produce as
output URLs which deliver the benefit of the expertise in those processes.
When an XML document arrives at a Web process, that process should--and
should be expected to--execute and render a Web output--a URL--and not just
do the dumb work of routing which could be more efficiently and more
appropriately done at the much lower IP level.
- XML, routing
- From: "Simon St.Laurent" <email@example.com>