Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Sun, 07 Sep 2003
Web services: contracts and coupling
I'm working through a backlog of interesting posts. Sometimes that produces interesting juxtapositions, like this old post by Bill de Hora on
component and service models and this new article by Rich Salz on
Typeless Schemas and Services.
Both are talking about contracts, both deal with contracts as an XML level thing. Bill says contracts are best described as an ordered exchange of documents -- a protocol. Rich says that contracts are about the shape of the XML (tree) but not about the types of the values (stuff at the leaves) In his coverage of Tim Ewald's MSDN article, Rich does discuss document flows, but this time in terms of validation, that successively finer validation occurs at various points in the document flow.
Bill's point about interface changes propagating to clients is a good one. It is going to happen in all models designed around a static or explicit type system. The type system itself creates tight coupling between services and clients, so if the goal is loose coupling, then one way to do that is to get rid of the types. You can argue that this is what you are doing if you either use highly generic methods (you turn types into argument data) or a dictionary interface (same thing).
Food for thought.
[00:42] |
[computers/internet] |
# |
TB |
F |
G |
0 Comments |
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk