<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Ten things that XML-RPC does&#8230; that REST leaves unspecified</title>
	<atom:link href="http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/feed/" rel="self" type="application/rss+xml" />
	<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/</link>
	<description>a blog by dave benjamin</description>
	<lastBuildDate>Thu, 03 Nov 2011 02:45:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-19719</generator>
	<item>
		<title>By: AndrewO</title>
		<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/comment-page-1/#comment-13</link>
		<dc:creator>AndrewO</dc:creator>
		<pubDate>Tue, 25 Mar 2008 15:42:09 +0000</pubDate>
		<guid isPermaLink="false">http://ramenlabs.com/?p=12#comment-13</guid>
		<description>@Blaxter: You&#039;re right: REST isn&#039;t an architecture.  It&#039;s an architectural style, which is why I always said &quot;architectural style&quot; or &quot;RESTful architecture&quot; as in an architecture that follows the REST style.

ROA as an architecture is tied to HTTP and URI (this is not a value judgment -- ROA is important because it clarifies the issue of how to make a truly RESTful system on the Web).  REST as a style can be adapted to many different settings.  I think everything I was saying about the uniform interface, hypermedia, and layered systems applies to the style as a whole.

I was sloppy in giving RPC the status of a style, but we don&#039;t have enough information to ascribe any particular style to the example above.  The key thing we&#039;re missing (and I see this a lot in RPC examples) is how does application and resource state change?  If the resource is completely stateless and algorithmic, then we&#039;re probably looking at a Client-Stateless-Server, which may yet be RESTful (but not a ROA, given the the URI format).  

