- From: Michael Champion <mcham@microsoft.com>
- Date: Thu, 10 Mar 2005 08:50:31 -0800
- To: <www-tag@w3.org>
Tim Berners-Lee wrote: > This for me is part of a more general concern I have about a lack > of layering in WS architecture. There is very little encapsualation and > data hiding. Messages are sent around with many levels exposed, and > without a clear architectural indication of what should be > processed first. [Not by any means speaking for Microsoft, but reflecting on what I learned from the W3C WS Architecture effort a couple of years ago.] My sense is that most WS people would consider this a feature rather than a bug. Arguably the whole point of XML is data visibility, not data hiding. (I remember long, LONG discussions with Mark Baker in the old WS Arch group about the REST notion of HTTP header visibility vs content-level visibility that XML enables.... leading to a TAG issue, IIRC?). Likewise the OO theorists are wrestling the tradeoffs between encapsulation and cross-cutting concerns, leading to "aspect oriented programming" ideas that do something like what SOAP does. My favorite explanation of this is in Steve Maine's weblog (maybe the Indigo group at MS liked this so much they decided to hire him?): " Any system that uses a set of hierarchical concepts to describe the world must eventually tackle the problem of orthogonal content - it's what lead the OO people to start thinking of aspect-oriented programming and what drives the usage of SOAP in the WS-* stack. SOAP addresses the orthogonal content problem by introducing a common frame around the blobs of arbitrary XML we send to services. The SOAP envelope model defines two parts of a message: stuff that's specific to the service goes in the body, and orthogonal content goes in the headers. This gives a common solution to the problem of orthogonal content - which is something that the ad-hoc non-SOAP message formats would have had to invent anyway. By separating the messages into headers and bodies, SOAP offers both a general way to deal with orthogonal content and also provides a generic extensibility mechanism. Over time, we can change the behavior of the SOAP infrastructure to account for things like security by introducing new headers without affecting the body of the message." http://hyperthink.net/blog/PermaLink,guid,ce8a55da-06c7-48bf-952a-786962 5710f8.aspx > A layered structure would also point to an addressing > syntax in which an address was formed of an identifier at the > top layer appended to an (opaque to that layer) address used > at lower layers Read farther down in the post linked above for a nice explanation of why WS-Addressing is useful. Anyway, the point of WS-Addressing is not to push back on the URI syntax of the address, but against the idea that the logical address exists exclusively at the protocol layer and not inside the message. In enterprise-scale operations, there are often multiple protocols, multiple intermediate stores/queues, and a general reluctance to expose the inner workings or structure to random people out on the Web. In short, WS-Addressing addresses (sorry!) very real challenges people have had trying to merge Web front ends and enterprise back ends.
Received on Thursday, 10 March 2005 16:52:10 UTC