{"id":104,"date":"2003-03-10T07:06:00","date_gmt":"2003-03-10T11:06:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=209"},"modified":"2003-03-10T07:06:00","modified_gmt":"2003-03-10T11:06:00","slug":"i-believe","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2003\/03\/i-believe\/","title":{"rendered":"I Believe"},"content":{"rendered":"<p><a href=\"http:\/\/www.intertwingly.net\/blog\/1253.html\">Sam writes<\/a>;<\/p>\n\n<blockquote>\nMark Baker is upset because SOAP permits usages which are not, in his and many people&#8217;s opinion, well architected.  Usages such as RPC.  While many of Mark&#8217;s arguments resonate with me, he tends to throw the baby out with the bathwater.  He might as well say that Python is not a good language for building REST systems because it can also be used for RPC.\n<\/blockquote>\n\n<p>I realize my position is far from typical, and <em>appears<\/em> inconsistent at\ntimes, but I thought I&#8217;d been pretty clear about it at least.  Oh well.  Ok, so let\nme get it all out, and describe what I believe &#8211; and what I don&#8217;t &#8211; about REST and\nSOAP;<\/p>\n\n<p>I believe SOAP is a valuable and useful technology.<\/p>\n<p>I believe the Web, and in particular the subset that follows the constraints\nof the REST architectural style, is a fundamental breakthrough in the evolution of\nlarge scale distributed systems, that will continue to effect how most systems, both\nhuman and machine-targetted, are built for the foreseeable future.<\/p>\n<p>I believe SOAP can provide value outside the constraints of REST, but I also\nbelieve that its predominant value, by <em>far<\/em>, is when used within the constraints of\nREST.<\/p>\n<p>I believe that using SOAP within the constraints of REST does not mean\nthat HTTP (or <a href=\"http:\/\/www.apache.org\/~fielding\/waka\/\">Waka<\/a>) has to be used.<\/p>\n<p>I believe that using SOAP as a means for extending underlying application protocols, is\nthe most valuable thing it can be used for.<\/p>\n<p>I believe that using SOAP as a framework from which to build new application protocols\nhas some value, so long as those new protocols are built on transport protocols and not\ntunneled over other application protocols.<\/p>\n<p>I believe SOAP will fail to see significant\n<a href=\"http:\/\/www.markbaker.ca\/2002\/04\/WebServicesGrowth\/\">use on the Internet<\/a>\nbecause the predominant use of SOAP today is to tunnel new application protocols over\nexisting application protocols, and to encourage an explosion in per-service application\nprotocols, not a unification of application protocols as REST does via\n<a href=\"http:\/\/lists.w3.org\/Archives\/Public\/www-ws-arch\/2002Jun\/0085\">generalization<\/a>.<\/p>\n\n<p>P.S. I&#8217;ll\n<a href=\"http:\/\/www-106.ibm.com\/developerworks\/webservices\/library\/ws-wstx2\/?dwzone=webservices#3\">believe it<\/a>\nwhen I see it. 8-)<\/p>","protected":false},"excerpt":{"rendered":"Sam writes; Mark Baker is upset because SOAP permits usages which are not, in his and many people&#8217;s opinion, well architected. Usages such as RPC. While many of Mark&#8217;s arguments resonate with me, he tends to throw the baby out with the bathwater. He might as well say that Python is not a good language [&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-104","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\/104","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=104"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/104\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=104"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}