{"id":757,"date":"2005-04-06T15:46:00","date_gmt":"2005-04-06T19:46:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/2005\/04\/06\/daveo-on-leaky-protocol-abstractions\/"},"modified":"2005-04-06T15:46:00","modified_gmt":"2005-04-06T19:46:00","slug":"daveo-on-leaky-protocol-abstractions","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2005\/04\/daveo-on-leaky-protocol-abstractions\/","title":{"rendered":"DaveO on leaky protocol abstractions"},"content":{"rendered":"<p>Another\n<a href=\"http:\/\/www.pacificspirit.com\/blog\/2005\/04\/05\/underlying_protocol_is_a_completely_leaky_abstraction\">gem<\/a>\nfrom Dave;<\/p>\n\n<blockquote cite=\"http:\/\/www.pacificspirit.com\/blog\/2005\/04\/05\/underlying_protocol_is_a_completely_leaky_abstraction\">\nThis is the main thesis of this article, that the application layer modeling is affected by the underlying protocol.\n<\/blockquote>\n\n<p>Absolutely.  I think the leaks that Dave so accurately describes\nthere, is, largely, his fault (but a Very Good Thing! 8-).  He has\ntried to respect the\n<a href=\"http:\/\/www.w3.org\/TR\/webarch\/\">architecture of the Web<\/a>\nin his work on Web services, and as a result, created the problems he\nnow describes, along with everybody else who ever pushed to defend a\nprinciple or constraint of Web architecture, including myself.  I was\nvery frankly surprised that it took this long for a Web services\nproponent to point it out, but I&#8217;ve been\n<a href=\"http:\/\/www.markbaker.ca\/2002\/09\/Blog\/2003\/12\/18#2003-12-ws-message-metadata\">doing it<\/a>\nfor a while (and long before that post &#8211; it&#8217;s just the most succinct description\nI could recall of the layering problems with Web services, albeit\nslightly different ones than Dave&#8217;s describing).<\/p>\n\n<p>He goes on&#8230;<\/p>\n\n<blockquote>\nAnother possibility is to throw out anything &#8220;extra&#8221; from the underlying protocol, that is effectively dumbing HTTP down to UDP.\n<\/blockquote>\n\n<p>Yes, that&#8217;s the only way that what most Web services proponents know\n&#8220;protocol independence&#8221; to mean, could be realized, and the leaky\nabstractions Dave speaks of, avoided.<\/p>\n\n<p>The next sentence reads;<\/p>\n\n<blockquote>\nWeb services using SOAP and WSDL 1.1 has already done that by ignoring the HTTP Operation.\n<\/blockquote>\n\n<p>Right.  And as I mention in the above mentioned\n<a href=\"http:\/\/www.markbaker.ca\/2002\/09\/Blog\/2003\/12\/18#2003-12-ws-message-metadata\">post<\/a>,\nthere&#8217;s more than just the operation which is ignored, including the Request-URI when using\nwsa:To, and the response code when assuming\n<a href=\"http:\/\/lists.w3.org\/Archives\/Public\/xml-dist-app\/2002Mar\/0007.html\">any response with a SOAP fault element is a fault<\/a>.<\/p>\n\n<p>Unfortunately, at that point, Dave apparently reiterates his undying\nfaith in this beast of an architecture, and attempts to resolve this\nfundamental problem within it.  Ouch!<\/p>\n\n<p>There is another way; embrace the Web.<\/p>\n\n<p>Oh, and all this reminds me that\n<a href=\"http:\/\/www.iona.com\/hyplan\/vinoski\/\">Steve Vinoski<\/a>\nand I just had a great\n<a href=\"http:\/\/www.iona.com\/blogs\/vinoski\/archives\/000158.html\">chat<\/a>\nwhere we came to agree on what was and wasn&#8217;t desirable to do in the name of\n&#8220;protocol independence&#8221;.<\/p>","protected":false},"excerpt":{"rendered":"Another gem from Dave; This is the main thesis of this article, that the application layer modeling is affected by the underlying protocol. Absolutely. I think the leaks that Dave so accurately describes there, is, largely, his fault (but a Very Good Thing! 8-). He has tried to respect the architecture of the Web 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,40],"class_list":["post-757","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-soap","tag-xml"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/757","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=757"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/757\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=757"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=757"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}