{"id":855,"date":"2005-07-06T01:22:00","date_gmt":"2005-07-06T05:22:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/2005\/07\/06\/rest-oh-oh\/"},"modified":"2005-07-06T01:22:00","modified_gmt":"2005-07-06T05:22:00","slug":"rest-oh-oh","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2005\/07\/rest-oh-oh\/","title":{"rendered":"REST, Oh Oh"},"content":{"rendered":"<p><a href=\"http:\/\/www.tbray.org\/ongoing\/When\/200x\/2005\/07\/05\/Carlyle-on-REST\">Via Tim<\/a>,\na thorougly interesting\n<a href=\"http:\/\/members.optusnet.com.au\/benjamincarlyle\/benjamin\/blog\/2005\/07\/05\/\">piece from Benjamin Carlyle<\/a>\non REST and Object Orientation.<\/p>\n\n<p>If you&#8217;ve ever emailed me, you know my address is &#8220;distobj@acm.org&#8221;,\nwhere &#8220;distobj&#8221; is, of course, short for &#8220;distributed object&#8221;.  So I\nthink it&#8217;s fair to say that I&#8217;ve given this particular relationship a\nwhole lot of brain-time over the past several years (nine, in fact).\nI agree with Ben&#8217;s presumed hypothesis that there&#8217;s a deep relationship\nhere, and he comes <em>very<\/em> close to nailing it, but falls <em>just<\/em>\nshort, IMO.<\/p>\n\n<p>Where I think things go wrong is when he talks about Java Beans;<\/p>\n\n<blockquote cite=\"http:\/\/members.optusnet.com.au\/benjamincarlyle\/benjamin\/blog\/2005\/07\/05\/\">\nThe real meat in my pie is the use of properties, or as I would call them: Resources.\n<\/blockquote>\n\n<p>Nope, properties are properties, resources are the Beans themselves.\nImagine a &#8220;Person&#8221; Bean which might expose the properties; name, birth date,\nbirth city.  Now imagine that Bean as a resource, with its own http URI;\ninvoke GET on it and you receive, say, an XML document like this;<\/p>\n\n<pre>\n&lt;Person&gt;\n  &lt;name&gt;Mark Smith&lt;\/name&gt;\n  &lt;birthDate&gt;55&lt;\/birthDate&gt;\n  &lt;birthCity&gt;Bristol&lt;\/birthCity&gt;\n&lt;\/Person&gt;\n<\/pre>\n\n<p>So the properties of a Bean represent (at least some of) the state of the\nBean, and therefore are returned together in a request for a representation\nof its state, i.e. GET.<\/p>\n\n<p>Distributed objects are dead!  Long live distributed objects!<\/p>","protected":false},"excerpt":{"rendered":"Via Tim, a thorougly interesting piece from Benjamin Carlyle on REST and Object Orientation. If you&#8217;ve ever emailed me, you know my address is &#8220;distobj@acm.org&#8221;, where &#8220;distobj&#8221; is, of course, short for &#8220;distributed object&#8221;. So I think it&#8217;s fair to say that I&#8217;ve given this particular relationship a whole lot of brain-time over the past [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[22,40],"class_list":["post-855","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-rest","tag-xml"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/855","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=855"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/855\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=855"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}