{"id":507,"date":"2004-10-27T10:29:00","date_gmt":"2004-10-27T14:29:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/2004\/10\/27\/self-description-and-protocol-independence\/"},"modified":"2004-10-27T10:29:00","modified_gmt":"2004-10-27T14:29:00","slug":"self-description-and-protocol-independence","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2004\/10\/self-description-and-protocol-independence\/","title":{"rendered":"Self-description and protocol independence"},"content":{"rendered":"<p>Steve promptly <a href=\"http:\/\/hyperthink.net\/blog\/CommentView,guid,be7fa5a2-762f-4aec-8cda-35aea2e630c7.aspx\">follows up<\/a>.  In response to my comments about self-description, he writes;<\/p>\n\n<blockquote>\nReading over Marks comments, I&#8217;m having a hard time determining if this is a technical criticism or more of a complaint about the division of responsibility between the standards.\n<\/blockquote>\n\n<p>I was just pointing out that the envelope he described would not, in fact,\nbe self-descriptive.  There are many possible implications of this depending\nupon your POV, but yes, in (my view of) Steve&#8217;s view of the stack, SOAP should have a\ndependency on WS-Addressing, and should have defined the equivalent of wsa:Action.\nIn my view of the stack, it should not have, and in fact there should be no\nWS-Addressing because application protocols already provide their own addressing\nmechanism.<\/p>\n\n<p>And a slight historical correction; &#8220;TCP&#8221; circa 1974 was in fact the functional\nequivalent of TCP\/IP, with the two layers munged into one.  &#8220;The Split&#8221; into\nseparate specs and layers\n<a href=\"http:\/\/www.ibiblio.org\/pioneers\/cerf.html\">occurred in 1978<\/a>.<\/p>\n\n<blockquote>\nI absolutely would consider being independent of WS-Transfer a good thing, if my applications hard dependency on the protocol was making it really hard to accommodate the new requirements I wanted to satisfy.\n<\/blockquote>\n\n<p>How?!?!?! WS-Transfer provides the application semantics that an app\nis hardcoded to use, just as a stock quote app would be hard coded to use\ngetStockQuote.  You can&#8217;t just swap in WS-Notification, IMAP, POP3, or any\nother application protocol and expect the app to work the same, because\nthey provide <em>different application semantics<\/em>!!<\/p>\n\n<p>You can&#8217;t escape it; protocol dependence is a necessity, since protocols\nare the basis of all interoperability.  Show me a working Web service, and\nI&#8217;ll show you where it&#8217;s protocol dependent.<\/p>\n\n<p>This is the fundamental misunderstanding of Web services, and IMO what&#8217;s\npreventing a majority of Web services proponents from realizing that the Web\nis what they&#8217;ve been looking for all along.<\/p>\n\n<blockquote>\nI think that&#8217;s where we are with HTTP right now &#8211; it works in the simple case, but there&#8217;s all this other stuff we want to be able to do (security, transactions, duplex communication, end-to-end reliability, etc). Mapping all that stuff into HTTP is turning out to be counterproductive and quite hard.  However, those problems are tractable if we assume an infoset-centric view of the world. When the status quo doesn&#8217;t work any more and something better is available, it&#8217;s time to change the status quo.\n<\/blockquote>\n\n<p>The status quo works just fine.  I hear folks make the claim to the contrary all\nthe time, but have yet to see an example of a Web service that couldn&#8217;t be done in\nan all &#8217;round superior manner using HTTP and URIs.  I&#8217;m not claiming that an example\ncan&#8217;t be found, only that there just aren&#8217;t that many, at least once you&#8217;ve chosen to\nuse coarse grained, document based messaging.<\/p>","protected":false},"excerpt":{"rendered":"Steve promptly follows up. In response to my comments about self-description, he writes; Reading over Marks comments, I&#8217;m having a hard time determining if this is a technical criticism or more of a complaint about the division of responsibility between the standards. I was just pointing out that the envelope he described would not, in [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[26],"class_list":["post-507","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-soap"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/507","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/comments?post=507"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/507\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=507"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=507"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=507"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}