<?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: Hypermedia as the Engine of Application State</title>
	<atom:link href="http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/feed/" rel="self" type="application/rss+xml" />
	<link>http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/</link>
	<description>… and there is much to be learned</description>
	<lastBuildDate>Sun, 18 Jul 2010 13:33:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Peter Williams - Vertical Slicing</title>
		<link>http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/comment-page-1/#comment-84582</link>
		<dc:creator>Peter Williams - Vertical Slicing</dc:creator>
		<pubDate>Mon, 12 Jul 2010 15:39:04 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/#comment-84582</guid>
		<description>&lt;p&gt;[...] design can introduce excessive coupling which will eat up most of the advantages described above. Hypermedia &#8211; or more precisely, following the REST architectural style &#8211; is the best way i know to [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] design can introduce excessive coupling which will eat up most of the advantages described above. Hypermedia &#8211; or more precisely, following the REST architectural style &#8211; is the best way i know to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Williams</title>
		<link>http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/comment-page-1/#comment-62919</link>
		<dc:creator>Peter Williams</dc:creator>
		<pubDate>Wed, 22 Oct 2008 21:32:05 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/#comment-62919</guid>
		<description>&lt;p&gt;Mr Wilson,&lt;/p&gt;

&lt;p&gt;I think in the situation you describe using URIs as the IDs is really compelling. The redirection capability of HTTP can be leveraged to provide excellent forward compatibility.&lt;/p&gt;

&lt;p&gt;If your future URI revamp is so simple that the clients would be able to handle, you could implement a simple mod_rewrite rule on the server and not have to mess with the clients at all. If however you ever need to revamp the URI patterns is some really fundamental way you can create, as part of the migration, a mapping between the old URIs and the equivalent new URIs.&lt;/p&gt;

&lt;p&gt;That combined with a client that respects the redirect type and you have a really scalable system. By that I mean, any client that stores URIs should updated them if it ever gets a permanent redirect when requesting that URI. If the client has some URI and a year later makes a GET request against it and receives a 301 &#8220;Moved Permanently&#8221;, it would updated that replace the old URI with the new URI in it&#8217;s internal storage.&lt;/p&gt;

&lt;p&gt;These mechanisms mean that you do not need a non-standard, or out-of-band, way to communicate URI pattern changes to the clients.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Mr Wilson,</p>
<p>I think in the situation you describe using URIs as the IDs is really compelling. The redirection capability of HTTP can be leveraged to provide excellent forward compatibility.</p>
<p>If your future URI revamp is so simple that the clients would be able to handle, you could implement a simple mod_rewrite rule on the server and not have to mess with the clients at all. If however you ever need to revamp the URI patterns is some really fundamental way you can create, as part of the migration, a mapping between the old URIs and the equivalent new URIs.</p>
<p>That combined with a client that respects the redirect type and you have a really scalable system. By that I mean, any client that stores URIs should updated them if it ever gets a permanent redirect when requesting that URI. If the client has some URI and a year later makes a GET request against it and receives a 301 &#8220;Moved Permanently&#8221;, it would updated that replace the old URI with the new URI in it&#8217;s internal storage.</p>
<p>These mechanisms mean that you do not need a non-standard, or out-of-band, way to communicate URI pattern changes to the clients.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Randy Wilson</title>
		<link>http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/comment-page-1/#comment-62911</link>
		<dc:creator>Randy Wilson</dc:creator>
		<pubDate>Wed, 22 Oct 2008 17:20:32 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/#comment-62911</guid>
		<description>&lt;p&gt;I&#039;ve got a situation where we have a billion resources (data extracted from genealogical records) that need long-lived IDs so that people in our &quot;tree&quot; can point back at the people extracted from our &quot;sources&quot;.&lt;/p&gt;

