{"id":97,"date":"2003-02-18T12:47:00","date_gmt":"2003-02-18T16:47:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=216"},"modified":"2003-02-18T12:47:00","modified_gmt":"2003-02-18T16:47:00","slug":"reliability-provisions","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2003\/02\/reliability-provisions\/","title":{"rendered":"Reliability provisions"},"content":{"rendered":"<p><a href=\"http:\/\/weblogs.cs.cornell.edu\/AllThingsDistributed\/archives\/000024.html\">Werner Vogels comments<\/a>\non my argument against reliable messaging.  I&#8217;m not sure he read it in its\nentirety though, as he leads off by saying;<\/p>\n\n<blockquote>\nI was surprised to read Mark Baker&#8217;s statement that he feels there is no need for reliable communication provisions in web-services runtimes.\n<\/blockquote>\n\n<p>Which isn&#8217;t the case, because I said that HTTP could do with some\nreliability help.  What I&#8217;m against is the specific solution of an\napplication-independant reliable messaging layer.  There are other\nways of achieving the same goals, though at the expense of application\nprotocol neutrality (see below).<\/p>\n\n<p>I fully understand that some of Werner&#8217;s work, and pretty much the\nwhole group communications style of distributed computation, builds upon\nthe reliability-as-a-layer approach.  I studied his work, and the work\nof his group at Cornell under <a href=\"http:\/\/www.cs.cornell.edu\/ken\/\">Birman<\/a>,\nand even developed code with the Isis\ntoolkit.  But GCS doesn&#8217;t scale up to the size of system I&#8217;m interested in,\nor that Web services are struggling to be.  Perhaps it has a role in the\nLAN, or in other small group environments though.  It&#8217;s definitely cool tech.<\/p>\n\n<p>I&#8217;m for &#8220;doing reliability&#8221; in the application layer,\nby coordination, with a coordination language in the guise of an application\nprotocol.  As I mentioned above, that means disposing of the notion of\ndoing it in a protocol-neutral manner, in so far as application protocols\ndefine the application.  So basically that means ensuring that when you design\nan application protocol, it&#8217;s able to give you the reliability semantics\nyou need (within the realm of possibility, as we seem to agree on 8-), or can\nbe extended to do so.  HTTP is such a protocol for the hypermedia application\nmodel.  The interesting question is, how general is the hypermedia application\nmodel, and is it relevant to your problem?  I say, yes, there&#8217;s a good chance\nit is relevant, and it&#8217;s certainly relevant for Web services.<\/p>","protected":false},"excerpt":{"rendered":"Werner Vogels comments on my argument against reliable messaging. I&#8217;m not sure he read it in its entirety though, as he leads off by saying; I was surprised to read Mark Baker&#8217;s statement that he feels there is no need for reliable communication provisions in web-services runtimes. Which isn&#8217;t the case, because I said that [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-97","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/97","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=97"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}