The key thing is that if we go a step further and say it&#039;s not only stateless, but RESTful, a lot of other things (cacheability, layering, etc.) come along for free.</description>
		<content:encoded><![CDATA[<p>@Blaxter: You&#8217;re right: REST isn&#8217;t an architecture.  It&#8217;s an architectural style, which is why I always said &#8220;architectural style&#8221; or &#8220;RESTful architecture&#8221; as in an architecture that follows the REST style.</p>
<p>ROA as an architecture is tied to HTTP and URI (this is not a value judgment &#8212; ROA is important because it clarifies the issue of how to make a truly RESTful system on the Web).  REST as a style can be adapted to many different settings.  I think everything I was saying about the uniform interface, hypermedia, and layered systems applies to the style as a whole.</p>
<p>I was sloppy in giving RPC the status of a style, but we don&#8217;t have enough information to ascribe any particular style to the example above.  The key thing we&#8217;re missing (and I see this a lot in RPC examples) is how does application and resource state change?  If the resource is completely stateless and algorithmic, then we&#8217;re probably looking at a Client-Stateless-Server, which may yet be RESTful (but not a ROA, given the the URI format).  </p>
<p>The key thing is that if we go a step further and say it&#8217;s not only stateless, but RESTful, a lot of other things (cacheability, layering, etc.) come along for free.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Blaxter</title>
		<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/comment-page-1/#comment-12</link>
		<dc:creator>Blaxter</dc:creator>
		<pubDate>Tue, 25 Mar 2008 07:17:26 +0000</pubDate>
		<guid isPermaLink="false">http://ramenlabs.com/?p=12#comment-12</guid>
		<description>@AndrewO, please don&#039;t misuse the terms, REST isn&#039;t an architecture, you shouldn&#039;t say &quot;RPC architecture vs REST&quot;. You should say RPC architecture vs ROA (resource oriented architecture).</description>
		<content:encoded><![CDATA[<p>@AndrewO, please don&#8217;t misuse the terms, REST isn&#8217;t an architecture, you shouldn&#8217;t say &#8220;RPC architecture vs REST&#8221;. You should say RPC architecture vs ROA (resource oriented architecture).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Larry Bugbee</title>
		<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/comment-page-1/#comment-11</link>
		<dc:creator>Larry Bugbee</dc:creator>
		<pubDate>Tue, 25 Mar 2008 04:20:42 +0000</pubDate>
		<guid isPermaLink="false">http://ramenlabs.com/?p=12#comment-11</guid>
		<description>Please remember that one size does not fit all.  Some problems are inherently simple and their solution should be likewise simple.  Other problems are sufficiently complex that only a well thought out and rich technology will suffice.  Just as stretching the limits of a simple tool is a poor choice, so is adding complexity to a simple problem.  Both have their reasons to exist.  ...and co-exist.</description>
		<content:encoded><![CDATA[<p>Please remember that one size does not fit all.  Some problems are inherently simple and their solution should be likewise simple.  Other problems are sufficiently complex that only a well thought out and rich technology will suffice.  Just as stretching the limits of a simple tool is a poor choice, so is adding complexity to a simple problem.  Both have their reasons to exist.  &#8230;and co-exist.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AndrewO</title>
		<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/comment-page-1/#comment-10</link>
		<dc:creator>AndrewO</dc:creator>
		<pubDate>Tue, 25 Mar 2008 02:47:09 +0000</pubDate>
		<guid isPermaLink="false">http://ramenlabs.com/?p=12#comment-10</guid>
		<description>I think there&#039;s crucial distinction between between XML-RPC as a protocol and RPC as an architectural style that&#039;s not being made here.

XML-RPC is a protocol built in an RPC style, and it&#039;s the protocol that&#039;s responsible for the serialization, API, and library support that you&#039;re pointing to.  A similar RESTful system could use  XML, YAML, JSON, etc as serialization methods (and as you rightly point out, these serialization formats aren&#039;t the issue) as long as it abides by a couple  of architectural constraints.

Those are (roughly):
1) Addressability of application resources (e.g. URIs for data)
2) An explicit, simple, and consistent interface (e.g. the familiar HTTP &quot;verbs&quot;) that dictate how the server state changes (i.e. when to save/delete something or when we can reuse/cache a result and which operations will have the same results when reapplied in case the first try failed).
3) Hypermedia as the mechanism for client change.  You indicate the &quot;next steps&quot; for the client.

And by no means is a RESTful architecture limited to HTTP, it just happens to be the most widely deployed protocol of the style.

If we&#039;re talking about architectural styles, RPC vs. REST is a better comparison -- indeed, it&#039;s one that Fielding devotes a lot of time to in his thesis.  Some simple weaknesses of RPC apparent right off the bat are that we loose the ability to cache results in the client, intermediaries, and server because the protocol (as an implementation of an architectural style) doesn&#039;t make it explicit if we&#039;re just supposed return a value, or if we&#039;re supposed to change something in the application.</description>
		<content:encoded><![CDATA[<p>I think there&#8217;s crucial distinction between between XML-RPC as a protocol and RPC as an architectural style that&#8217;s not being made here.</p>
<p>XML-RPC is a protocol built in an RPC style, and it&#8217;s the protocol that&#8217;s responsible for the serialization, API, and library support that you&#8217;re pointing to.  A similar RESTful system could use  XML, YAML, JSON, etc as serialization methods (and as you rightly point out, these serialization formats aren&#8217;t the issue) as long as it abides by a couple  of architectural constraints.</p>
<p>Those are (roughly):<br />
1) Addressability of application resources (e.g. URIs for data)<br />
2) An explicit, simple, and consistent interface (e.g. the familiar HTTP &#8220;verbs&#8221;) that dictate how the server state changes (i.e. when to save/delete something or when we can reuse/cache a result and which operations will have the same results when reapplied in case the first try failed).<br />
3) Hypermedia as the mechanism for client change.  You indicate the &#8220;next steps&#8221; for the client.</p>
<p>And by no means is a RESTful architecture limited to HTTP, it just happens to be the most widely deployed protocol of the style.</p>
<p>If we&#8217;re talking about architectural styles, RPC vs. REST is a better comparison &#8212; indeed, it&#8217;s one that Fielding devotes a lot of time to in his thesis.  Some simple weaknesses of RPC apparent right off the bat are that we loose the ability to cache results in the client, intermediaries, and server because the protocol (as an implementation of an architectural style) doesn&#8217;t make it explicit if we&#8217;re just supposed return a value, or if we&#8217;re supposed to change something in the application.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SDC</title>
		<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/comment-page-1/#comment-9</link>
		<dc:creator>SDC</dc:creator>
		<pubDate>Tue, 25 Mar 2008 01:33:08 +0000</pubDate>
		<guid isPermaLink="false">http://ramenlabs.com/?p=12#comment-9</guid>
		<description>That&#039;s pretty impressive that you could add 2 numbers in only 3 lines of code.  Reminds me of working with J2EE.</description>
		<content:encoded><![CDATA[<p>That&#8217;s pretty impressive that you could add 2 numbers in only 3 lines of code.  Reminds me of working with J2EE.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sp3w &#187; Blog Archive &#187; Linkage 2008.03.24</title>
		<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/comment-page-1/#comment-8</link>
		<dc:creator>Sp3w &#187; Blog Archive &#187; Linkage 2008.03.24</dc:creator>
		<pubDate>Mon, 24 Mar 2008 18:33:37 +0000</pubDate>
		<guid isPermaLink="false">http://ramenlabs.com/?p=12#comment-8</guid>
		<description>[...] 10 that XML-RPC does� that REST leaves unspecified [...]</description>
		<content:encoded><![CDATA[<p>[...] 10 that XML-RPC does� that REST leaves unspecified [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: karl</title>
		<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/comment-page-1/#comment-7</link>
		<dc:creator>karl</dc:creator>
		<pubDate>Mon, 24 Mar 2008 17:09:25 +0000</pubDate>
		<guid isPermaLink="false">http://ramenlabs.com/?p=12#comment-7</guid>
		<description>Isnt XML-RPC inherently tied to XML?

I find it interesting that &quot;cross-language, typeful serialization of data&quot; is praised, but its all tied towards XML. :)

Personally I think we should all untie the data behind software, from the language, solution, paradigm etc...

And then, if possible, save the data in a format that gives us the most advantages while having fewest disadvantages. For my use case, I can not really be friends with XML either because it is not human-readable enough, or because it is a rather slow-ish solution. (The human-readable aspect is what i worry more though, else i think we should stop caring anyway and just use a real database format, without needing to have &quot;human-readable&quot; aspects in mind)

For me, REST always was much more in focus of human people, with sane action-based URL mapping.</description>
		<content:encoded><![CDATA[<p>Isnt XML-RPC inherently tied to XML?</p>
<p>I find it interesting that &#8220;cross-language, typeful serialization of data&#8221; is praised, but its all tied towards XML. <img src='http://ramenlabs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Personally I think we should all untie the data behind software, from the language, solution, paradigm etc&#8230;</p>
<p>And then, if possible, save the data in a format that gives us the most advantages while having fewest disadvantages. For my use case, I can not really be friends with XML either because it is not human-readable enough, or because it is a rather slow-ish solution. (The human-readable aspect is what i worry more though, else i think we should stop caring anyway and just use a real database format, without needing to have &#8220;human-readable&#8221; aspects in mind)</p>
<p>For me, REST always was much more in focus of human people, with sane action-based URL mapping.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kl</title>
		<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/comment-page-1/#comment-6</link>
		<dc:creator>kl</dc:creator>
		<pubDate>Mon, 24 Mar 2008 15:07:58 +0000</pubDate>
		<guid isPermaLink="false">http://ramenlabs.com/?p=12#comment-6</guid>
		<description>Yeah, but REST is (should be) used for things that are simple enought not to need any of these.</description>
		<content:encoded><![CDATA[<p>Yeah, but REST is (should be) used for things that are simple enought not to need any of these.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A song for the lovers &#187; If XML-RPC is really better than REST, it&#8217;s not for there reasons.</title>
		<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/comment-page-1/#comment-5</link>
		<dc:creator>A song for the lovers &#187; If XML-RPC is really better than REST, it&#8217;s not for there reasons.</dc:creator>
		<pubDate>Mon, 24 Mar 2008 14:42:53 +0000</pubDate>
		<guid isPermaLink="false">http://ramenlabs.com/?p=12#comment-5</guid>
		<description>[...] Benjamin summarized on his blog 10 reasons why XML-RPC should be better than REST but I think he completely missed the point about REST APIs. Let&#8217;s see:  1 - Standard, [...]</description>
		<content:encoded><![CDATA[<p>[...] Benjamin summarized on his blog 10 reasons why XML-RPC should be better than REST but I think he completely missed the point about REST APIs. Let&#8217;s see:  1 &#8211; Standard, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Blaxter</title>
		<link>http://ramenlabs.com/2008/02/17/ten-things-that-xml-rpc-does-that-rest-leaves-unspecified/comment-page-1/#comment-4</link>
		<dc:creator>Blaxter</dc:creator>
		<pubDate>Mon, 24 Mar 2008 07:34:24 +0000</pubDate>
		<guid isPermaLink="false">http://ramenlabs.com/?p=12#comment-4</guid>
		<description>The thing is to compare a &lt;strong&gt;RPC&lt;/strong&gt; architecture VS &lt;strong&gt;ROA&lt;/strong&gt; (resource oriented architecture). It&#039;s more simple (without any doubts) use xml-rpc, but a REST system is more rich and powerful (although more dificult than xml-rpc).</description>
		<content:encoded><![CDATA[<p>The thing is to compare a <strong>RPC</strong> architecture VS <strong>ROA</strong> (resource oriented architecture). It&#8217;s more simple (without any doubts) use xml-rpc, but a REST system is more rich and powerful (although more dificult than xml-rpc).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

