<?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: Opinionated (RPC) APIs vs RESTful APIs</title>
	<atom:link href="http://blog.perfectapi.com/2012/opinionated-rpc-apis-vs-restful-apis/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.perfectapi.com/2012/opinionated-rpc-apis-vs-restful-apis/</link>
	<description>Notes from the Perfect API Team</description>
	<lastBuildDate>Mon, 20 May 2013 10:33:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: ASP.NET Web Api &#8211; apeluri RESTfull si RPC pentru aceeasi resursa</title>
		<link>http://blog.perfectapi.com/2012/opinionated-rpc-apis-vs-restful-apis/#comment-1710</link>
		<dc:creator>ASP.NET Web Api &#8211; apeluri RESTfull si RPC pentru aceeasi resursa</dc:creator>
		<pubDate>Sun, 16 Sep 2012 19:26:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.perfectapi.com/?p=537#comment-1710</guid>
		<description><![CDATA[[...] Opinionated (RPC) APIs vs RESTful APIs (03.2012)    0 comentarii &#187; [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Opinionated (RPC) APIs vs RESTful APIs (03.2012)    0 comentarii &#187; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ferenc Mihaly</title>
		<link>http://blog.perfectapi.com/2012/opinionated-rpc-apis-vs-restful-apis/#comment-1253</link>
		<dc:creator>Ferenc Mihaly</dc:creator>
		<pubDate>Sat, 24 Mar 2012 00:59:45 +0000</pubDate>
		<guid isPermaLink="false">http://blog.perfectapi.com/?p=537#comment-1253</guid>
		<description><![CDATA[A problem with both the &quot;opinionated&quot; version and the &quot;REST&quot; version of your API appears when you consider partial failures. Assume that you made an increment or decrement call and it failed. What are you going to do? Are you going to repeat the call? If the network connection failed after the counter was decremented but before the response was delivered back to you, you are going to increment ti twice. If you don&#039;t repeat the call, how are you going to ensure that your request was executed?

You can avoid this problem both in the &quot;opinionated&quot; version of the API and the &quot;REST&quot; version of API. The key is to avoid non-idempotent operations like increment or decrement. Most &quot;REST&quot; designers will immediately notice that you are using POST and POST is not guaranteed to be idempotent.  Most experienced RPC designers will also notice the non-idempotent method in the &quot;opinionated&quot; version. However, if you&#039;d ask me, I would give the REST designer a better chance of noticing it. 

Does this mean that &quot;REST&quot; is superior? Not at all. But it means that when you are offering your API over a relatively unreliable Internet to a large number of developers of varying skills, REST might give you an advantage.    

This comment comes not from a REST fanatic, but from someone who worked with DCE RPC, DCOM, CORBA,and SOAP most of his career.]]></description>
		<content:encoded><![CDATA[<p>A problem with both the &#8220;opinionated&#8221; version and the &#8220;REST&#8221; version of your API appears when you consider partial failures. Assume that you made an increment or decrement call and it failed. What are you going to do? Are you going to repeat the call? If the network connection failed after the counter was decremented but before the response was delivered back to you, you are going to increment ti twice. If you don&#8217;t repeat the call, how are you going to ensure that your request was executed?</p>
<p>You can avoid this problem both in the &#8220;opinionated&#8221; version of the API and the &#8220;REST&#8221; version of API. The key is to avoid non-idempotent operations like increment or decrement. Most &#8220;REST&#8221; designers will immediately notice that you are using POST and POST is not guaranteed to be idempotent.  Most experienced RPC designers will also notice the non-idempotent method in the &#8220;opinionated&#8221; version. However, if you&#8217;d ask me, I would give the REST designer a better chance of noticing it. </p>
<p>Does this mean that &#8220;REST&#8221; is superior? Not at all. But it means that when you are offering your API over a relatively unreliable Internet to a large number of developers of varying skills, REST might give you an advantage.    </p>
<p>This comment comes not from a REST fanatic, but from someone who worked with DCE RPC, DCOM, CORBA,and SOAP most of his career.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Content Delivery Network via Rackspace Cloud Files: c274143.r43.cf1.rackcdn.com

 Served from: blog.perfectapi.com @ 2013-06-18 18:52:20 by W3 Total Cache -->