<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Simple Webmachine &#8211; Proper HTTP Resources</title>
	<atom:link href="http://blog.beerriot.com/2009/04/13/simple-webmachine-proper-http-resources/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.beerriot.com/2009/04/13/simple-webmachine-proper-http-resources/</link>
	<description>The making of BeerRiot and other thoughts.</description>
	<lastBuildDate>Wed, 28 Oct 2009 04:17:24 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: benoitc</title>
		<link>http://blog.beerriot.com/2009/04/13/simple-webmachine-proper-http-resources/#comment-1502</link>
		<dc:creator>benoitc</dc:creator>
		<pubDate>Tue, 19 May 2009 09:09:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.beerriot.com/?p=117#comment-1502</guid>
		<description>Thanks a lot for the example. I like working with webmachine currently. So refreshing</description>
		<content:encoded><![CDATA[<p>Thanks a lot for the example. I like working with webmachine currently. So refreshing</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan</title>
		<link>http://blog.beerriot.com/2009/04/13/simple-webmachine-proper-http-resources/#comment-1499</link>
		<dc:creator>Bryan</dc:creator>
		<pubDate>Sat, 16 May 2009 00:43:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.beerriot.com/?p=117#comment-1499</guid>
		<description>@benoitc: &lt;del datetime=&quot;2009-05-19T02:21:26+00:00&quot;&gt;I don&#039;t have a proxy resource written and tested for communicating with CouchDB specifically.&lt;/del&gt;  I&#039;ve written a few for other services, though.

Depending on what you want the behavior to be, it&#039;s usually not much more than implementing one of your resource&#039;s callbacks (usually an earlier one like service_available or resource_exists) to make an HTTP request elsewhere (ibrowse or inets makes that easy), then stuffing the response back into your ReqData and returning the response code.

If I get a chance this weekend, I&#039;ll sanitize one from my pile and post it here.

&lt;em&gt;Update: The example has been posted - &lt;a href=&quot;http://blog.beerriot.com/2009/05/18/couchdb-proxy-webmachine-resource/&quot; rel=&quot;nofollow&quot;&gt;read about it here&lt;/a&gt;.&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>@benoitc: <del datetime="2009-05-19T02:21:26+00:00">I don&#8217;t have a proxy resource written and tested for communicating with CouchDB specifically.</del>  I&#8217;ve written a few for other services, though.</p>
<p>Depending on what you want the behavior to be, it&#8217;s usually not much more than implementing one of your resource&#8217;s callbacks (usually an earlier one like service_available or resource_exists) to make an HTTP request elsewhere (ibrowse or inets makes that easy), then stuffing the response back into your ReqData and returning the response code.</p>
<p>If I get a chance this weekend, I&#8217;ll sanitize one from my pile and post it here.</p>
<p><em>Update: The example has been posted &#8211; <a href="http://blog.beerriot.com/2009/05/18/couchdb-proxy-webmachine-resource/" rel="nofollow">read about it here</a>.</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benoitc</title>
		<link>http://blog.beerriot.com/2009/04/13/simple-webmachine-proper-http-resources/#comment-1497</link>
		<dc:creator>benoitc</dc:creator>
		<pubDate>Fri, 15 May 2009 15:45:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.beerriot.com/?p=117#comment-1497</guid>
		<description>Do you have any example of proxy resource ? Could be usefull indeed to use webmachine &amp; couchdb together. Was thinking about tight now to just using js to uplad data to couchdb via webmachine...</description>
		<content:encoded><![CDATA[<p>Do you have any example of proxy resource ? Could be usefull indeed to use webmachine &amp; couchdb together. Was thinking about tight now to just using js to uplad data to couchdb via webmachine&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simple Webmachine Extension (1/4): PUT &#171; BeerRiot Blog</title>
		<link>http://blog.beerriot.com/2009/04/13/simple-webmachine-proper-http-resources/#comment-1472</link>
		<dc:creator>Simple Webmachine Extension (1/4): PUT &#171; BeerRiot Blog</dc:creator>
		<pubDate>Wed, 22 Apr 2009 15:12:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.beerriot.com/?p=117#comment-1472</guid>
		<description>[...] was thinking about how the os-environment resource from my last post could be extended. This post begins a four-part series in which new capabilities are added to [...]</description>
		<content:encoded><![CDATA[<p>[...] was thinking about how the os-environment resource from my last post could be extended. This post begins a four-part series in which new capabilities are added to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan</title>
		<link>http://blog.beerriot.com/2009/04/13/simple-webmachine-proper-http-resources/#comment-1470</link>
		<dc:creator>Bryan</dc:creator>
		<pubDate>Wed, 15 Apr 2009 14:00:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.beerriot.com/?p=117#comment-1470</guid>
		<description>@Jon: Completely agreed with the &quot;hack what you have&quot; sentiment.  If you&#039;re just writing a one-off that doesn&#039;t need to strictly comply with any standard, and won&#039;t need thorough testing, then it doesn&#039;t make sense to invest time in a new tool (other than for mind-broadening, of course).

However, I think you&#039;ve short-changed CouchDB.  *Any* tool you have an infrastructure built around has the same edge over any new tool you haven&#039;t picked up yet.

Where CouchDB has an edge is that it&#039;s an awesome storage system with an HTTP interface.  If what you&#039;re doing is document retrieval and storage, there&#039;s little that&#039;s nicer than CouchDB.

Where Webmachine&#039;s edge lies is in its ability to simplify the dirty complexity of HTTP.  RFC 2616 is a long, involved document, and it can be a fair bit of work to ensure that your code runs to the proper response code with the correct set of headers.  Webmachine abstracts the nitty gritty of setting headers, adding content, and choosing response codes so you can focus on defining the properties of your resource that you want exposed properly over HTTP (such as existence, encoding, and modification time, but also many others).  Webmachine does the translation from what you mean (e.g., &quot;This page exists, and hasn&#039;t been modified since you last requested it.&quot;) to what HTTP has to say (&quot;304 Not Modified, Date: XXX, Etag: YYY, ...&quot;).

Lucky for us, the CouchDB and Webmachine can coexist easily.  Run them side-by-side, and put squid/pound/etc. in front to direct requests to the proper place, or just write a simple proxy resource in one to point to the other.</description>
		<content:encoded><![CDATA[<p>@Jon: Completely agreed with the &#8220;hack what you have&#8221; sentiment.  If you&#8217;re just writing a one-off that doesn&#8217;t need to strictly comply with any standard, and won&#8217;t need thorough testing, then it doesn&#8217;t make sense to invest time in a new tool (other than for mind-broadening, of course).</p>
<p>However, I think you&#8217;ve short-changed CouchDB.  *Any* tool you have an infrastructure built around has the same edge over any new tool you haven&#8217;t picked up yet.</p>
<p>Where CouchDB has an edge is that it&#8217;s an awesome storage system with an HTTP interface.  If what you&#8217;re doing is document retrieval and storage, there&#8217;s little that&#8217;s nicer than CouchDB.</p>
<p>Where Webmachine&#8217;s edge lies is in its ability to simplify the dirty complexity of HTTP.  RFC 2616 is a long, involved document, and it can be a fair bit of work to ensure that your code runs to the proper response code with the correct set of headers.  Webmachine abstracts the nitty gritty of setting headers, adding content, and choosing response codes so you can focus on defining the properties of your resource that you want exposed properly over HTTP (such as existence, encoding, and modification time, but also many others).  Webmachine does the translation from what you mean (e.g., &#8220;This page exists, and hasn&#8217;t been modified since you last requested it.&#8221;) to what HTTP has to say (&#8220;304 Not Modified, Date: XXX, Etag: YYY, &#8230;&#8221;).</p>
<p>Lucky for us, the CouchDB and Webmachine can coexist easily.  Run them side-by-side, and put squid/pound/etc. in front to direct requests to the proper place, or just write a simple proxy resource in one to point to the other.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Gretar Borgthorsson</title>
		<link>http://blog.beerriot.com/2009/04/13/simple-webmachine-proper-http-resources/#comment-1469</link>
		<dc:creator>Jon Gretar Borgthorsson</dc:creator>
		<pubDate>Wed, 15 Apr 2009 10:23:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.beerriot.com/?p=117#comment-1469</guid>
		<description>Very nice. I could simplify my CouchDB demos by using some code from you as well. Get rid of my fun for example.

Where CouchDB has a bit of an edge is that you may already have a CouchDB infrastructure. May make sense to add some resorces to it rather than having a seperate Webmachine server. Especially as it&#039;s as simple as it is.

Webmachine may have some edge when we are dealing with open web services or something. I really don&#039;t know webmachine that well to make any statements about it.</description>
		<content:encoded><![CDATA[<p>Very nice. I could simplify my CouchDB demos by using some code from you as well. Get rid of my fun for example.</p>
<p>Where CouchDB has a bit of an edge is that you may already have a CouchDB infrastructure. May make sense to add some resorces to it rather than having a seperate Webmachine server. Especially as it&#8217;s as simple as it is.</p>
<p>Webmachine may have some edge when we are dealing with open web services or something. I really don&#8217;t know webmachine that well to make any statements about it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
