{"id":298,"date":"2005-02-19T00:07:04","date_gmt":"2005-02-19T08:07:04","guid":{"rendered":"http:\/\/netmesh.info\/jernst\/uncategorized\/rest-finally-one-explanation-that-makes-sense-to-me"},"modified":"2005-02-19T00:07:04","modified_gmt":"2005-02-19T08:07:04","slug":"rest-finally-one-explanation-that-makes-sense-to-me","status":"publish","type":"post","link":"https:\/\/upon2020.com\/blog\/2005\/02\/rest-finally-one-explanation-that-makes-sense-to-me\/","title":{"rendered":"REST &#8211; Finally, one explanation that makes sense to me"},"content":{"rendered":"<p>REST (for REpresentational State Transfer) is one of those acronyms that is thrown around in tech circles fairly often these days. I suspect, people bring it up as an antidote to SOAP and WS-* that are growing ever more complex, just like the LAMP (Linux, Apache, MySQL and Perl\/Python\/PHP) stack is somewhat of a rebellion against ever-more complex J2EE and .NET and so forth.<\/p>\n<p>I had read probably at least a dozen explanations of what REST is supposed to be over the years, but they sounded to me like while there was clearly a good idea in there somewhere, it certainly wasn&#8217;t concise and crisp and simple and useful enough for me that I would consider it a &quot;paradigm&quot;.<\/p>\n<p>Until last night, that is, when I finally read the respective <a href=\"http:\/\/www.ics.uci.edu\/~fielding\/pubs\/dissertation\/rest_arch_style.htm\" target=\"_blank\">chapter<\/a> in <a href=\"http:\/\/www.ics.uci.edu\/~fielding\/\" target=\"_blank\">Roy Fielding<\/a>&#8216;s <a href=\"http:\/\/www.ics.uci.edu\/~fielding\/pubs\/dissertation\/top.htm\" target=\"_blank\">PhD thesis<\/a>, which is of course the document that first described REST. You guys out there, explaining REST to the rest of the world, I have to tell you that Roy is doing a much better job than any of the secondary literature that I&#8217;ve read on the subject. Reading what he had to say, it actually made sense! And it is concise and crisp and simple and useful, so it&#8217;s indeed a paradigm to me! Not that anything I read ever was quite wrong; but somehow all of it missed the spark that&#8217;s woven through Roy&#8217;s description, in spite of the fact that it&#8217;s a PhD thesis where sparks aren&#8217;t quite the first thing that comes to mind when thinking about their presentation (yep, I&#8217;ve gone through that process, too).<\/p>\n<p>So anybody who is trying to understand REST: read what Roy has to say, and forget everything else until you grokked what he said.<\/p>\n<p>P.S. It also clearly shows REST&#8217;s limitations (which indicates how good the documentation is that Roy put together!). The load that RSS feeds put on everybody&#8217;s servers should be exhibit no. 1 for any zealot arguing that REST is for everything. Of course, few people do, but I wonder whether there&#8217;s a &quot;REST+1&quot; architecture somewhere to be thought of and described that only adds a few minimal extensions to it, and, say, solves the RSS load problem by allowing incremental updates, for example.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>REST (for REpresentational State Transfer) is one of those acronyms that is thrown around in tech circles fairly often these days. I suspect, people bring it up as an antidote to SOAP and WS-* that are growing ever more complex, just like the LAMP (Linux, Apache, MySQL and Perl\/Python\/PHP) stack is somewhat of a rebellion&hellip;<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"webmentions_disabled":false,"footnotes":""},"categories":[59],"tags":[],"class_list":["post-298","post","type-post","status-publish","format-standard","hentry","category-comments","kind-"],"kind":false,"_links":{"self":[{"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/posts\/298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/comments?post=298"}],"version-history":[{"count":0,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/posts\/298\/revisions"}],"wp:attachment":[{"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/media?parent=298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/categories?post=298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/tags?post=298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}