{"id":46,"date":"2002-10-30T11:29:00","date_gmt":"2002-10-30T15:29:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=26"},"modified":"2002-10-30T11:29:00","modified_gmt":"2002-10-30T15:29:00","slug":"dave-winers-soap-definition","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2002\/10\/dave-winers-soap-definition\/","title":{"rendered":"Dave Winer&#8217;s SOAP definition"},"content":{"rendered":"<p>Dave made the <a href=\"http:\/\/scriptingnews.userland.com\/backissues\/2002\/10\/27#When:9:09:33AM\">following suggestion<\/a> for a SOAP definition;<\/p>\n\n<blockquote>\nIt&#8217;s a simple way to call procedures running on other machines, on other OSes, written in other languages, using different economic systems, without being forced to pay a tax to Microsoft, IBM, Apple, Sun or the W3C.\n<\/blockquote>\n\n<p>SOAP isn&#8217;t that at all.  That&#8217;s XML-RPC.  Dave&#8217;s a bright guy who writes <a href=\"http:\/\/radio.userland.com\/\">great software<\/a>, but when it comes to distributed systems, there&#8217;s a lot he doesn&#8217;t understand.<\/p>\n\n<p>The SOAP 1.2 spec defines SOAP as;<\/p>\n\n<blockquote>\nSOAP Version 1.2 (SOAP) is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. It uses XML technologies to define an extensible messaging framework providing a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model and other implementation specific semantics.\n<\/blockquote>\n\n<p>Which is a pretty decent definition, though not very detailed as to how one actually might use it.  For a better definition, I look to SOAP&#8217;s <a href=\"http:\/\/www.markbaker.ca\/blog\/\/2002\/09\/23#2002-09-soap-pep\">brethren<\/a>, <a href=\"http:\/\/www.w3.org\/TR\/WD-http-pep.html\">PEP<\/a>.  It&#8217;s defined as;<\/p>\n\n<blockquote>\nThe Protocol Extension Protocol (PEP) is an extension mechanism designed to accommodate dynamic extension of HTTP applications by software components; and to address the tension between private agreement and public specification.\n<\/blockquote>\n\n<p>Of course, SOAP isn&#8217;t tied to HTTP, but PEP didn&#8217;t really need to be either.  It could also be patched to be an extension protocol for non-HTTP protocols, as SOAP 1.1 was &#8220;patched&#8221; in the form of SOAP 1.2.<\/p>\n\n<p>Please, if SOAP has <em>any<\/em> chance of success, let&#8217;s try to distance it from RPC.<\/p>","protected":false},"excerpt":{"rendered":"Dave made the following suggestion for a SOAP definition; It&#8217;s a simple way to call procedures running on other machines, on other OSes, written in other languages, using different economic systems, without being forced to pay a tax to Microsoft, IBM, Apple, Sun or the W3C. SOAP isn&#8217;t that at all. That&#8217;s XML-RPC. Dave&#8217;s a [&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,32,34,40],"class_list":["post-46","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-soap","tag-travel","tag-w3c","tag-xml"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/46","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=46"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/46\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=46"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=46"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}