<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The adventures of Coccobill &#187; REST</title>
	<atom:link href="http://tech.poglianis.net/category/clienttechnologies/rest/feed/" rel="self" type="application/rss+xml" />
	<link>http://tech.poglianis.net</link>
	<description>Opinions... because I choose. Always !</description>
	<lastBuildDate>Mon, 19 Jul 2010 14:21:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Thoughts around REST</title>
		<link>http://tech.poglianis.net/2007/03/08/thoughts-around-rest/</link>
		<comments>http://tech.poglianis.net/2007/03/08/thoughts-around-rest/#comments</comments>
		<pubDate>Thu, 08 Mar 2007 13:21:41 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[REST]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://tech.poglianis.net/2007/03/08/thoughts-around-rest/</guid>
		<description><![CDATA[It is quite sometimes that I have in mind to write down this little comment. I know that, in doing this, I am probably going to be ignored or to be blamed. But, for all my readers, I am doing this exercise with true humble and open spirit; I am sure that many things I [...]]]></description>
			<content:encoded><![CDATA[<p>It is quite sometimes that I have in mind to write down this little comment. I know that, in doing this, I am probably going to be ignored or to be blamed. <br />But, for all my readers, I am doing this exercise with <b>true humble and open spirit</b>; I am sure that many things I write here represent only a part of the truth, perhaps so little a part&#8230;. or perhaps no part at all <img src='http://tech.poglianis.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  My objective is to understand where I am wrong: so, please, accept my apologies in advance. After all, the motto of this blog is to have &#8220;opinions&#8221;&#8230;. not &#8220;truths&#8221; <img src='http://tech.poglianis.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  !</p>
<p>So, here is what I do not like in the REST Hype that is around.</p>
<ul>
<li>despite it is &#8220;de facto&#8221; the way the Web works, REST is <b>counter-intuitive to me</b>. <br />It is counter-intuitive because since when I first started to program, I was told to use &#8220;subprograms&#8221;.<br />And, when I moved to Object Orientation, I was told to invoke methods on objects.<br />In summary: if we need to use an &#8220;addressing space&#8221; that is as wide as the whole Internet (and, not simply constrained by the virtual memory given to my executable), I do not see why I should change the way in which I am programming&#8230;<b>why should I avoid the <font color="#ff0000">&#8220;invocation&#8221; paradigm</font></b> ?</li>
<li>I think that REST does not add anything on the top on SOAP (or its XML-RCP ancestor). <br />It is isomorphic to SOAP. Just using &#8220;<i>nouns</i>&#8221; instead of &#8220;<i>verbs</i>&#8221; simply shifts the complexity from one part to the other&#8230;. with the side effect of making the things less clear (at least for me, as <b>I am used to add <font color="#ff0000">meaning to the verbs</font> I use to describe &#8220;actions&#8221;</b>)
</li>
<li>I think that  REST assumes that the world is painted with one color only: stateless. <br /><b>The reality is seldomly &#8220;<font color="#ff0000">stateless</font>&#8220;</b>. <br />A lot of times, it is &#8220;stateful&#8221;. And, maybe I am wrong, but I think that it is better to consider &#8220;stateless&#8221; as a subcase of &#8220;stateful&#8221; than the viceversa.<br />Statelessness is great for scalability; of course! The Web is so scalable because it is stateless; sure! But, here we are not talking about pages, we are talking about an &#8220;<b><font color="#ff0000">addressing space as wide as the whole internet</font>&#8220;</b>. We are talking about applications that use such a big space.<br />I understand that the use of REST makes it possible the different <b><font color="#ff0000">caching levels</font></b> the internet provides; but in so many cases, the data that are manipulated by internet-wide applications are changing so frequently that caching is not an option.
</li>
<li>With REST, the &#8220;state transition&#8221; is in the protocol. I am used to manage the &#8220;state transitions&#8221; in my code.
</li>
<li>I fear that REST brings back <font color="#ff0000"><b>two-tiers architecture</b></font>.<br />Issuing GET, POST, PUT and DELETE operations on remote resources looks, to me, very much like performing CRUD operations on a remote database: something we have learned not to do. <br />I understand that the implementation of a REST service makes sure I am not actually accessing the physical row in a database&#8230; but this is true for any RDBMS, actually. </li>
</ul>
<p>I realize that an important part of the <b>hype on REST</b> is due to the fact that SOAP is so complex! </p>
<p>And I agree that REST is, certainly, a great way to address resources; it is really great when you can easily put an URL into some code and create those cool mashups!<br />But I would not like to extrapolate that, since something is so easy to use, then it is the only way (or the correct way) to accomplish a given task.  </p>
<p>As I said, these are just few thoughts that I have in mind on this subject. I know that there will be arguments to address each of those concerns and to take me back on the &#8220;<i>right way of thinking</i>&#8220;&#8230;.</p>
<p><font color="#ff0000"><b>P.S.    :</b></font> By the way; few of the previous thoughts would also apply <b>in favor of an RPC </b>approach to WebServices!</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.poglianis.net/2007/03/08/thoughts-around-rest/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
