{"id":299,"date":"2004-03-09T18:59:00","date_gmt":"2004-03-09T22:59:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=307"},"modified":"2004-03-09T18:59:00","modified_gmt":"2004-03-09T22:59:00","slug":"whats-worse-than-rpc","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2004\/03\/whats-worse-than-rpc\/","title":{"rendered":"What&#8217;s worse than RPC?"},"content":{"rendered":"<p>It seems the\n<a href=\"http:\/\/www.w3.org\/2002\/ws\/desc\/\">Web Service Description WG<\/a>\nhas\n<a href=\"http:\/\/lists.w3.org\/Archives\/Public\/www-ws-desc\/2004Mar\/0040.html\">opted<\/a>\nnot to bother trying to fix a glaring architectural flaw in Web\nservices by maintaining the status quo of making it impossible to determine\nwhich operation is being requested for any particular (or even a reasonably\nsized subset of) SOAP messages.  Bah.<\/p>\n\n<p>The issue behind this problem is that the so-called &#8220;document exchange&#8221; model used\nby Web services is little more than wishful thinking; <em>If only we hid the operation\nfrom the message, then we&#8217;d be more loosely coupled, yeah, that&#8217;s the ticket!<\/em>.\nSorry folks, it just don&#8217;t work like that.  What you&#8217;ve done by removing the operation\nis just to make your message <em>less<\/em> self-descriptive.  That&#8217;s it.  The only\ngain is saving a few bytes.<\/p>\n\n<p>If there&#8217;s anything worse than RPC, it&#8217;s less self-descriptive RPC.<\/p>\n\n<p>The easiest way that we know to go about &#8220;doing away with operations&#8221;, is to\njust give every component the same set of operations.  Then you don&#8217;t really need\nto think about them <a href=\"http:\/\/www.markbaker.ca\/2002\/09\/Blog\/2004\/02\/24#2004-02-messaging\">much of the time<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"It seems the Web Service Description WG has opted not to bother trying to fix a glaring architectural flaw in Web services by maintaining the status quo of making it impossible to determine which operation is being requested for any particular (or even a reasonably sized subset of) SOAP messages. Bah. The issue behind this [&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-299","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\/299","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=299"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/299\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=299"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}