{"id":1087,"date":"2005-10-17T10:51:00","date_gmt":"2005-10-17T14:51:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/2005\/10\/17\/xml-rpc-seven-years-later\/"},"modified":"2005-10-17T10:51:00","modified_gmt":"2005-10-17T14:51:00","slug":"xml-rpc-seven-years-later","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2005\/10\/xml-rpc-seven-years-later\/","title":{"rendered":"XML-RPC seven years later"},"content":{"rendered":"<p>Dave points to his\n<a href=\"http:\/\/sndirectory.worldoutline.com\/DaveNet%20archive\/1998\/XML-RPC%20for%20Newbies\/\">original piece<\/a>\non\n<a href=\"http:\/\/www.xmlrpc.com\">XML-RPC<\/a>\nback in 1998.  Item number 30 includes some, erm,\n<em>interesting<\/em> claims;<\/p>\n\n<blockquote cite=\"http:\/\/sndirectory.worldoutline.com\/DaveNet%20archive\/1998\/XML-RPC%20for%20Newbies\/\">\nBut RPC is important, no matter what format is used, because it allows choices\n<\/blockquote>\n\n<p>In allows choices by rejecting an architectural constraint which has been the\nfoundational constraint of large scale, loosely coupled, distributed systems,\nsince there&#8217;s <em>been<\/em> large scale, loosely coupled, distributed systems &#8230; for\nabout 40 years now.<\/p>\n\n<blockquote cite=\"http:\/\/sndirectory.worldoutline.com\/DaveNet%20archive\/1998\/XML-RPC%20for%20Newbies\/\">\nyou can replace a component with another one\n<\/blockquote>\n\n<p>Ah, substitutability.  Note that you can only replace an XML-RPC\ncomponent with another one that <em>has the same interface<\/em>, at\nleast if interoperability is important.  Compare that to a system where\nevery component has the same interface, where you can submit a document\nto <em>any<\/em> component for processing.  Now <em>that&#8217;s<\/em> what I\ncall substitutability.<\/p>","protected":false},"excerpt":{"rendered":"Dave points to his original piece on XML-RPC back in 1998. Item number 30 includes some, erm, interesting claims; But RPC is important, no matter what format is used, because it allows choices In allows choices by rejecting an architectural constraint which has been the foundational constraint of large scale, loosely coupled, distributed systems, since [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[40],"class_list":["post-1087","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-xml"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1087","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=1087"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1087\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=1087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=1087"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=1087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}