&lt;p&gt;If we change our root URI, all the links bust.  If our clients use &quot;base URI + id&quot; to construct URIs, then when we change, at least they just have to change the base URI instead of having to fix up a billion stored links (since the stored IDs would not have changed, though the URI did).  [BTW, we&#039;re looking at using something similar to &quot;ark&quot; to resolve broken links from the ids using a namespace at the beginning of the and a &quot;resolver&quot; service].&lt;/p&gt;

&lt;p&gt;When the clients are only using URIs temporarily, then it makes sense for them to get those full URIs from the server on the fly.  But if they are storing them, then I&#039;m still struggling with the best approach.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;ve got a situation where we have a billion resources (data extracted from genealogical records) that need long-lived IDs so that people in our &#8220;tree&#8221; can point back at the people extracted from our &#8220;sources&#8221;.</p>
<p>If we change our root URI, all the links bust.  If our clients use &#8220;base URI + id&#8221; to construct URIs, then when we change, at least they just have to change the base URI instead of having to fix up a billion stored links (since the stored IDs would not have changed, though the URI did).  [BTW, we're looking at using something similar to "ark" to resolve broken links from the ids using a namespace at the beginning of the and a "resolver" service].</p>
<p>When the clients are only using URIs temporarily, then it makes sense for them to get those full URIs from the server on the fly.  But if they are storing them, then I&#8217;m still struggling with the best approach.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Refactoring Mockingbird: Hypermedia as the Engine of Application State - Troy Gilbert</title>
		<link>http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/comment-page-1/#comment-62792</link>
		<dc:creator>Refactoring Mockingbird: Hypermedia as the Engine of Application State - Troy Gilbert</dc:creator>
		<pubDate>Tue, 14 Oct 2008 04:34:57 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/#comment-62792</guid>
		<description>&lt;p&gt;[...] Peter Williams - Hypermedia as the Engine of Application State. [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Peter Williams &#8211; Hypermedia as the Engine of Application State. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Hypertext Constraint at Analysis from the Bottom Up</title>
		<link>http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/comment-page-1/#comment-61970</link>
		<dc:creator>The Hypertext Constraint at Analysis from the Bottom Up</dc:creator>
		<pubDate>Fri, 05 Sep 2008 22:41:40 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/#comment-61970</guid>
		<description>&lt;p&gt;[...] Peter Williams on The Hypertext Constraint [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Peter Williams on The Hypertext Constraint [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2008-05-17 &#171; Object neo = neo Object</title>
		<link>http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/comment-page-1/#comment-51831</link>
		<dc:creator>links for 2008-05-17 &#171; Object neo = neo Object</dc:creator>
		<pubDate>Sat, 17 May 2008 23:31:01 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/#comment-51831</guid>
		<description>&lt;p&gt;[...] Peter Williams - Hypermedia as the Engine of Application State (tags: restful webservices architecture) [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Peter Williams &#8211; Hypermedia as the Engine of Application State (tags: restful webservices architecture) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Williams - Versioning REST Web Services</title>
		<link>http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/comment-page-1/#comment-50853</link>
		<dc:creator>Peter Williams - Versioning REST Web Services</dc:creator>
		<pubDate>Mon, 12 May 2008 17:53:48 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/#comment-50853</guid>
		<description>&lt;p&gt;[...] has to mung all the URIs it has stored to the point at the new API. Munging all the URIS breaks the HATEOAS constraint of REST and supporting multiple versions of the API is a maintenance [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] has to mung all the URIs it has stored to the point at the new API. Munging all the URIS breaks the HATEOAS constraint of REST and supporting multiple versions of the API is a maintenance [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hypermedia As The Engine Of Application State &#171; Ka anyi kwuo okwu</title>
		<link>http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/comment-page-1/#comment-40366</link>
		<dc:creator>Hypermedia As The Engine Of Application State &#171; Ka anyi kwuo okwu</dc:creator>
		<pubDate>Sun, 17 Feb 2008 21:03:27 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/#comment-40366</guid>
		<description>&lt;p&gt;[...] Here is another good article by Peter Williams addresses this. [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Here is another good article by Peter Williams addresses this. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Williams - The power of hypermedia remains non-obvious</title>
		<link>http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/comment-page-1/#comment-33310</link>
		<dc:creator>Peter Williams - The power of hypermedia remains non-obvious</dc:creator>
		<pubDate>Fri, 12 Oct 2007 17:22:19 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/#comment-33310</guid>
		<description>&lt;p&gt;[...] The more I work with REST based architectures the more enamored of hypermedia. Links make your representations brightly lit, well connected spaces and that will benefit you application in ways you probably have not even imagined yet. [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] The more I work with REST based architectures the more enamored of hypermedia. Links make your representations brightly lit, well connected spaces and that will benefit you application in ways you probably have not even imagined yet. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
