<?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/"
	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>This week in REST</title>
	<atom:link href="http://thisweekinrest.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://thisweekinrest.wordpress.com</link>
	<description>Weekly roundup of news about the REST architectural style</description>
	<lastBuildDate>Thu, 29 Dec 2011 13:11:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='thisweekinrest.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>This week in REST</title>
		<link>http://thisweekinrest.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://thisweekinrest.wordpress.com/osd.xml" title="This week in REST" />
	<atom:link rel='hub' href='http://thisweekinrest.wordpress.com/?pushpress=hub'/>
		<item>
		<title>This Week in #REST – Volume 41 (Nov 17 2011 – Dec 29 2011)</title>
		<link>http://thisweekinrest.wordpress.com/2011/12/29/this-week-in-rest-volume-41-nov-17-2011-dec-29-2011/</link>
		<comments>http://thisweekinrest.wordpress.com/2011/12/29/this-week-in-rest-volume-41-nov-17-2011-dec-29-2011/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 13:10:46 +0000</pubDate>
		<dc:creator>Ivan Zuzak</dc:creator>
				<category><![CDATA[thisweekinrest]]></category>
		<category><![CDATA[architectural style]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[hateoas]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[hypermedia]]></category>
		<category><![CDATA[media types]]></category>
		<category><![CDATA[representational state transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://thisweekinrest.wordpress.com/?p=454</guid>
		<description><![CDATA[This is Volume 41 of This week in REST, for November 17 2011 – December 29 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! And&#8230; &#8230; HAPPY NEW YEAR! :) Around [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=454&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is Volume 41 of This week in REST, for November 17 2011 – December 29 2011. For more information on this blog see <a href="http://thisweekinrest.wordpress.com/2010/02/01/this-week-in-rest-volume-1-jan-25-2010-jan-31-2010/" target="_blank">this post</a>. If I missed an interesting blog post, discussion or paper – just <a href="mailto:izuzak@gmail.com" rel="noreferrer" target="_blank">e-mail me</a> the links, <a href="http://www.twitter.com/izuzak" target="_blank">tweet</a> or leave a comment on the latest blog post. Thanks! And&#8230;</p>
<p>&#8230; HAPPY NEW YEAR! :)</p>
<h1>Around the Web</h1>
<p><a href="http://www.flickr.com/photos/girliemac/sets/72157628409467125/with/6508102407/" target="_blank">HTTP status cats</a> - (Lol)cat images for different HTTP status codes. And the follow-up: <a href="http://httpstatusdogs.com/" target="_blank">HTTP status dogs</a>.</p>
<p><a href="http://www.w3.org/2001/tag/2011/12/evolution/" target="_blank">Evolution of the Web</a> &#8211; &#8220;The Web is not finished. Evolution is necessary to adapt to new requirements, add new features and fix problems in response to changes in circumstances, applications, and user needs. How does evolution happen in a way that does not break it? Traditional means of evolution of formally defined languages, protocols, and standards do not fit well with the way in which the Web evolves. Unmanaged evolution results in diminishing the interoperability of components, a cost to all which must be weighed against the benefits of evolution. There are a number of issues that need to be addressed to help achieve the goal of global interoperability in an evolving world. This document analyzes some of the issues and makes recommendations for best practice.&#8221; (by Larry Masinter)</p>
<p><a href="http://www.w3.org/2001/tag/2011/12/uddp/" target="_blank">Understanding URI Hosting Practice as Support for Documentation Discovery</a> &#8211; &#8220;This document defines version 1.0 of the URI Documentation Discovery protocol, or &#8220;UDDP 1.0&#8243;. The protocol is a way to ask the agent that controls resolution behavior for a URI what it thinks the URI means or should mean.&#8221; (by Jonathan A. Rees)</p>
<p><a href="http://nbevans.wordpress.com/2011/12/16/websockets-versus-rest-fight/" target="_blank">WebSockets versus REST… fight!</a> &#8211; &#8221; On 8th December 2011, a little known (but growing in awareness) standard called “WebSockets” was upgraded to W3C Candidate Recommendation status. &#8230; After reading up about the standard in detail and absorbing the various online discussion around it, it is becoming increasingly clear to me that this standard is going to steal a large chunk of mind share from RESTful web services. What I mean is that there will come a stage in product development where somebody will have to ask the question: Right guys, shall we use WebSockets or REST for this project?&#8221; (by Nathan Evans)</p>
<p><a href="http://bitsup.blogspot.com/2011/09/spdy-what-i-like-about-you.html" target="_blank">SPDY: What I Like About You.</a> &#8211; &#8220;tl;dr; Faster is all well and good (and I mean that!) but I&#8217;m going to make a long argument that SPDY is good for the Internet beyond faster page load times. Compared to HTTP, it is more scalable, plays nicer with other Internet traffic and brings web security forward.&#8221; (by Patrick McManus)</p>
<p><a href="http://dret.typepad.com/dretblog/2011/12/action-uris.html" target="_blank">Action URIs</a> &#8211; &#8220;anybody doing non-trivial things with REST sooner or later runs into interactions beyond the simple CRUD (create/read/update/delete) operations. there often are cases where operations might be tied to a specific resource (or mainly to that resource), and then the question is how model this in a RESTful way. a pattern that is seen frequently is the <q>action URI</q>, which is a URI that specifically represents one action on one resource.&#8221; (by Erik Wilde)</p>
<p><a href="http://www.amundsen.com/blog/archives/1115" target="_blank">REST : &#8216;inverted&#8217; architecture</a> &#8211; &#8220;history has shown that the HTTP protocol is a very flexible protocol and that not all implementations need to follow the example provided by Fielding in order to meet the needs of users. for example, RPC over HTTP works just fine for many cases; esp. those that do not require system stability on the scale of years/decades.&#8221; (by Mike Amundsen)</p>
<p><a href="http://blog.steveklabnik.com/posts/2011-12-20-write-better-cukes-with-the-rel-attribute" target="_blank">Write Better Cukes With the Rel Attribute</a> &#8211; &#8220;The other day, I was working on some Cucumber features for a project, and I discovered a neat technique that helps you to write better Cucumber steps. &#8230; When doing research for my book on REST, I&#8217;ve been doing a lot of digging into various standards documents. And one of the most important attributes from a REST perspective is one that nobody ever talks about or uses: the rel attribute.&#8221;(by Steve Klabnik)</p>
<p><a href="http://requestb.in/" target="_blank">requestb.in</a> &#8211; The awesome <a href="http://www.postbin.org/" target="_blank">postbin</a> webapp got upgraded and polished. &#8220;RequestBin lets you create a URL that will collect requests made to it, then let you inspect them in a human-friendly way. Use RequestBin to see what your HTTP client is sending or to look at webhook requests.&#8221; (by Jeff Lindsay)</p>
<p><a href="http://www.stereoplex.com/blog/mobile-api-design-thinking-beyond-rest" target="_blank">Mobile API Design &#8211; Thinking Beyond REST</a> &#8211; &#8220;This article explores the problems of optimising REST APIs for mobile device performance, and suggests a way of allowing clients to request alternate representations.&#8221; (by Dan Fairs)</p>
<p><a href="http://www.infoq.com/news/2011/11/restfuse-1-0-0" target="_blank">Restfuse 1.0.0 &#8211; A Library For Easy REST/HTTP Integration Tests</a> &#8211; &#8220;EclipseSource has released the first stable version for an open source JUnit extension that automates testing of REST/HTTP services. Restfuse is a set of JUnit annotations that, along with the respective HttpJUnitRunner, offer assertions against the response of an HTTP call. Both synchronous and asynchronous remote calls are supported.&#8221; (by Kostis Kapelonis)</p>
<p><a href="http://wisdomofganesh.blogspot.com/2011/12/nutshell-definitions.html" target="_blank">Nutshell Definitions</a> &#8211; &#8220;I try and distil a concept into a single word, or at most a short phrase, in order to understand it. This has been very useful to me in evaluating the merits of technologies and comparing them to others. Call these my trade secrets which I&#8217;m now sharing with you :-).OK, so here are some of my definitions of popular terms, each in a nutshell:&#8221; (by Ganesh Prasad)</p>
<p><a href="http://nicksda.apotomo.de/2011/12/ruby-on-rest-introducing-the-representer-pattern/" target="_blank">Ruby On REST: Introducing the Representer Pattern</a> &#8211; &#8220;This post introduces the new <a href="https://github.com/apotonick/roar">Roar gem</a>, a framework-agnostic RESTframework for Ruby that puts focus on object-oriented RESTdocuments.&#8221; (by Nick Sutterer)</p>
<p><a href="http://www.innoq.com/blog/stilkov/2011/12/media-types/" target="_blank">Media Types in RESTful HTTP</a> &#8211; &#8220;A topic that comes up again and again in discussions about RESTful design is what kinds of media type to use. I’ve changed my mind about this a few times, often enough so that I believe it makes sense to write a bit about my current thinking on this. (A “media type”, should you happen to wonder what I’m talking about, is a specific format with a well-defined name, in this context represented in the form of a media type identifier such as application/xml or text/html or application/json.&#8221; (by Stefan Tilkov)</p>
<p><a href="http://soundadvice.id.au/blog/2011/12/06/#httpEvolvability" target="_blank">Best Practices for HTTP API evolvability</a> &#8211; &#8220;One thing we know is that these APIs will change, so what can we do at a technical level to deal with these changes as they occur? The main moving parts of a HTTP API are * The generic semantics of methods used in the API, including exceptional conditions and other metadata * The generic semantics of media types used in the API, including any and all schema information * The set of URIs that make up the API, including specific semantics each generic method and generic media types used in the API. These parts move at different rates.&#8221; (by Benjamin Carlyle)</p>
<p><a href="http://blog.stateless.co/post/13296666138/json-linking-with-hal" target="_blank">JSON Linking with HAL</a> &#8211; &#8220;We need a media type (the HTML of machines), not another XLink. We need a general purpose media type, which extends JSON, that can be used as a standard way to represent a resource and its relations to other resources on the Web.It’s very important, particularly because we are talking about JSON, that this media type be simple in its design.&#8221; (by Mike Kelly)</p>
<p><a href="http://www.subbu.org/blog/2011/11/announcing-ql-io" target="_blank">Announcing ql.io</a> &#8211; &#8220;ql.io is a declarative, evented, data-retrieval and aggregation gateway for HTTP APIs. Simply put, this is our answer to the pain points that I recently described in my APIs are a Pain post.&#8221; (by Subbu Allamaraju)</p>
<p><a href="http://duncan-cragg.org/blog/post/introduction-object-network/" target="_blank">Introduction | The Object Network</a> &#8211; &#8220;It&#8217;s interesting to compare the <a href="http://blog.programmableweb.com/2011/10/03/4000-web-apis-whats-hot-and-whats-next/">current growth of Web APIs</a> with the <a href="http://www.useit.com/alertbox/web-growth.html">early growth of the Web itself</a>. To save you jumping those links: the Web dramatically beats the APIs. I believe that the most likely cause of such relatively slow growth (in what should be a booming ecosystem) is that each API forms a closed silo and cannot benefit from any network effects. Every API is different and there are no links between them. There usually aren&#8217;t any links <em>within</em> a silo. You can&#8217;t even use a given API without first consulting the documentation. The <a href="http://the-object.net/">Object Network</a> is designed to fix this, with linked-up JSON in common formats. This will allow easier mashing, sharing and cacheing of data and allow client code to be shared and reused.&#8221; (by Duncan Cragg)</p>
<h1>Discussion groups</h1>
<p><a href="https://plus.google.com/u/0/118148240205592032989/posts/bsnruogBxAU" target="_blank">Oh, please no. JSON is a data format. If you want a hypertext format there&#8217;s HTML for that.</a> &#8211; A really long and interesting discussion concerning links in JSON.</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/18011?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Rails 3.2 and PATCH</a> &#8211; another long and interesting thread on PUT and PATCH semantics.</p>
<p><a href="http://lists.w3.org/Archives/Public/public-html/2011Nov/0234.html" target="_blank">Restoring PUT and DELETE</a> &#8211; &#8220;Can we revisit the decision to remove the PUT and DELETE verbs from HTML5.&#8221;</p>
<p><a href="http://lists.w3.org/Archives/Public/www-tag/2011Dec/0034.html" target="_blank">Discussion points on HTTP &#8220;evolutions&#8221;</a> &#8211; &#8220;HTTP is now used more and more to deliver data to web application, usuallyin small chunks. One result is that people wants to optimize the use ofHTTP, or HTTP itself (by modifying it, or modifying the underlyingtransport) to reduce latency, bandwidth usage etc&#8230;Another aspect is that Web content is more and more delivered toauthenticated users, meaning that the authentication part and the contentretrieval may be subject to snooping or worse, impersonation. Firesheep is a good example of a simple way to doreplay attacks when authentication is done in the clear through cookies. Areaction to that is to use https which has its own set of issues.&#8221;</p>
<p><a href="http://lists.w3.org/Archives/Public/ietf-http-wg/2011OctDec/0492.html" target="_blank">Negotiated private cache storage allocation</a> &#8211; &#8220;Is anyone aware of any proposals that extend HTTP to allow servers andclients to negotiate client-side storage allocation for client-side(private) caches?Basically, I&#8217;m looking for a way for a server to indicate how muchstorage should be allocated for caching responses from a particulardomain name, and possibly also for the client to be able to indicatehow much allocation was actually possible.&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17994?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">weighting and boundaries of evolvability and loose coupling?</a> &#8211; &#8220;one major aspect of using hypermedia is loose coupling and evolvability. butwhere are the boundaries? which server-side changes may/may not affecthypermedia-aware clients?for example: as a human user, i can easely adapt to a change in a web shopsystem, e.g. when the order procedure include suddenly an additional step likeproviding an optional voucher code.&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17984?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">service &#8220;definition&#8221; techniques</a> - &#8221;Is anyone using something like WADL for service definition documentation? We&#8217;re(hopefully) going to have a collection of many services in multiple domains andwe&#8217;ll be expected to have a standard &#8216;template&#8217; for defining/documenting aservice. I&#8217;m curious if anyone in an &#8220;enterprise&#8221; situation has run into thatand has any advice.&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17976?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Using # in link relations to distinct links of the same relationship</a> &#8211; &#8220;Several times i came to the question, wheter to specify a relation with somekind of index to distinct links of the same relationship type. examples:</p>
<p>GET /products/canon</p>
<p>&lt;category name=&#8221;canon&#8221; &#8230;&gt;&lt;link href=&#8221;&#8230;&#8221; rel=&#8221;http://example.com/item#1&#8243; &#8230;/&gt;&lt;link href=&#8221;&#8230;&#8221; rel=&#8221;http://example.com/item#2&#8243; &#8230;/&gt;&lt;link href=&#8221;&#8230;&#8221; rel=&#8221;http://example.com/item#3&#8243; &#8230;/&gt;&lt;/category&gt;&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17970?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Noob question</a> &#8211; &#8220;I have a list of tasks resource (PATH: /tasks). What rules of REST will break ifI made /tasks return different result for different sign in users (It could be/users/1/tasks)? What is the disadvantage of that? Thanks.&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/18183?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">The &#8220;new media types are evil&#8221; meme</a> &#8211; &#8220;I&#8217;ll give a few of thereasons using a generic media type is the better option&#8230; Is someone able to put together a similar list for the &#8220;new mediatypes are awesome&#8221; meme?&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/18203?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">REST = no interoperability!</a> &#8211; &#8220;Allow me to try a debate that is a bit more opiniated than my normal posts:REST will never get any break-through in M2M scenarios due to it&#8217;s completelack of interoperability! [ducking for cover]&#8220;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/18135?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">REST is not about domain models</a> &#8211; &#8220;If &#8220;REST is not about domain models&#8221; (as Glenn Block states it here:http://tech.groups.yahoo.com/group/rest-discuss/message/18117) how are wethen going to solve machine-to-machine scenarious where it is all aboutspecific domains? By not using REST? I know this is beating an old horse,but I still have issues with the idea of ignoring the domain of a system.&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/18085?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Less REST, more Hypermedia!</a> &#8211; &#8220;I think, it is time to push forward terms like &#8220;hypermedia service/API&#8221; or&#8221;hypermedia-aware client&#8221;. Instead of saying &#8220;hey i have a RESTful API&#8221;, tellthe people &#8220;i have a hypermedia API!&#8221;.&#8221;</p>
<h1>Events and books</h1>
<p><a href="http://ws-rest.org/2012/" target="_blank">WSREST 2012</a> &#8211; WSREST is on again next year, <a href="http://ws-rest.org/2012/cfp" target="_blank">find the CFP here</a>.</p>
<p><a href="http://www.icsoc.org/" target="_blank">ICSOC 2011</a> &#8211; This year&#8217;s ICSOC (International Conference on Service Oriented Computing) was held in Paphos, Cyprus. Have a look at the many interesting papers in the main program and workshops.</p>
<p><a href="http://shop.oreilly.com/product/0636920020530.do" target="_blank">Building Hypermedia APIs with HTML5 and Node</a> &#8211; a new book by Mike Amundsen &#8220;With this concise book, you’ll learn the art of building hypermedia APIs that don’t simply run on the Web, but that actually exist in the Web. You’ll start with the general principles and technologies behind this architectural approach, and then dive hands-on into three fully-functional API examples.&#8221;</p>
<h1>Interesting tweets</h1>
<p><a href="https://twitter.com/#!/mamund/status/151456754188812289" target="_blank">@mamund</a> &#8211; &#8220;breaking changes on the WWW is an anti-pattern; when the lifetime of a &#8220;API&#8221; for the WWW is counted in months (not years) that&#8217;s a <a title="#fail" href="https://twitter.com/#!/search?q=%23fail" rel="nofollow"><s>#</s><strong>fail</strong></a>.&#8221;</p>
<p><a href="https://twitter.com/#!/algermissen/status/151097221478219778" target="_blank">@algermissen</a> &#8211; &#8220;REST frameworks that hide too many HTTP details tend to really get in your way in the long run :-(&#8220;</p>
<p><a href="https://twitter.com/#!/mamund/status/149999854813319168" target="_blank">@mamund</a> &#8211; &#8220;<a title="#hypermedia" href="https://twitter.com/#!/search?q=%23hypermedia" rel="nofollow"><s>#</s><strong>hypermedia</strong></a> challenge: what if you were not allowed to put any URIs in your client code? could you still write a fully-functional app?&#8221;</p>
<p><a href="https://twitter.com/#!/dret/status/149620228563804160" target="_blank">@dret</a> &#8211; &#8220;mapping server-side #XML directly to URIs leads to (a) excessive granularity, (b) namespace problems, (c) API instability, and (d) insanity.&#8221;</p>
<p><a href="https://twitter.com/#!/dret/status/149611185422073857" target="_blank">@dret</a> &#8211; &#8220;or more generally speaking: link relationship types should not make any assumptions about the media types on both ends of the link.&#8221;</p>
<p><a href="https://twitter.com/#!/dret/status/149611483431579648" target="_blank">@dret</a> &#8211; &#8220;another link relationship registry question: wouldn&#8217;t it be very useful to know when two relationship types are the inverse of each other?&#8221;</p>
<p><a href="https://twitter.com/#!/darrel_miller/status/146596077892677633" target="_blank">@darrel_miller</a> &#8211; &#8220;Different media types are like different vehicles on the road. Use the right one for for the right job.&#8221;</p>
<p><a href="https://twitter.com/#!/dret/status/147501192556183552" target="_blank">@dret</a> &#8211; &#8220;apart from priority, in-representation links, protocol-level links, and external link overlays should all be treated equally. #REST&#8221;</p>
<p><a href="https://twitter.com/#!/mikekelly85/status/144867038509277184" target="_blank">@mikekelly85</a> &#8211; &#8220;Fellow devs; please stop creating custom media types for your web APIs. You don&#8217;t extend HTML to build a web app, why do it with an API?&#8221;</p>
<p><a href="https://twitter.com/#!/mamund/status/143139914131845120" target="_blank">@mamund</a> &#8211; &#8220;creating stand-alone app requires mapping problem domain to src code. creating WWW app requires mapping problem domain to msgs. <a title="#Hypermedia" href="https://twitter.com/#!/search?q=%23Hypermedia" rel="nofollow"><s>#</s><strong>Hypermedia</strong></a>&#8220;</p>
<p><a href="https://twitter.com/#!/joehewitt/status/117035860494520320" target="_blank">@joehewitt</a> &#8211; &#8220;Maybe the biggest threat to the web is JSON APIs, the lingua franca of native apps, which offer no hyperlinking and no standard semantics.&#8221;</p>
<p><a href="https://twitter.com/#!/mikekelly85/status/142215422425579520" target="_blank">@mikekelly85</a> - &#8221;Atom(pub) failed because it forces you to model resources as collections &amp; items, instead of other way round i.e. cols/items as resources&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thisweekinrest.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thisweekinrest.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thisweekinrest.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thisweekinrest.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thisweekinrest.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thisweekinrest.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thisweekinrest.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thisweekinrest.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thisweekinrest.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thisweekinrest.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thisweekinrest.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thisweekinrest.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thisweekinrest.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thisweekinrest.wordpress.com/454/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=454&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thisweekinrest.wordpress.com/2011/12/29/this-week-in-rest-volume-41-nov-17-2011-dec-29-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff743b4cba28cc47ad65cb90212c1e51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">izuzak</media:title>
		</media:content>
	</item>
		<item>
		<title>This Week in #REST – Volume 40 (Sept 12 2011 – Nov 16 2011)</title>
		<link>http://thisweekinrest.wordpress.com/2011/11/16/this-week-in-rest-%e2%80%93-volume-40-sept-12-2011-%e2%80%93-nov-16-2011/</link>
		<comments>http://thisweekinrest.wordpress.com/2011/11/16/this-week-in-rest-%e2%80%93-volume-40-sept-12-2011-%e2%80%93-nov-16-2011/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 19:31:36 +0000</pubDate>
		<dc:creator>Ivan Zuzak</dc:creator>
				<category><![CDATA[thisweekinrest]]></category>
		<category><![CDATA[architectural style]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[hateoas]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[hypermedia]]></category>
		<category><![CDATA[media types]]></category>
		<category><![CDATA[representational state transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://thisweekinrest.wordpress.com/?p=433</guid>
		<description><![CDATA[This is Volume 40 of This week in REST, for September 12 2011 – November 16 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! Around the Web Web API Design Cookbook [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=433&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is Volume 40 of This week in REST, for September 12 2011 – November 16 2011. For more information on this blog see <a href="http://thisweekinrest.wordpress.com/2010/02/01/this-week-in-rest-volume-1-jan-25-2010-jan-31-2010/" target="_blank">this post</a>. If I missed an interesting blog post, discussion or paper – just <a href="mailto:izuzak@gmail.com" rel="noreferrer" target="_blank">e-mail me</a> the links, <a href="http://www.twitter.com/izuzak" target="_blank">tweet</a> or leave a comment on the latest blog post. Thanks!</p>
<h1>Around the Web</h1>
<p><a href="http://scriptlib-cg.github.com/api-design-cookbook/" target="_blank">Web API Design Cookbook</a> &#8211; &#8220;This document captures common practices in designing APIs that fit well into the Web platform as a whole, using WebIDL&#8221;</p>
<p><a href="http://joehewitt.com/2011/09/26/what-the-web-is-and-is-not" target="_blank">What the Web is and is not</a> &#8211; &#8220;I&#8217;m beginning to see that some parts of the Web we take for granted are not what actually defines it. The Web is not HTML, CSS, and JavaScript. It&#8217;s not DOM, SVG, WebGL, PNG, or Flash. The Web is really just HTTP over TCP/IP. What gets transported over HTTP does not define the Web.There is, however, one other characteristic that does define the Web, and that is the humble hyperlink. Links are a feature of HTML, but they are not limited to HTML. Links are the connections that give the Web its name, and links are the biggest thing missing from native platforms.&#8221; (by Joe Hewitt)</p>
<p><a href="http://research.microsoft.com/apps/pubs/default.aspx?id=155053" target="_blank">The web interface should be radically refactored</a> - &#8221;The Web API conflates two conflicting goals: serving developers by supporting a wide and growing suite of functionality, and providing applications with an isolated execution environment. We propose to split the API into two levels of interface: a low-level interface that governs the relationship between the application and the browser, and a set of high-level interfaces that govern the relationship between the application and its developer. We delineate a tiny set of properties needed by the low-level interface. We argue that this restructuring provides significant benefit to both developers and users.&#8221; (by Jon Howell, John Douceur, Bryan Parno)</p>
<p><a href="http://www.amundsen.com/blog/archives/1109" target="_blank">hypermedia affordances</a> &#8211; &#8220;right now i am of the opinion that a single set of <em>aspects</em> of hypermedia affordances can be identified. that this set would be universal to all hypermedia designs; no matter the protocol used (HTTP, FTP, etc.), the data format used (HTML, JSON, etc.). and that set of <em>aspects</em>should be enough to &#8220;construct&#8221; any hypermedia control needed in order to support a particular action in a distributed application.&#8221; (by Mike Amundsen)</p>
<p><a href="http://www.ietf.org/id/draft-snell-http-prefer-04.txt" target="_blank">Prefer Header for HTTP</a> &#8211; &#8220;This specification defines an HTTP header that can be used by a user-   agent to request that certain behaviors be implemented by a server   while processing a request.&#8221; (IETF draft by J. Snell)</p>
<p><a href="http://www.infoq.com/presentations/Hypermedia-Services-for-Systems-Integration" target="_blank">Using Hypermedia Services for Systems Integration</a> - (presentation) &#8220;Tim Ewald explains why hypermedia is good for system integration through services –providing support for evolution, service request routing, and application recovery-, and how to build such services. &#8221; (by Tim Ewald)</p>
<p><a href="http://jalg.net/2011/11/cool-uris-and-integration/" target="_blank">Cool URIs and Integration</a> &#8211; &#8220;A key design aspect that made the very success of the World Wide Web possible was the removal of the referential integrity constraint from the hypermedia paradigm. In a system of the scale of the Web the problem of ensuring that no hyperlink would ever be broken cannot be solved and the only way to make the system work was to relax the constraint.&#8221; (by Jan Algermissen)</p>
<p><a href="http://dret.typepad.com/dretblog/2011/11/creating-resources-with-get-put.html" target="_blank">Creating Resources with GET/PUT</a> &#8211; &#8220;creating resources the RESTful way can be done with either PUT or POST, with PUT expecting that the URI of the created resource is known in advance (by the client issuing the request). semantically, the difference is that PUT is idempotent and thus can be repeated safely, whereas POST is non-idempotent and thus cannot be repeated. a PUT can be repeated because after creating a resource, a repeated PUT will simply overwrite the resource with the same representation, whereas a POST always is directed towards some factory resource, and thus repeating it would create a duplicate, which should be avoided.in many cases, clients do not know the URI of the new resource, so the PUT approach cannot be used. the problem with the simple POST model is that clients have a hard time figuring out what to do when the POST request fails (e.g., the HTTP library says something went wrong).&#8221; (by Erik Wilde)</p>
<p><a href="http://www.w3.org/2001/tag/2011/11/04-minutes.html" target="_blank">TAG f2f04 Nov 2011</a> &#8211; Minutes from the W3C TAG face-to-face meeting in November.</p>
<p><a href="http://www.baeldung.com/2011/11/06/restful-web-service-discoverability-part-4/" target="_blank">RESTful Web Service Discoverability, part 4</a> &#8211; &#8220;Discoverability of an API is a topic that doesn’t get enough well deserved attention, and as a consequence very few APIs get it right. It is also something that, if done right, can make the API not only RESTful and usable but also elegant.To understand discoverability, one needs to understand that constraint that is Hypermedia As The Engine Of Application State (HATEOAS); this constraint of a RESTful API is about full discoverability of actions/transitions on a Resource from Hypermedia (Hypertext really), as the only driver of application state. If interaction is to be driven by the API through the conversation itself, concretely via Hypertext, then there can be no documentation, as that would coerce the client to make assumptions that are in fact outside of the context of the API.&#8221;</p>
<p><a href="http://www.mnot.net/blog/2011/10/25/web_api_versioning_smackdown" target="_blank">Web API Versioning Smackdown</a> &#8211; &#8220;The answer is that there is no one answer; there are lots of different mechanisms in HTTP to meet the goals that people have for versioning.However, there is an underlying principle to almost any kind of of versioning on the Web; not breaking existing clients.The reasoning is simple; once you publish a Web API, people are going to start writing software that relies upon it, and every time you introduce a change, you introduce the potential to break them. That means that changes have to happen in predictable and well-understood ways.&#8221; (by Mark Nottingham)</p>
<p><a href="http://morethancoding.com/2011/09/07/uri-construction-give-it-a-rest/" target="_blank">URI construction: give it a REST</a> &#8211; &#8220;Picture the scene: you’ve just updated your product’s REST API. You’ve added lots of new features, revamped the URI structure and you’re excited for your clients to start using it.One of these two things will happen within the hour:Your support line will ring off the hook with angry customers screaming about how none of their applications are working anymore, and how they’re going to wring your neck for breaking their systems at the worst possible time.Everything works great and your customers send you chocolates in gratitude for the new features.The problems in #1 will occur if your customers do any kind of URI construction in their REST API client applications. That innocuous “revamping” of your URI structure has just broken all the clients who were tightly bound to the exact format and layout of your old URIs.&#8221; (by Brian Kelly)</p>
<p><a href="http://www.infoq.com/presentations/Webmachine" target="_blank">Webmachine: a Practical Executable Model of HTTP</a> &#8211; (presentation) &#8220;Justin Sheehy details Webmachine, a RESTful toolkit for writing well-behaved HTTP applications, helping developers to deal with the complexities of an HTTP-based application. &#8220; (by Justin Sheehy)</p>
<p><a href="http://www.twilio.com/engineering/2011/10/31/apis-are-for-human-beings/" target="_blank">APIs are for human beings (too)</a> &#8211; &#8220;Computers don’t care about API design. Convenient serialization formats, sane parameter names, and a RESTful interface mean nothing to a robot.  These aspects of an API are not meant for a machine, they’re meant for you – the developer.  APIs should be for human beings first and computers second.&#8221; (by Frank Stratton)</p>
<p><a href="http://www.infoq.com/articles/rest-soap" target="_blank">How REST replaced SOAP on the Web: What it means to you</a> &#8211; &#8220; The idea of reuse and composition made SOA an attractive proposition that sent thousands of organizations on a very challenging treasure hunt. We have since read SOA&#8217;s obituary and its resurrection with many stories of woe peppered with some success, but with very few achieving the holy grail of SOA. Meanwhile, the web has essentially become a service oriented platform, where information and functionality is a available through an API; the Web succeeded where the enterprise largely failed.This success can be attributed to the fact that the web has been decentralized in its approach and has adopted less stringent technologies to become service oriented.&#8221; (by Ross Mason)</p>
<p><a href="http://wisdomofganesh.blogspot.com/2011/10/i-hate-hateoas.html" target="_blank">I Hate HatEoAS</a> &#8211; &#8220;For something that&#8217;s supposed to be THE defining characteristic of REST, it could have done with better naming. I would have been happy with the term HatEoAS if it had stood for &#8220;Hypermedia as the <em>Envelope</em> of Application State&#8221; rather than &#8220;Hypermedia as the <em>Engine</em> of Application State&#8221;. (by Ganesh Prasad)</p>
<p><a href="http://amundsen.com/blog/archives/1110#" target="_blank">hypermedia binding</a> &#8211; &#8220;a solution to the evolving-over-time problem for dist-net apps is to bind clients and servers via a shared understanding of hypermedia controls. IOW, change the binding from first-class domain elements to an abstract expression of those elements; to elements (links and forms) that make &#8220;animating&#8221; dist-net apps possible.&#8221; (by Mike Amundsen)</p>
<h1>Discussion groups</h1>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17846?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Which URIs are bookmarkable?</a> &#8211; Very interesting thread on the &#8220;theory&#8221; behind bookmarking links. &#8220;In general, I am trying to answer the question:What are the indicators in media type (and link relation) specifications that tell the user agent implementor what URIs in responses of the media type in question can be considered bookmarkable?&#8221;</p>
<p><a href="http://www.ietf.org/mail-archive/web/happiana/current/msg00187.html" target="_blank">Reviews of draft-freed-media-type-regs-01 needed</a> &#8211; Roy&#8217;s thoughts on media type registration process. &#8220;We should be *encouraging* vendors to ship with vendor-neutral short-namedtypes regardless of whether they have been registered yet or not, and thenwe should be *encouraging* the public to register any names that they haveseen in deployed software.&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17936?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Using URI templates in XHTML</a>- Interesting thread on URI templates and hypermedia controls. &#8220;I&#8217;d like to use URI template as hypermedia control in XHTML, as a (richer) alternative to my existing forms. What do you think is the best way to do so ? Specifically, how would you represent an URI template in XHTML (given it must be used as a hypermedia control for programatic clients)?&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17963?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">absolute or relative URLs in links?</a> &#8211; &#8220;Is there a consensus?An absolute URL is, I guess, easier to consume by a client, whereas a relative link is also going to need some sort of (equivalent to HTML)BASE tag so that the client can build the URL to hit.&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17953?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Denormalizing Data In To Collection Resources?</a> &#8211; &#8220;Is there any good research trading off the chattiness, cachability,latency and redundancy of denormalized data in RESTful collection resources? Are there good rules of thumb to apply here. It&#8217;s temptingto say do the N hundred HTTP requests and come back when you can showit&#8217;s a problem, but that doesn&#8217;t go down well&#8230;&#8221;</p>
<h1>Events</h1>
<p><a href="http://www.w3.org/2011/10/integration-workshop/papers" target="_blank">W3C Workshop on Data and Services Integration</a> &#8211; Papers from the W3C workshop held on October 20-21 2011 in Bedford, MA, USA.</p>
<h1>Interesting tweets</h1>
<p><a href="https://twitter.com/#!/mikekelly85/status/128608982993616896" target="_blank">@mikekelly85</a> &#8211; &#8220;HTTP error responses aren&#8217;t reps of a resource&#8217;s state, they&#8217;re reps of a failure state produced by an intermediary mechanism&#8221;</p>
<p><a href="https://thisweekinrest.wordpress.com/wp-admin/post.php?post=433&amp;action=edit&amp;message=10" target="_blank">@dret</a> &#8211; &#8220;search is not a function or a property of a single resource, it&#8217;s a capability available for a collection &amp; may be independent of it. <a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow"><s>#</s><strong>REST</strong></a>&#8220;</p>
<p><a href="https://twitter.com/#!/AndrewWahbe/status/136658006405431297" target="_blank">@AndrewWahbe</a> &#8211; &#8220;Think of a hypermedia type as a client-defined interface that services can implement to plug into the client&#8221;</p>
<p><a href="https://twitter.com/#!/mamund/status/127113719640633344" target="_blank">@mamund</a> &#8211; &#8220;RT <a href="https://twitter.com/#!/dret" rel="nofollow"><s>@</s><strong>dret</strong></a>: &#8220;once you hit a resource where the representation signals success, that test has been successful.&#8221; express as assert, right? <s><a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">#</a></s><strong><a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">REST</a></strong>&#8220;</p>
<p><a href="https://twitter.com/#!/kidehen/status/133591778954715136" target="_blank">@kidehen</a> &#8211; &#8220;Data is the New Electricity with Hyperlinks (<a title="#URIs" href="https://twitter.com/#!/search?q=%23URIs" rel="nofollow"><s>#</s><strong>URIs</strong></a>) as the conduction mechanism :-) <a title="#LinkedData" href="https://twitter.com/#!/search?q=%23LinkedData" rel="nofollow"><s>#</s><strong>LinkedData</strong></a> <s><a title="#GartnerSym" href="https://twitter.com/#!/search?q=%23GartnerSym" rel="nofollow">#</a></s><strong><a title="#GartnerSym" href="https://twitter.com/#!/search?q=%23GartnerSym" rel="nofollow">GartnerSym</a></strong>&#8220;</p>
<p><a href="https://twitter.com/#!/mamund/status/133984544515825664" target="_blank">@mamund</a> &#8211; &#8220;media types can be used to express shared understanding of problem domain(s) in an implementation-agnostic format. <a title="#HTTP" href="https://twitter.com/#!/search?q=%23HTTP" rel="nofollow"><s>#</s><strong>HTTP</strong></a> <a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow"><s>#</s><strong>REST</strong></a> <s><a title="#Hypermedia" href="https://twitter.com/#!/search?q=%23Hypermedia" rel="nofollow">#</a></s><strong><a title="#Hypermedia" href="https://twitter.com/#!/search?q=%23Hypermedia" rel="nofollow">Hypermedia</a></strong>&#8220;</p>
<p><a href="https://twitter.com/#!/distobj/status/134390472360726528" target="_blank">@distobj</a> &#8211; &#8220;Pro tip; when writing HTTP/JSON apps, throw in a crude-but-complete HTML repr to keep you honest wrt hypermedia <s><a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">#</a></s><strong><a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">REST</a></strong>&#8220;</p>
<p><a href="https://twitter.com/#!/dret/status/127093709559971840" target="_blank">@dret</a> &#8211; &#8220;any non-trivial testing of <a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow"><s>#</s><strong>REST</strong></a> services needs &#8220;random link exploration&#8221; and some domain knowledge of &#8220;test space boundaries.&#8221; what else?&#8221;</p>
<p><a href="https://twitter.com/#!/mamund/status/131068713775529984">@mamund</a> &#8211; &#8220;RT <a href="https://twitter.com/#!/amirrajan" rel="nofollow"><s>@</s><strong>amirrajan</strong></a>: &#8220;still question the need for &#8220;restful&#8221; uris when you have hypermedia&#8221; i agree: startingURI(s)+HM = minimal URI rules (cont)&#8221;</p>
<p><a href="https://twitter.com/#!/dret/status/131921703671578626">@dret</a> &#8211; &#8220;<a href="https://twitter.com/#!/mamund" rel="nofollow"><s>@</s><strong>mamund</strong></a> goal-driven state machine based clients doing some validation and aggregation along the way. it&#8217;s a huge research opportunity!&#8221;</p>
<p><a href="https://twitter.com/#!/dret/status/109326257736531969" target="_blank">@dret</a> &#8211; &#8220;there&#8217;s <a title="#HTTP" href="https://twitter.com/#!/search?q=%23HTTP" rel="nofollow"><s>#</s><strong>HTTP</strong></a>, there&#8217;s <a title="#WebDAV" href="https://twitter.com/#!/search?q=%23WebDAV" rel="nofollow"><s>#</s><strong>WebDAV</strong></a> on top, and now there&#8217;s <a title="#CalDAV" href="https://twitter.com/#!/search?q=%23CalDAV" rel="nofollow"><s>#</s><strong>CalDAV</strong></a> and <a title="#CardDAV" href="https://twitter.com/#!/search?q=%23CardDAV" rel="nofollow"><s>#</s><strong>CardDAV</strong></a>. do we really need a specific protocol for each application?&#8221;</p>
<div><span style="color:#323223;font-family:verdana;background-color:#ffffff;"><br />
</span></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thisweekinrest.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thisweekinrest.wordpress.com/433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thisweekinrest.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thisweekinrest.wordpress.com/433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thisweekinrest.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thisweekinrest.wordpress.com/433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thisweekinrest.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thisweekinrest.wordpress.com/433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thisweekinrest.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thisweekinrest.wordpress.com/433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thisweekinrest.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thisweekinrest.wordpress.com/433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thisweekinrest.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thisweekinrest.wordpress.com/433/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=433&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thisweekinrest.wordpress.com/2011/11/16/this-week-in-rest-%e2%80%93-volume-40-sept-12-2011-%e2%80%93-nov-16-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff743b4cba28cc47ad65cb90212c1e51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">izuzak</media:title>
		</media:content>
	</item>
		<item>
		<title>This Week in #REST – Volume 39 (Aug 11 2011 – Sept 22 2011)</title>
		<link>http://thisweekinrest.wordpress.com/2011/09/23/this-week-in-rest-%e2%80%93-volume-39-aug-11-2011-%e2%80%93-sept-22-2011/</link>
		<comments>http://thisweekinrest.wordpress.com/2011/09/23/this-week-in-rest-%e2%80%93-volume-39-aug-11-2011-%e2%80%93-sept-22-2011/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 07:08:34 +0000</pubDate>
		<dc:creator>Ivan Zuzak</dc:creator>
				<category><![CDATA[thisweekinrest]]></category>
		<category><![CDATA[architectural style]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[hateoas]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[hypermedia]]></category>
		<category><![CDATA[media types]]></category>
		<category><![CDATA[representational state transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://thisweekinrest.wordpress.com/?p=420</guid>
		<description><![CDATA[This is Volume 39 of This week in REST, for August 11 2011 – September 22 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! Around the Web InfoQ Explores: REST &#8211; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=420&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is Volume 39 of This week in REST, for August 11 2011 – September 22 2011. For more information on this blog see <a href="http://thisweekinrest.wordpress.com/2010/02/01/this-week-in-rest-volume-1-jan-25-2010-jan-31-2010/" target="_blank">this post</a>. If I missed an interesting blog post, discussion or paper – just <a rel="noreferrer" target="_blank">e-mail me</a> the links, <a href="http://www.twitter.com/izuzak" target="_blank">tweet</a> or leave a comment on the latest blog post. Thanks!</p>
<h1>Around the Web</h1>
<p><a href="http://www.infoq.com/minibooks/emag-03-2010-rest" target="_blank">InfoQ Explores: REST</a> &#8211; &#8220;This is the first edition of what is expected to become a recurring series on InfoQ. The idea behind this minibook is that a number of InfoQ articles and interviews which deal with a particular topic (in this case, REpresentational State Transfer, or REST) are combined together to provide a detailed exploration suitable for both beginners and advanced practitioners.&#8221;</p>
<p><a href="http://dannyayers.com/2011/09/14/RESTful-Turing-Machines" target="_blank">Restful turing machines</a> &#8211; &#8220;I went to bed a couple of hours ago but every time I started to drift off a mosquito buzzed by. Led to this train of thought &#8211; how would you build a Universal Turing Machine with hypertext as the engine of state?&#8221; (by Danny Ayers)</p>
<p><a href="http://kellabyte.com/2011/09/04/clarifying-rest/" target="_blank">Clarifying REST</a> &#8211; &#8220;The definition of REST lost its way when popular services emerged calling themselves REST which were not. An API like Twitter is ignoring the values of the web and the browser by using HTTP as a transport for RPC (Remote Procedure Call). SOAP services also use HTTP in this way. Instead of doing RPC, HTTP should be used to transfer application state which is what REST is designed for.&#8221; (by Kelly Sommers)</p>
<p><a href="http://www.amazedsaint.com/2011/08/woa-is-here-to-stay-and-why-new-wcf.html" target="_blank">Web Oriented Architecture is here to Stay, and Why Microsoft’s new WCF Stack is interesting</a> &#8211; &#8220;WCF vNext Web Apis is a promising offering from Microsoft, but the key is evolving curry frameworks and tooling on top of the new Web APIs to support address common WOA concerns. WOA is more or less a set of best practices than a well defined methodology, so I’m not sure to what extent this can be abstracted.&#8221; (by Anoop Madhusudanan)</p>
<p><a href="http://www.w3.org/2001/tag/doc/IdentifyingApplicationState-20110830.html" target="_blank">Identifying Application State</a>- &#8220;This document explores the issues that arise from these new uses of fragment identifiers and attempts to define best practices. We argue that, in many cases, the use of query parameters along with the new HTML5 functionality mentioned above is preferable to fragment identifiers to identify application state.&#8221; (by W3C TAG)</p>
<p><a href="http://www.infoq.com/presentations/Getting-Things-Done-with-REST" target="_blank">Getting Things Done with REST</a> &#8211; (video) &#8220;Ian Robinson discusses how to implement a hypermedia-driven web application and how to test its workflow giving as example a RESTful web service he built on top of Microsoft’s Web API. &#8221; (by Ian Robinson)</p>
<p><a href="http://www.mnot.net/blog/2011/08/28/better_browser_caching" target="_blank">Better Browser Caching</a> &#8211; &#8220;In discussing my whinge about AppCache offline with a few browser vendory folks, I ending up writing down my longstanding wishlist for making browser caches better. Without further ado, a bunch of blue-sky ideas;&#8221; (by Mark Nottingham)</p>
<p><a href="http://www.amundsen.com/blog/archives/1108" target="_blank">Three levels of abstraction</a> - &#8221;i&#8217;ve spent the last year or so focusing on identifying the relationship between the protocol abstraction and the message abstraction. i&#8217;ve done this by analyzing various existing media types; developing a set of H-Factors common to all message formats that want to express protocol-level features via hypermedia controls.the next logical step is to analyze existing hypermedia implementations to locate and identify the general principles for expressing domain information within a hypermedia message. &#8221; (by Mike Amundsen)</p>
<p><a href="http://uri-templates.googlecode.com/svn/trunk/spec/draft-gregorio-uritemplate-06.html" target="_blank">URI Template</a> &#8211; (new version of IETF draft) &#8220;A URI Template is a compact sequence of characters for describing a range of Uniform Resource Identifiers through variable expansion. This specification defines the URI Template syntax and the process for expanding a URI Template into a URI reference, along with guidelines for the use of URI Templates on the Internet.&#8221;</p>
<p><a href="http://www.xmltoday.org/content/when-acronyms-collide-soa-vs-oo" target="_blank">When Acronyms Collide: SOA vs. OO</a> &#8211; &#8220;This article looks at a particular aspect of the current state of enterprise IT: the entangled relationship between the mindset and practices of large-scale Object Oriented application development, and the requirements of Service Oriented Architecture. This relationship has gone wrong and will remain a problem &#8211; a costly problem &#8211; until it’s put right.&#8221; (by Bill Blondeau)</p>
<h1>Discussion groups</h1>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17782?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">REST API For Documentation?</a> &#8211; &#8220;While thinking about documentation for the API we&#8217;re working on one ofour team suggested building a REST API to document the REST API. Resources in the documentation API would correspond to media types and contain data on the methods and properties available in those media types. Has anyone seen this done before? How did it work out?&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17770?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Conneg based on User-Agent</a> &#8211; &#8220;human targeted Web sites somtimes (or usually?) adjust the representations they send based on their knowledge about the abilities of the user agents (e.g. IE might get different stuff than FireFox).I think using the UserAgent header to negotiate representation features is a nice solution for non-human targeted situations, too. &#8220;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17698?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Are URI-Templates really coupling clients and server?</a> &#8211; &#8220;In different resources on the web, i found different opinions about URI Templating. Some say, they are coupling clients and server (e.g. Erik Wilde). Some propose their usage (e.g. subbu).I dont see any coupling &#8211; it is not said, that an URI Template connot changed either over time. As long as the server communicates the templates &#8211; like URIs &#8211; in resource representations, where is the problem?&#8221;</p>
<h1>Events</h1>
<p><a href="http://www.restfest.org/" target="_blank">RESTfest 2011</a> &#8211; if you missed this year&#8217;s RESTfest, watch the videos on-line <a href="http://vimeo.com/channels/restfest" target="_blank">here</a>.</p>
<p><a href="http://ecows2011.inf.usi.ch/" target="_blank">ECOWS 2011</a> &#8211; check out the many interesting papers from this year&#8217;s European conference on web service and the co-located workshops.</p>
<h1>Interesting tweets</h1>
<p><a href="https://twitter.com/#!/mamund/status/109418119101030400" target="_blank">@mamund</a> &#8211; &#8220;RT <a href="https://twitter.com/#!/dret" rel="nofollow"><s>@</s><strong>dret</strong></a>: <a href="https://twitter.com/#!/algermissen" rel="nofollow"><s>@</s><strong>algermissen</strong></a> &#8221;i don&#8217;t think app-specific protocols are good way to go.&#8221; options: 1)protocol, 2)media-type, 3)URI. i pick 2) <s><a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">#</a></s><strong><a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">REST</a>&#8220;</strong></p>
<p><a href="https://twitter.com/#!/dret/status/109451106236628992" target="_blank">@dret</a> &#8211; &#8220;<a href="https://twitter.com/#!/mamund" rel="nofollow"><s>@</s><strong>mamund</strong></a> i prefer to think of it as design patterns of solving common problems with (maybe new) media types and existing methods. <s><a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">#</a></s><strong><a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">REST</a>&#8220;</strong></p>
<p><a href="https://twitter.com/#!/dret/status/109335619385303040" target="_blank">@dret</a> &#8211; &#8220;<a href="https://twitter.com/#!/mamund" rel="nofollow"><s>@</s><strong>mamund</strong></a> wrt <a title="#WebDAV" href="https://twitter.com/#!/search?q=%23WebDAV" rel="nofollow"><s>#</s><strong>WebDAV</strong></a> and <a title="#CalDAV" href="https://twitter.com/#!/search?q=%23CalDAV" rel="nofollow"><s>#</s><strong>CalDAV</strong></a>: they invent new methods, which are not really something you can easily do by just adding new types. <s><a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">#</a></s><strong><a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">REST</a>&#8220;</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thisweekinrest.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thisweekinrest.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thisweekinrest.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thisweekinrest.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thisweekinrest.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thisweekinrest.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thisweekinrest.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thisweekinrest.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thisweekinrest.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thisweekinrest.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thisweekinrest.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thisweekinrest.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thisweekinrest.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thisweekinrest.wordpress.com/420/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=420&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thisweekinrest.wordpress.com/2011/09/23/this-week-in-rest-%e2%80%93-volume-39-aug-11-2011-%e2%80%93-sept-22-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff743b4cba28cc47ad65cb90212c1e51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">izuzak</media:title>
		</media:content>
	</item>
		<item>
		<title>This Week in #REST – Volume 38 (Jun 28 2011 – Aug 11 2011)</title>
		<link>http://thisweekinrest.wordpress.com/2011/08/12/this-week-in-rest-%e2%80%93-volume-38-jun-28-2011-%e2%80%93-aug-11-2011/</link>
		<comments>http://thisweekinrest.wordpress.com/2011/08/12/this-week-in-rest-%e2%80%93-volume-38-jun-28-2011-%e2%80%93-aug-11-2011/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 09:24:43 +0000</pubDate>
		<dc:creator>Ivan Zuzak</dc:creator>
				<category><![CDATA[thisweekinrest]]></category>
		<category><![CDATA[architectural style]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[hateoas]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[hypermedia]]></category>
		<category><![CDATA[media types]]></category>
		<category><![CDATA[representational state transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://thisweekinrest.wordpress.com/?p=408</guid>
		<description><![CDATA[This is Volume 38 of This week in REST, for June 28 2011 – August 11 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! Around the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=408&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is Volume 38 of This week in REST, for June 28 2011 – August 11 2011. For more information on this blog see <a href="http://thisweekinrest.wordpress.com/2010/02/01/this-week-in-rest-volume-1-jan-25-2010-jan-31-2010/" target="_blank">this post</a>. If I missed an interesting blog post, discussion or paper – just <a href="mailto:izuzak@gmail.com" target="_blank">e-mail me</a> the links, <a href="http://www.twitter.com/izuzak" target="_blank">tweet</a> or leave a comment on the latest blog post. Thanks!</p>
<h1>Around the Web</h1>
<p><a href="http://www.infoq.com/presentations/Building-Systems-with-REST" target="_blank">Building Systems with REST</a> &#8211; (video) &#8220;Glenn Block presents how developers can build RESTful solutions using Microsoft’s technologies, especially with WCF and .NET. Glenn is a PM on the WCF team working on Microsoft’s future HTTP and REST stack. Prior to WCF he was a PM on the new MEF in .NET 4.0. He has experience both inside and outside Microsoft developing software solutions for ISVs and the enterprise. He has also been active in involving folks from the community in the development of software at Microsoft, including shipping open source products.&#8221; (by Glenn Block)</p>
<p><a href="http://webr3.org/blog/semantic-web/notify/" target="_blank">NOTIFY</a> &#8211; &#8220;Subscribe and pull are pretty handy, but push (especially asynchronous) is just as useful, and often seems to be missing. So where is it at web level?Let&#8217;s say I have something named/identified with a URI, like myself, now everytime that&#8217;s mentioned anywhere on the web I&#8217;d like to know about it (okay not all the time, but it should at least be possible) &#8211; insert multiple scenario&#8217;s here, conclude that any notification solution needs to be as generalized as possible.So, I simply propose 3 basic things&#8230;&#8221; (by Nathan Rixham)</p>
<p><a href="http://nih.blogspot.com/2011/07/resourceful-restful-resourceful-routing.html" target="_blank">Resourceful != RESTful</a> &#8211; &#8220;Resourceful routing defines paths or routes for objects that the server developer would like to have manipulated with CRUD operations.  The developer can declare an &#8216;invitation&#8217; to be a resource, and the routes to index all invitations, create a new invitation, download an invitation, update or delete the invitation, are automatically created.  But, problem the first: Resourceful routing uses POST to create a new resource.  PUT is defined as creating a new resource in HTTP, and intermediaries can use that information&#8211; but only if PUT is used.  If POST is used, an intermediary can&#8217;t tell that a new resources was created. &#8220;</p>
<p><a href="http://www.amundsen.com/blog/archives/1105" target="_blank">my WCF Web API immersion</a> - &#8221;i had the good luck to be able to visit the Microsoft Redmond campus this past week. even better, i got the chance to spend time w/ @gblock and the WCF Web API team. and, in the process, got a serious &#8220;immersion&#8221; in the WCF Web API library. good stuff!&#8221; (by Mike Amundsen)</p>
<p><a href="http://www.amundsen.com/blog/archives/1104" target="_blank">states: transfers and representations</a> &#8211; &#8220;over the last several weeks, i&#8217;ve been working on a number of hypermedia designs. some of these are for clients&#8217; production implementations but many of them are just explorations of the design patterns and constraints; ways to learn how to effectively and efficiently express a problem domain within a hypermedia type design.it&#8217;s been a very interesting experience!what follows are my notes and observations about an ongoing process of discovery related to designing and implementing hypermedia-driven solutions. &#8220; (by Mike Amundsen)</p>
<p><a href="http://willhartung.blogspot.com/2011/07/so-jdubray-at-carnets-de-bord-has.html" target="_blank">unREST</a> - &#8220;So, jdubray at Carnets de bord has thrown down the gauntlet, I guess. He proposes &#8220;unREST&#8221;. What is unREST? It&#8217;s, umm, not REST. Simply put, it&#8217;s RPC. Pretty bold proposition, don&#8217;t you think?Here&#8217;s to hoping that unREST sweeps the internet so that the Restafarians can focus on working out the details of trying to apply REST as given rather than cleaning up everyone&#8217;s misconception that REST is using GET over HTTP for RPC.&#8221; (by Will Hartung)</p>
<p><a href="http://www.zapthink.com/2011/07/12/how-i-became-a-rest-convert/" target="_blank">How I Became a REST “Convert”</a> &#8211; &#8220;Much of the criticism of REST comes not from the interaction approach, but rather from the use of HTTP. Roy Fielding, <a href="http://tech.groups.yahoo.com/group/rest-discuss/message/6735">the progenitor of REST</a>, states in his <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm">dissertation</a> that REST was initially described in the context of HTTP, but is not limited to that protocol. He states that REST is an architectural style, not an implementation, and that the Web and the use of the HTTP protocol happens to be designed under such style. I chose to implement REST using <a href="https://secure.wikimedia.org/wikipedia/en/wiki/XMPP">eXtensible Messaging and Presence Protocol (XMPP)</a> as a way of doing distributed, asynchronous messaging styles of REST-based Service interaction. XMPP, also known as the Jabber Protocol, has already proven itself as a widely-used, highly-scalable messaging protocol for secure and distributed near-realtime messaging protocol. XMPP-based software is deployed widely across the Internet, and forms the basis of many high-scale messaging systems, including those used by Facebook and Google.&#8221; (by Ronald Schmelzer)</p>
<p><a href="http://mith.umd.edu/apiworkshop/further-resources/peter-keane/" target="_blank">REST in the design, use, and documentation of Web APIs</a> &#8211; (video) &#8220;“If it is on the web, HTTP is the API”“REST help us understand and take advantage of that”REST: Representational State Transfer&#8221; (by Peter Keane)</p>
<p><a href="http://www.jenitennison.com/blog/node/159" target="_blank">What Do URIs Mean Anyway?</a> - &#8221;If you’ve hung around in linked data circles for any amount of time, you’ll probably have come across the httpRange-14 issue. This was an issue placed before the W3C TAG years and years ago which has become a permathread on semantic web and linked data mailing lists. The basic question (or my interpretation of it) is:Given that URIs can sometimes be used to name things that aren’t on the web (eg the novel Moby Dick) and sometimes things that are (eg the Wikipedia page about Moby Dick), how can you tell, for a given URI, how it’s being used so that you can work out what a statement (say, about its author) means?&#8221; (by Jeni Tennison)</p>
<p><a href="http://blog.steveklabnik.com/2011/08/07/some-people-understand-rest-and-http.html" target="_blank">Some People Understand REST and HTTP</a> &#8211; &#8220;As it turns out, there are two companies that you&#8217;ve probably heard of who have APIs that are much more RESTful than many others: <a href="http://www.twilio.com/docs/api/rest/">Twillio</a> and <a href="http://developer.github.com/">GitHub</a>. Let&#8217;s take a look at GitHub first.&#8221; (by Steve Klabnik)</p>
<p><a href="http://webofdata.wordpress.com/2011/08/07/json-data-and-the-rest/" target="_blank">JSON, data and the REST</a> - &#8221;From its humble beginning some 10 years ago, JSON is now the light-weight data lingua franca. From the nine Web APIs I had a look at recently in the REST: From Research to Practice book, seven offered their data in JSON. These days it is possible to access and process JSON data from virtually any programming language – check out the list at json.org if you doubt that.&#8221; (by Michael Hausenblas)</p>
<p><a href="http://www.w3.org/2001/tag/doc/IdentifyingApplicationState-20110715.html" target="_blank">Identifying Application State</a> &#8211; new version of the W3C TAG proposed finding&#8221;As the Web has evolved from a Web of documents to a Web of applications, the use of the hash sign, <code>#</code>, in URIs has evolved correspondingly. Originally introduced as a static &#8220;fragment identifier&#8221; to identify locations in a document, it is now being used in many more complex ways, for example, by SVG and PDF to select from and render documents and as arguments to Web applications that are interpreted by JavaScript. Fragment identifiers are used to provide several different kinds of parameters to the client-side application, such as the actual URI of a video to be played to a video player, or the position and zoom to a map. Unlike query parameters preceded by <code>?</code>, the characters in the URI bar after the <code>#</code> can be changed without causing the page to be reloaded. Applications and toolkits using fragment identifiers in this way often go to some effort to maintain a history and make sure the back button works as expected. Accessibility and search can, however, be compromised, because without running JavaScript, the URI has no meaning. Such uses of the &#8220;fragment identifier&#8221; have interesting and different properties, and the usage differs from the way it is described in existing specifications. Recently added functionality in <a href="http://www.w3.org/2001/tag/doc/IdentifyingApplicationState-20110715.html#html5">[HTML5]</a> (<code>history.pushState()</code> and <code>history.replaceState()</code>) allows browser history to be changed without causing a page reload thereby providing an alternative to the use of fragment identifiers to identify application state. This document explores the issues that arise from these new uses of fragment identifiers and attempts to define best practices. We argue that, in many cases, the use of query parameters along with the new HTML5 functionality mentioned above is preferable to fragment identifiers to identify application state.&#8221; (by T.V. Raman, Ashok Malhotra; W3C TAG)</p>
<p><a href="http://amundsen.com/media-types/collection/" target="_blank">Collection+JSON &#8211; Hypermedia Type</a> &#8211; &#8220;Collection+JSON is a JSON-based read/write hypermedia-type designed to support management and querying of simple collections. It is similar to the The Atom Syndication Format (RFC4287) and the The Atom Publishing Protocol (RFC5023) . However, Collection+JSON defines both the format and the semantics in a single media type. It also includes support for Query Templates and expanded write support through the use of a Write Template.&#8221; (by Mike Amundsen)</p>
<p><a href="http://masinter.blogspot.com/2011/06/irreconcilable-differences.html" target="_blank">Irreconcilable differences</a> &#8211; &#8220;The ongoing battle for future control over HTML is dominated not only by the usual forces (&#8220;whose technology wins?&#8221;) but also some very polarized views of what standards are, what they should be, how standards should work and so forth. The debate over these prinicples has really slowed down the development of web standards. Many of these issues were also presented at the November 2010 W3C Technical Plenary in the &#8220;HTML Next&#8221; session.I&#8217;ve written down some of these polarized viewpoints, as an extreme position and a counterposition.&#8221; (by Larry Masinter)</p>
<p><a href="http://oredev.org/2010/sessions/hypermedia-apis" target="_blank">Hypermedia APIs</a> &#8211; (video) &#8220;RESTful web services are one of our core design patterns. Roy Fielding’s thesis identifies four major constraints that identify a RESTful architecture (statelessness, resource-orientation, uniform interface, hypermedia-driven application state). Many “RESTful” APIs only get 3 out of 4 of these; we’ve begun experimenting with using XHTML as a media type for our APIs (instead of the more traditional JSON or Atom types), and this provides a lot of power in terms of scalability and loose coupling between client and server. I can go over these concepts and perhaps even do some coding-on-the-fly to demonstrate some of these client and server concepts.&#8221; (by Jon Moore)</p>
<h1>Events</h1>
<p><a href="http://www.computer.org/portal/web/computingnow/iccfp4" target="_blank">IEEE Internet Computing special issue on Programmatic Interfaces for Web Applications</a> - &#8220;Although they can take advantage of already existing Web architecture, many APIs that claim to be RESTful actually fail to do so. They overload the meaning of HTTP methods, ignore standard response codes, or do not well support hypermedia to represent relationships among application states. Moreover, developing a programmatic Web interface requires a tight integration with already existing back-end applications and infrastructures, and sometimes requires a new, highly dependable back-end technology. This special issue seeks original articles on topics related to emerging technologies and best development practices that underpin any modern programmatic Web interface. Sample topics include: best practices, patterns, and anti-patterns of a programmatic Web interface design; benchmarking and evaluation of programmatic Web interface scalability and performance in large-scale Web applications; comparisons and empirical evaluation of various styles, protocols, and descriptions for programmatic Web interfaces; reports and lessons learned from developing programmatic Web interfaces for various application domains and sectors; and end-to-end engineering of programmatic Web interfaces and their integration with existing back-end applications requiring the development of novel dependable and scalable technology frameworks.&#8221;</p>
<p><a href="http://www.amundsen.com/blog/archives/1106" target="_blank">RESTFest is a week away</a> - &#8220;wow, only one week before the start of <a href="http://www.restfest.org/">RESTFest 2011</a>! there are still some tickets to this &#8216;smallish&#8217; event. at least one sponsor (<a href="http://www.twilio.com/">Twilio</a>) is offering &#8216;scholarship&#8217; tickets to <a href="http://twitter.com/#!/restfest/status/101358866004066304">worthy individuals</a>, too.&#8221; + more info on all the cool events happening on RESTFest 2011. (by Mike Amundsen)</p>
<h1>Discussion groups</h1>
<p><a href="http://lists.w3.org/Archives/Public/www-tag/2011Jun/0163.html" target="_blank">Comments solicited: &#8220;Providing and discovering definitions of URIs&#8221;</a> &#8211; (W3C TAG mailing list) &#8220;As most of you know, the 9-year-old &#8220;httpRange-14&#8243; turf war is anannoyance and embarrassment in efforts to develop RDF, linked data,the Semantic Web, and Web architecture.As a step toward getting closure I&#8217;ve prepared a document (withthe help of the TAG and the AWWSW task group):  http://www.w3.org/2001/tag/awwsw/issue57/20110625/which attempts to record the variety of approaches that have beenoffered.&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17672?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Media type derivation: standardize the + semantics?</a> &#8211; (REST discussion group) &#8220;Due to previous posts [1] i was asking myself, if it would make sense tostandarize the usage of the + sign in media type indications.I think the benfit would be, that a more specific media type like &#8220;application/odata+atom+xml&#8221; (which is currently not existing) could be at leastinterpret as &#8220;application/atom+xml&#8221; (which is currently the media type of anodata resource [2]).&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17655?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Is there (a need for) a text/form+html media type?</a> - (REST discussion group) &#8221;In some posts here it is mentioned, one can use simple html forms for providinga decoupled POST/PUT mechanismen. (and thus also avoiding communicatingUriTemplates)I was wondering, if a there is a specific media type for that? Ye, sure one canuse just text/html. But to support better visibility, i could imagine a mediatype text/form+html, that would better communicate the intend&#8230;Am i missing something? Is there related work?&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17617?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">REST and HATEOAS in the context of native applications?</a> - (REST discussion group) &#8220;What I really can&#8217;t wrap my head around is how, technically, have HATEOAS in anative application? I mean, when building a native application, I have tablesto display lists, buttons to do some things, etc. My understanding is that allthose should be displayed based on the data (hypermedia) received from theserver. Is that right?&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17599?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">inverse of Content-Location</a> - (REST discussion group) &#8221;To indicate which representation of a resource was sent, the server can use theContent-Location header.E.g., if a client wants an HTML version in Spanish of /news/40, the server sendsthis and addsContent-Location: /news/40.es.htmlBut how can we get to the original, unnegotiated URI from /news/40.es.html?&#8221;</p>
<h1>Interesting tweets</h1>
<p>&#8212;</p>
<p><a href="https://twitter.com/#!/mamund/status/90767375774924801" target="_blank">@mamund</a> &#8211; &#8220;A good <a title="#Hypermedia" href="https://twitter.com/#!/search?q=%23Hypermedia" rel="nofollow">#Hypermedia</a> design does not constrain a client implementor&#8217;s ability to determine how responses are rendered. <a title="#HTTP" href="https://twitter.com/#!/search?q=%23HTTP" rel="nofollow">#HTTP</a> <a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">#REST</a>&#8220;</p>
<p><a href="https://twitter.com/#!/darrel_miller/status/100583182306508800" target="_blank">@darrel_miller</a> &#8211; &#8220;This <a title="http://rex.mslivelabs.com" href="http://t.co/iIorgIp" rel="nofollow" target="_blank">http://t.co/iIorgIp</a> makes my cry little tears of hypermedia joy.&#8221;</p>
<p><a href="https://twitter.com/#!/WoT2011/status/86713923583225856" target="_blank">@WoT2011</a> &#8211; &#8220;<a title="#wot2011" href="https://twitter.com/#!/search?q=%23wot2011" rel="nofollow">#wot2011</a> proceedings now available in the <a title="#ACM" href="https://twitter.com/#!/search?q=%23ACM" rel="nofollow">#ACM</a> digital library <a title="#ICPS" href="https://twitter.com/#!/search?q=%23ICPS" rel="nofollow">#ICPS</a> series!<a href="http://portal.acm.org/citation.cfm?id=1993966" rel="nofollow" target="_blank">http://portal.acm.org/citation.cfm?id=1993966</a>&#8220;</p>
<p><a href="https://twitter.com/#!/mamund/status/101002574391541760" target="_blank">@mamund</a> &#8211; &#8220;Web Intents &lt;- i love the smell of hypermedia in morning; it smells like.. Victory! <a title="#HTTP" href="https://twitter.com/#!/search?q=%23HTTP" rel="nofollow">#HTTP</a> <a title="#Hypermedia" href="https://twitter.com/#!/search?q=%23Hypermedia" rel="nofollow">#Hypermedia</a> <a title="#LOD" href="https://twitter.com/#!/search?q=%23LOD" rel="nofollow">#LOD</a> -<a href="http://j.mp/nT2bgv" rel="nofollow" target="_blank">http://j.mp/nT2bgv</a>&#8220;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thisweekinrest.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thisweekinrest.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thisweekinrest.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thisweekinrest.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thisweekinrest.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thisweekinrest.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thisweekinrest.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thisweekinrest.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thisweekinrest.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thisweekinrest.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thisweekinrest.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thisweekinrest.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thisweekinrest.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thisweekinrest.wordpress.com/408/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=408&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thisweekinrest.wordpress.com/2011/08/12/this-week-in-rest-%e2%80%93-volume-38-jun-28-2011-%e2%80%93-aug-11-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff743b4cba28cc47ad65cb90212c1e51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">izuzak</media:title>
		</media:content>
	</item>
		<item>
		<title>This Week in #REST – Volume 37 (Jun 1 2011 – Jun 27 2011)</title>
		<link>http://thisweekinrest.wordpress.com/2011/06/28/this-week-in-rest-%e2%80%93-volume-37-jun-1-2011-%e2%80%93-jun-27-2011/</link>
		<comments>http://thisweekinrest.wordpress.com/2011/06/28/this-week-in-rest-%e2%80%93-volume-37-jun-1-2011-%e2%80%93-jun-27-2011/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 05:06:58 +0000</pubDate>
		<dc:creator>Ivan Zuzak</dc:creator>
				<category><![CDATA[thisweekinrest]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[hateoas]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[hypermedia]]></category>
		<category><![CDATA[media types]]></category>
		<category><![CDATA[representational state transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://thisweekinrest.wordpress.com/?p=391</guid>
		<description><![CDATA[This is Volume 37 of This week in REST, for June 1 2011 – June 27 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! Around the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=391&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is Volume 37 of This week in REST, for June 1 2011 – June 27 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks!</p>
<h1>Around the Web</h1>
<p><a href="http://amundsen.com/blog/archives/1101" target="_blank">designing a RESTBucks media-type</a> - &#8221;for this blog post, i&#8217;ve commandeered the RESTBucks examples from REST in Practice in order to illustrate a simple methodology for expressing application domain details as hypermedia types in a way that works for HTTP and the Web. keep in mind this is my own interpretation of the RESTbucks example and is not meant to indicate the endorsement or approval of the authors of REST in Practice.the material that follows is based on content from a new book i am working on entitled &#8220;Building Hypermedia APIs with HTML5 and Node&#8221; that will be released later this year.&#8221; (by Mike Amundsen)</p>
<p><a href="http://www.w3.org/2001/tag/2011/06/06-agenda" target="_blank">W3C TAG meeting 6-8 June 2011 in Cambridge, MA, USA</a> &#8211; Agenda and minutes from the latest W3C TAG meeting + <a href="http://www.jenitennison.com/blog/node/158" target="_blank">comments</a> from Jeni Tennison.</p>
<p><a href="http://www.w3.org/wiki/HttpRange14Webography" target="_blank">HttpRange14Webography</a> &#8211; A chronology of discussions about the HTTP range-14 issue.</p>
<p><a href="http://tools.ietf.org/html/draft-freed-media-type-regs-00" target="_blank">Media Type Specifications and Registration Procedures</a> &#8211; &#8220;This document defines procedures for the specification and   registration of media types for use in MIME and other Internet   protocols.&#8221; (IETF draft &#8211; N. Freed, J. Klensin, T. Hansen)</p>
<p><a href="http://stateless.co/hal_specification.html" target="_blank">HAL &#8211; Hypertext Application Language: A lean hypermedia type for RESTful APIs</a> &#8211; &#8220;HAL is a simple, generic hypermedia type based on JSON and XML for use in RESTful APIs. Essentially, HAL provides a set of conventions for expressing hyperlinks to, and embeddedness of, related resources &#8211; the rest of a HAL representation is just plain old JSON or XML. HAL consists of two reserved elements: Resource and Link. Any and all elements are legal in a HAL representation provided they do not conflict with HAL&#8217;s reserved elements.&#8221; (by Mike Kelly) + a <a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17573?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">comments thread on the REST mailing list</a></p>
<p><a href="http://www.ebpml.org/blog2/index.php/2011/06/11/we-live-in-a-post" target="_blank">We live in a POST REST/SOAP World</a> &#8211; &#8220;we now live in a POST REST/SOAP world. Converged (Mobile) Applications have pushed the envelope of what distributed computing should do and how it does it. Never HTTP or SOAP were really prepared for 3-legged authentication, respect privacy and support monetization at the scale of several billion API calls/month. Actually SOAP was a bit more prepared since a message could have a number of security tokens representing different principals, but who cares, we were told that HTTP was the answer, because it was &#8220;RESTful&#8221; so now we struggle with all kinds of three-legged authentication mechanisms.&#8221; (by Jean-Jacques Dubray)</p>
<p><a href="http://amundsen.com/blog/archives/1101" target="_blank">designing a RESTBucks media-type</a> &#8211; (by Mike Amundsen)</p>
<p><a href="http://blog.stateless.co/post/6246070973/how-offline-web-apps-should-work" target="_blank">How Offline Web Apps Should Work</a> &#8211; &#8220;The essence of this proposal is that a proper solution to the offline web app problem should not require drawing a distinction between “offline” and “online” assets. There is no need for ‘cache manifests’, or to create a separate ‘application cache’ from the standard browser cache.This solution should leverage existing web caching infrastructure (i.e. HTTP headers such as Cache-Control, Etags, etc) to control how browsers store and negotiate the assets required to run the application offline.&#8221; (by Mike Kelly)</p>
<p><a href="http://www.stucharlton.com/blog/archives/2011/06/the-trouble-with-apis.html" target="_blank">The trouble with APIs</a> &#8211; &#8220;1. REST APIs are a case of good intentions run amok. The point of REST was to *eliminate* specific APIs. Not cause their proliferation. 2. When someone says you shouldn&#8217;t document a REST API, they&#8217;re saying you shouldn&#8217;t have an API. Not that you shouldn&#8217;t document. 3. That said, RESTians saying you shouldn&#8217;t have an API are somewhat vacuous because they offer no good alternative. Custom media types ain&#8217;t. 4. Thus, IMO, until we have a workable generic media type or two for the 80% case of &#8220;REST APIs&#8221;, we&#8217;re just growing a frustrating mess.&#8221; (by Stuart Charlton)</p>
<p><a href="http://broadcast.oreilly.com/2011/06/the-good-the-bad-the-ugly-of-rest-apis.html" target="_blank">The Good, the Bad, and the Ugly of REST APIs</a> &#8211; &#8220;Adrian Cole of jclouds and I have written a lot of code against a variety of SOAP and REST cloud computing APIs. We&#8217;ve seen a lot of the good, the bad, and the ugly in API design and we tend to complain to each other about the things we dislike. This article sums up my thinking on the subject (not necessarily Adrian&#8217;s, though Adrian reviewed the document and gave me additional ideas).&#8221; (by George Reese) + a <a href="http://stage.vambenepe.com/archives/1777" target="_blank">comment post</a> from William Vambenepe.</p>
<p><a href="http://www.w3.org/2001/tag/awwsw/issue57/20110531/" target="_blank">Providing and discovering definitions of URIs</a> &#8211; &#8220;A few widely known methods are in use to help agents provide and discover URI definitions, including RDF fragment identifier resolution and the HTTP 303 redirect. Difficulties in using these methods have led to a search for new methods that are easier to deploy, and perform better, than the established ones. However, some of the proposed methods introduce new problems, such as incompatible changes to the way metadata is written. This report brings together in one place information on current and proposed practices, with analysis of benefits and shortcomings of each.The purpose of this report is not to make recommendations but rather to initiate a discussion that might lead to consensus on the use of current and/or new methods.&#8221; (by Jonathan Rees)</p>
<p><a href="http://service-architecture.blogspot.com/2011/06/what-rest-needs-to-do-to-succeed-in.html" target="_blank">What REST needs to do to succeed in the enterprise</a> &#8211; &#8220;In the spirit of constructive criticism here is what REST needs to do in order to succeed in the enterprise and B2B markets, the sort of markets that make actual revenues and profits as opposed to hype markets with the stability of a bubble. First off there is the mental change required, four steps here. Focus on how people and especially teams work. Accept that HTTP isn&#8217;t a functional API. Accept that enterprise integration, B2B and Machine to Machine require a new approach. Accept that the integration technology isn&#8217;t the thing that delivers value.&#8221; (by Steve Jones)</p>
<p><a href="http://service-architecture.blogspot.com/2011/05/rest-isnt-undead-in-enterprise-its.html" target="_blank">REST isn&#8217;t undead in the enterprise&#8230; its still born</a> - &#8221;All this just proves what I&#8217;ve said for a long time. REST works for information traversal, but its not set up for the enterprise. So what is the issue with REST not displacing SOAP in the enterprise? &#8230;. REST needs a standard way to publish its API and for a way to notify changes in that API. This is a &#8220;solved&#8221; problem in IT but for some reason the REST community appears to prefer blaming others for the lack of enterprise success of their technology rather than facing up to the simple reality&#8230;&#8221; (by Steve Jones)</p>
<p><a href="https://docs.google.com/present/view?id=dd4bk538_182f55p5x3f&amp;ndplr=1" target="_blank">All About EVE: Extensibility, Versioning, Evolvabiility, etc. through Modifiability</a> &#8211; Excellent presentation slides on versioning and evolvability in (RESTful hypermedia) systems. (by Mike Amundsen)</p>
<h1>REST mailing list</h1>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17571?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Definition of a Hypermedia Client</a> &#8211; excellent attempts at defining a hypermedia client.</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17546?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Stateful APIs</a> &#8211; &#8220;Consider a simple photo storage service as an API. Users can only interactwith the API if they’ve got an account. Let’s say authorization happensoverHTTP Basic. Given that, would you use URIs like /photos and /photos/{id} (as a photo listand photo detail resource, respectively)? What’s weird about those URIs isthat my /photos is a different list of photos than your /photos — in otherwords, the resource represented depends on the information intheAuthorization header.&#8221;</p>
<h1>Events</h1>
<p><a href="http://icwe2011.webengineering.org/" target="_blank">ICWE2011</a> &#8211; The 11th International conference on Web engineering was held at Paphos, Cyprus. Check out the <a href="http://icwe2011.webengineering.org/Program/" target="_blank">program page</a> for the list of presented papers and the <a href="http://icwe2011.webengineering.org/AcceptedWorkshops/" target="_blank">workshops page</a> for the list of workshops. I didn&#8217;t go through the papers from all the workshops yet, but at lest 2-3 papers from the main conference should be interesting in the context of REST:</p>
<ul>
<li>Irum Rauf and Ivan Porres. Validating Behavioral RESTful Interfaces using Semantic Web Technologies</li>
<li>Kamara Benjamin, Gregor Bochmann, Mustafa Emre Dincturk, Guy-Vincent Jourdan and Iosif Viorel Onut. A Strategy for Efficient Crawling of Rich Internet Applications</li>
<li>Ivan Zuzak, Ivan Budiselic and Goran Delac. Formal Modeling of RESTful Systems Using Finite-State Machines (draft of full paper is <a href="http://ivanzuzak.info/papers/2011_REST.pdf" target="_blank">here</a>, presentation slides are <a href="http://ivanzuzak.info/papers/2011_REST_slides.pdf" target="_blank">here</a>)</li>
</ul>
<p>The proceedings of the conference are <a href="http://www.springerlink.com/content/978-3-642-22232-0/" target="_blank">published by Springer</a>, but I&#8217;m sure that Googling for paper titles will also go a long way.</p>
<h1>Interesting tweets</h1>
<p><a href="https://twitter.com/#!/svrc/status/77972442945036289" target="_blank">@svrc</a> &#8211; &#8220;REST APIs are a case of good intentions run amok. The point of REST was to *eliminate* specific APIs. Not cause their proliferation.&#8221;</p>
<p><a href="https://twitter.com/#!/sallamar/status/79330811148636160" target="_blank">@sallamar</a> &#8211; &#8220;What the discussions about failure/success of REST are missing &#8211; (a) that REST is NOT prescriptive and so don&#8217;t try to make it prescriptive&#8221;</p>
<p><a href="https://twitter.com/#!/svrc/status/77972927680753664" target="_blank">@svrc</a> &#8211; &#8220;When someone says you shouldn&#8217;t document a REST API, they&#8217;re saying you shouldn&#8217;t have an API. Not that you shouldn&#8217;t document.&#8221;</p>
<p><a href="https://twitter.com/#!/pkeane/status/79326566018068480" target="_blank">@pkeane</a> &#8211; &#8220;theory: value (+ maybe RESTfulness) of an API can be measured by how easily I can open a representation in a text editor &amp; make sense of it&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thisweekinrest.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thisweekinrest.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thisweekinrest.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thisweekinrest.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thisweekinrest.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thisweekinrest.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thisweekinrest.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thisweekinrest.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thisweekinrest.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thisweekinrest.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thisweekinrest.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thisweekinrest.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thisweekinrest.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thisweekinrest.wordpress.com/391/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=391&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thisweekinrest.wordpress.com/2011/06/28/this-week-in-rest-%e2%80%93-volume-37-jun-1-2011-%e2%80%93-jun-27-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff743b4cba28cc47ad65cb90212c1e51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">izuzak</media:title>
		</media:content>
	</item>
		<item>
		<title>This Week in #REST – Volume 36 (Mar 27 2011 – May 30 2011)</title>
		<link>http://thisweekinrest.wordpress.com/2011/05/31/this-week-in-rest-%e2%80%93-volume-36-mar-27-2011-%e2%80%93-may-30-2011/</link>
		<comments>http://thisweekinrest.wordpress.com/2011/05/31/this-week-in-rest-%e2%80%93-volume-36-mar-27-2011-%e2%80%93-may-30-2011/#comments</comments>
		<pubDate>Tue, 31 May 2011 09:16:15 +0000</pubDate>
		<dc:creator>Ivan Zuzak</dc:creator>
				<category><![CDATA[thisweekinrest]]></category>
		<category><![CDATA[architectural style]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[hateoas]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[hypermedia]]></category>
		<category><![CDATA[media types]]></category>
		<category><![CDATA[representational state transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://thisweekinrest.wordpress.com/?p=376</guid>
		<description><![CDATA[This is Volume 36 of This week in REST, for Mar 27 2011 – May 30 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! P.S. sorry for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=376&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is Volume 36 of This week in REST, for Mar 27 2011 – May 30 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! P.S. sorry for being away for 2 months&#8230; lot&#8217;s of stuff happening at work so blogging got pushed down the priority stack.</p>
<h1>Around the Web</h1>
<p><a href="http://www.jacobian.org/writing/rest-wankery-question/">A REST wankery question</a> &#8211; &#8220;Given that, would you use URIs like /photos and /photos/{id} (as a photo list and photo detail resource, respectively)? &#8230; It seems like URIs like /people/{my-uid}/photos and /people/{my-uid}/photos/{photo-id} are more “pure.” But now that’s weird because only one single user ever has access to a given URI (e.g only user #7 gets to access the entire space under /people/7).&#8221; (by Jacob Kaplan-Moss)</p>
<p><a href="http://www.w3.org/2001/tag/doc/IdentifyingApplicationState-20110515.html" target="_blank">Identifying Application State</a> &#8211; W3C Working Draft: Proposed TAG Finding  &#8221;This document explores the issues that arise from the use of fragment identifiers to identify application state and attempts to define best practices.&#8221; (by T.V. Raman, Ashok Malhotra)</p>
<p><a href="http://www.bizcoder.com/index.php/2011/04/11/web-apis-dont-be-a-victim-of-your-success/" target="_blank">Web APIs: Don’t be a victim of your success</a> - &#8220;As developers, we are used to dealing with unforeseen problems, we just fix them and redeploy.  However, APIs are different beasts, because the applications that consume the API are often not written by an external developer.  Making significant changes is likely to impact clients, and breaking clients not only annoys the client developers but also the users of those clients.  It’s just not good for business.This article discusses approaches you can take upfront, that will minimize that chances of breaking clients as your API evolves to meet the crushing demands of success &#8220; (by Darrel Miller)</p>
<p><a href="http://amundsen.com/blog/archives/1099" target="_blank">evolvable systems</a> - &#8221;How can we design and implement distributed network solutions that remain stable and flexible over time? &#8230; my assertion is that one successful approach invovles a combintion of accepting and embracing some realites of dist-net architecture, isolating the key transient aspect of the environment, and focusing most of your creative eneregies on expressing the vital problem domain information in a flexible and evolvable way.&#8221; (by Mike Amundsen)</p>
<p><a href="http://soundadvice.id.au/blog/2011/05/22/#http-scanning" target="_blank">Scanning data with HTTP</a> &#8211; &#8220;As part of my series on SCADA and REST I&#8217;ll talk in this article a little about doing telemetry with REST. There are a couple of approaches, and most SCADA protocols accidentally incorporate at least some elements of REST theory. I&#8217;ll take a very web-focused approach and talk about how HTTP can be used directly for telemetry purposes.&#8221; (by Benjamin Carlyle)</p>
<p><a href="http://www.w2lessons.com/2011/05/why-and-how-you-should-write-rest.html" target="_blank">Why and How You Should Write REST-Centric Applications</a> &#8211; &#8220;Ever since Twitter built their “New Twitter” UI on top of their existing API, the idea of incorporating the very same philosophy into my own applications resonated with me. I decided to move forward with the same approach and my team and I been doing so since September. For those of you that have not taken this route, what I’d like to do is share some of the reasons why you may want to, and some advice on how to make it relatively painless. &#8221; (by Michael Woloszynowicz)</p>
<p><a href="http://www.infoq.com/articles/soa-2011-panel" target="_blank">SOA in 2011 Panel</a> - &#8221;Many companies embarked on servicizing their software implementations and some achieved great success, while others failed. SOA was on the top of analysts’ reports, then was proclaimed dead and then reborn under slightly different names – REST, cloud computing, etc. There are literary thousands of SOA books and articles covering many aspects of SOA from architectural design to nitty-gritty implementation details. In this virtual panel, InfoQ talks to 5 SOA experts about the significance of SOA, its relationships with other architectural styles, best technologies and approaches used for successful implementations of SOA solutions and SOA future.&#8221;</p>
<p><a href="http://www.infoq.com/news/2011/05/measuring-rest" target="_blank">How do you measure the RESTful-ness of an application?</a> &#8211; &#8220;Over the past few years it would be hard to ignore the rise in popularity for using RESTful approaches to building enterprise applications. Now we seem to have moved beyond the REST vs WS-* debates, or whether or not REST and SOA are complimentary, to discussions around the maturity of REST-based implementations. Unfortunately it seems that even this could be an active area of confusion, debate and disagreement. When discussing maturity and REST in the same sentence, some individuals refer to the Richardson Maturity Model as the right approach to measure against. For instance, in his recent article Martin Fowler discusses the various levels in the model&#8221;</p>
<p><a href="http://gent.ilcore.com/2011/05/list-of-ways-html-can-download-resource.html" target="_blank">List of ways HTML can download a resource</a> &#8211; &#8220;Recently two different projects required compiling a list of ways to trigger a download through HTML: Resource Timing and Preload Scanner optimization.There&#8217;s no centralized list in the WebKit source nor did a web search turn one up. So in hopes it may be useful to others, here&#8217;s what I was able to come up with. Please let me know what I forgot (note that ways to download through CSS, JS, SVG and plugins are intentionally omitted).&#8221; (by Tony Gentilcore)</p>
<p><a href="http://www.w3.org/2001/tag/awwsw/ir/20110517/" target="_blank">Information Resources and Web Metadata</a> &#8211; &#8220;This note considers the semantics of metadata in which the subject of the metadata (the &#8220;data&#8221;) is specified using a URI that may be dereferenced on the Web. This situation is complicated in that agents might obtain different information on different dereference operations, raising the question of what metadata is true or not of the metadata subject.It is proposed that the practical purpose of the &#8220;information resource&#8221; abstraction in web architecture is mainly to supply suitable subjects for this kind of metadata. Relating information resources to metadata in this way makes concrete the value proposition for the rule that a URI should name the information resource related to dereference of that URI. It is hoped that this analysis will be of use in future work aimed at strengthening or modifying consensus around this rule. &#8221; (by Jonathan A. Rees)</p>
<p><a href="http://www.cloudfour.com/links-do-not-open-apps/" target="_blank">Links Don’t Open Apps</a> &#8211; &#8220;The realization that links don’t open apps has triggered for me a renewed appreciation of the power of hyperlinks. When people talk about the differences between native apps and mobile web, they usually talk about difference like performance, cross platform development, and other technical factors.&#8221; (by Jason Grigsby)</p>
<p><a href="http://duncan-cragg.org/blog/post/mature-rest-easy/" target="_blank">Mature REST In Six Lines!</a> &#8211; &#8220;Like Subbu, I also have been sitting on a blog post about the Richardson Maturity Model. I have different reasons for feeling uncomfortable with this Model, however.The following came out of a discussion on an internal list at ThoughtWorks, where a number of people were talking about how they aspired to reach the &#8220;Holy Grail&#8221; of REST Level 3, and still thought they were basically &#8220;doing REST&#8221; by addressing most of the uniform interface.But, as indeed pointed out in that article, REST is only at Level 3.However, fortunately, you can jump right to Level 3 without much effort.&#8221; (by Duncan Cragg)</p>
<p><a href="http://www.infoq.com/interviews/webmachine-and-restful-web-frameworks" target="_blank">Webmachine and RESTful Web Frameworks with Justin Sheehy</a> &#8211; (video) &#8220;Justin Sheehy discusses the benefits of RESTful web frameworks and how these apply to the Webmachine toolkit. He also talks about security, debugging and the future of web frameworks and HTTP.&#8221;</p>
<p><a href="http://www.infoq.com/articles/rest-discovery-dns" target="_blank">Using DNS for REST Web Service Discovery</a> &#8211; &#8220;The use of the REST architectural style is steadily gaining momentum for both public facing Web services and enterprise integration. However, one aspect of a service oriented architecture does not yet receive sufficient attention: Service Discovery. In this article, I will describe how existing Web technology can be leveraged to enable Service Discovery for RESTful Web services.&#8221; (by Jan Algermissen)</p>
<p><a href="http://www.subbu.org/blog/2011/05/measuring-rest" target="_blank">Measuring REST</a> - &#8221;Don’t follow models like Richardson’s Maturity Model to decide whether your app is RESTful or not.Why not? The reason is quite simple. We build software to do something of value while accounting for some quality attributes (or &#8220;ilities&#8221;). In the case of RESTful apps, how you prioritize a given set of quality attributes can help you choose the right set of constraints. Period. &#8221; (by Subbu Allamaraju)</p>
<p><a href="http://dret.typepad.com/dretblog/2011/04/atom-content-negotiation.html" target="_blank">Atom Content Negotiation</a> &#8211; &#8220;let&#8217;s assume you have a collection of items that is exposed via feeds and managed in whatever back-end storage works well for you. you want to be a good web citizen and publish it as HTML, XML, JSON, and RDF. you also want to be a good web service citizen and publish any updates via feeds, so that consumers are notified whenever the collection changes. what is the best web pattern to do that? i am wondering what the more popular approach is, and why. i am also wondering whether it might be worth the effort to have a small extension that would make this more reliable in the sense that there would be a link relation for interlinking feeds that carry the same content, but using different content types.&#8221; (by Erik Wilde)</p>
<p><a href="http://techno-weenie.net/2011/4/28/my-put-requests-bug-me/" target="_blank">My PUT Requests Bug Me</a> &#8211; &#8220;So here I am, writing documentation for some new <a href="http://developer.github.com/">GitHub API sweetness</a>, when something strikes me. Why are we using PUT requests for updates? Should it bug me that my API uses the PUT verb?&#8221; (by )</p>
<h1>Events</h1>
<p><a href="http://www.w3.org/2011/identity-ws/papers.html" target="_blank">W3C Workshop on Identity in the Browser</a> &#8211; Papers from the W3C Workshop on Identity in the Browser, 24/25th May 2011, Mountain View (USA).</p>
<h1>Interesting tweets</h1>
<p><a href="https://twitter.com/#!/AndrewWahbe/status/52393548913442817" target="_blank">@AndrewWahbe</a> &#8211; &#8220;Henry S. Thompson: &#8220;architecture of the internet is concrete while the architecture of the web is abstract&#8221; <a title="#IETF80" href="https://twitter.com/#!/search?q=%23IETF80" rel="nofollow">#IETF80</a>&#8220;</p>
<p><a href="https://twitter.com/#!/AndrewWahbe/status/52406195474006016" target="_blank">@AndrewWahbe</a> &#8211; &#8220;Rosenberg: web model is becoming the same (proprietary protocol) with a mechanism for distributing software <a title="#IETF80" href="https://twitter.com/#!/search?q=%23IETF80" rel="nofollow">#IETF80</a>&#8220;</p>
<p><a href="https://twitter.com/#!/wmartinez/status/63602036696027136" target="_blank">@wmartinez</a> &#8211; &#8220;Good faces on Interoperability and Modifiability for REST. Sad face for Performance and Reliability. Merson. <a title="#soacloud" href="https://twitter.com/#!/search?q=%23soacloud" rel="nofollow">#soacloud</a>&#8220;</p>
<p><a href="https://twitter.com/#!/mamund/status/64039049987502080" target="_blank">@mamund</a> &#8211; &#8220;RT <a href="http://twitter.com/dret" rel="nofollow">@dret</a>: &#8220;a need for Uniform Data?<a href="http://bit.ly/jFzT9h" rel="nofollow" target="_blank">http://bit.ly/jFzT9h</a> (by <a href="http://twitter.com/webr3" rel="nofollow">@webr3</a>) ; no, a uniform interface &amp; media types work just fine.&#8221; <a title="#REST" href="https://twitter.com/#!/search?q=%23REST" rel="nofollow">#REST</a> +1&#8243;</p>
<p><a href="https://twitter.com/#!/algermissen/status/68787363534479360" target="_blank">@algermissen</a> &#8211; &#8220;From chat with <a href="http://twitter.com/mamund" rel="nofollow">@mamund</a>:Media types should specify which kindsof links refer to resources with bookmarkable URIs. Or is there a way to guess?&#8221;</p>
<p><a href="https://twitter.com/#!/dret/status/55700563521835008" target="_blank">@dret</a> &#8211; &#8220;really hope for <a title="#www2012" href="https://twitter.com/#!/search?q=%23www2012" rel="nofollow">#www2012</a> to be less about mining web content, and more about web architecture and web as a platform. architecture matters.&#8221;</p>
<p><a href="https://twitter.com/#!/fielding/status/52416803988709376" target="_blank">@fielding</a> &#8211; &#8220;<a href="http://twitter.com/mnot" rel="nofollow">@mnot</a> I have a much better test page for deciding whether a site is truly RESTful or not: <a href="http://s.apache.org/FKu" rel="nofollow" target="_blank">http://s.apache.org/FKu</a>&#8220;</p>
<p><a href="https://twitter.com/#!/WSREST2011/status/52221826184658945" target="_blank">@WSREST2011</a> &#8211; &#8220;&#8221;the state sandwich: application state machine, hypermedia state machine, HTTP state machine, media state machine.&#8221; <a href="http://twitter.com/svrc" rel="nofollow">@svrc</a> <a title="#wsrest2011" href="https://twitter.com/#!/search?q=%23wsrest2011" rel="nofollow">#wsrest2011</a>&#8220;</p>
<p><a href="https://twitter.com/#!/WSREST2011/status/52223390932680704" target="_blank">@WSREST2011</a> &#8211; &#8220;look out for &#8220;Behave&#8221;, to be released by <a href="http://twitter.com/svrc" rel="nofollow">@svrc</a> in may 2011. <a title="#wsrest2011" href="https://twitter.com/#!/search?q=%23wsrest2011" rel="nofollow">#wsrest2011</a>&#8220;</p>
<p><a href="https://twitter.com/#!/WSREST2011/status/52219441706041345" target="_blank">@WSREST2011</a> &#8211; &#8220;&#8221;main difference between programs an agents: agents act in an environment, agents are goal-oriented and autonomous.&#8221; <a href="http://twitter.com/svrc" rel="nofollow">@svrc</a> <a title="#wsrest2011" href="https://twitter.com/#!/search?q=%23wsrest2011" rel="nofollow">#wsrest2011</a>&#8220;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thisweekinrest.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thisweekinrest.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thisweekinrest.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thisweekinrest.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thisweekinrest.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thisweekinrest.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thisweekinrest.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thisweekinrest.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thisweekinrest.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thisweekinrest.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thisweekinrest.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thisweekinrest.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thisweekinrest.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thisweekinrest.wordpress.com/376/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=376&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thisweekinrest.wordpress.com/2011/05/31/this-week-in-rest-%e2%80%93-volume-36-mar-27-2011-%e2%80%93-may-30-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff743b4cba28cc47ad65cb90212c1e51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">izuzak</media:title>
		</media:content>
	</item>
		<item>
		<title>This Week in #REST – Volume 35 (Mar 7 2011 – Mar 26 2011)</title>
		<link>http://thisweekinrest.wordpress.com/2011/03/27/this-week-in-rest-%e2%80%93-volume-35-mar-7-2011-%e2%80%93-mar-26-2011/</link>
		<comments>http://thisweekinrest.wordpress.com/2011/03/27/this-week-in-rest-%e2%80%93-volume-35-mar-7-2011-%e2%80%93-mar-26-2011/#comments</comments>
		<pubDate>Sun, 27 Mar 2011 07:23:08 +0000</pubDate>
		<dc:creator>Ivan Zuzak</dc:creator>
				<category><![CDATA[thisweekinrest]]></category>
		<category><![CDATA[architectural style]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[hateoas]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[hypermedia]]></category>
		<category><![CDATA[media types]]></category>
		<category><![CDATA[representational state transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://thisweekinrest.wordpress.com/?p=367</guid>
		<description><![CDATA[This is Volume 35 of This week in REST, for Mar 7 2011 – Mar 26 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! Around the Web Is it RESTful? &#8211; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=367&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is Volume 35 of <em>This week in REST</em>, for Mar 7 2011 – Mar 26 2011. For more information on this blog see <a href="http://thisweekinrest.wordpress.com/2010/02/01/this-week-in-rest-volume-1-jan-25-2010-jan-31-2010/" target="_blank">this post</a>. If I missed an interesting blog post, discussion or paper – just <a href="https://mail.google.com/mail?view=cm&amp;tf=0&amp;to=//izuzak@gmail.com&amp;">e-mail me</a> the links, <a href="http://www.twitter.com/izuzak" target="_blank">tweet</a> or leave a comment on the latest blog post. Thanks!</p>
<h1>Around the Web</h1>
<p><a href="http://isitrestful.com/" target="_blank">Is it RESTful?</a> &#8211; &#8220;This site helps people to figure out if their Web site and APIs are RESTful, by interactively interrogating them and applying a suite of cloud-based analytics. Or, it gives a completely random answer.&#8221;</p>
<p><a href="http://www.crummy.com/2011/03/19/0" target="_blank">Nobody uses the term &#8220;web services&#8221; anymore.</a> &#8211; &#8220;Apropos revising <em>RESTful Web Services</em>, I have a question for you. When I started talking with people as part of my job search, I noticed that nobody uses the term &#8220;web services&#8221; anymore. Everyone talks about &#8220;APIs&#8221;.&#8221;</p>
<p><a href="http://tools.ietf.org/id/draft-tschofenig-post-standardization-00.txt" target="_blank">Trends in Web Applications and the Implications on Standardization</a> &#8211; &#8220;Advancements in the design of web browsers have introduced   fundamental changes to the architecture of application protocols.   The widespread availability and growing sophistication of JavaScript   interpreters in browsers enables web servers to push to browsers all   of the application logic required to implement a client-server   protocol.  Consequently, many client-server applications that once   required an installed client on a host computer now can rely simply   on a modern browser to act as a client for the purposes of a   particular application.&#8221;</p>
<p><a href="http://www.ietf.org/mail-archive/web/apps-discuss/current/msg02350.html" target="_blank">IETF technical plenary: the end of application protocols</a> &#8211; &#8220;As described, the session suggests a failure to recognize at least two architectural issues. One is that it mandates full-time connectivity.  The other is that protocolsthat it says are no longer needed are in fact still needed in some form, albeitas a layer above HTTP, rather than TCP.&#8221;</p>
<p><a href="http://www.ietf.org/mail-archive/web/apps-discuss/current/msg02408.html" target="_blank">AJAX is the new NAT</a> &#8211; &#8220;What we need to do is acknowledge that AJAX has happened. The Web hasn&#8217;t been &#8220;hypertext&#8221; for a long time now.&#8221;</p>
<p><a href="http://www.infoq.com/presentations/BPM-with-REST" target="_blank">BPM with REST</a> &#8211; &#8220;Cesare Pautasso discusses the conceptual relationship between business processes and stateful RESTful services, showing how BPM can be used to design and implement hypermedia-based services.&#8221;</p>
<p><a href="http://almaer.com/blog/give-me-a-rest-i-just-want-to-get-my-message-across" target="_blank">Give me a REST, I just want to get my Message across</a> &#8211; &#8220;When you start building applications on top of WebSockets (and degrading) you also start to think about different architectures. WebSockets gives us a rich, fast, bi-directional pipe between the client and server. Whether you are a Socket.IO lover with Node++, or an Enterprise sort on Kaazing, you can start to deal with a very simple messaging API (that degrades).&#8221;</p>
<p><a href="http://www.innoq.com/blog/st/2011/03/resource_identification_and_qu.html" target="_blank">Resource Identification and Query Parameters in URIs</a> &#8211; &#8220;An interesting topic came up at QCon London: What identifies a resource? One view is that resources in REST are identified without considering the query parameters in the URI. In most RESTafarians’ view, none of the characters in the URI should have special meaning. But even if one happens to agree with this, it’s still interesting to find out what the specs actually say.&#8221;</p>
<p><a href="http://prezi.com/2am3wixciqgf/microsoft-gets-serious-about-http/" target="_blank">Microsoft gets serious about Http</a> &#8211; Presentation by Darrel Miller.</p>
<p><a href="http://www.amundsen.com/blog/archives/1095" target="_blank">state transitions: simple and complex</a> &#8211; &#8220;it&#8217;s easy to get bogged down in what state transitions &#8220;are&#8221;, how they &#8220;work&#8221;, and their role in hypermedia and the Web in general. i&#8217;m going to skip over all that here[grin]. instead, i want to focus on some of the concrete details of state transitions for hypermedia and why i think identifying them is critical for building robust distributed applications.&#8221;</p>
<p><a href="http://www.w3.org/2001/tag/2011/02/HashInURI-20110228.html" target="_blank">Repurposing the Hash Sign for the New Web</a> &#8211; &#8220;The Hash sign (#) in a URI was originally used to introduce a static &#8220;fragment identifier&#8221;, but recently it is being used in many more complex ways as it is set by and interpreted by JavaScript in Web applications. Fragment identifiers are used to provide several different kinds of parameters to the client-side application, such as the actual URI of a video to be played to a video player, or the position and zoom to a map. Unlike search parameters preceded by &#8220;?&#8221;, the characters in the URI bar after the &#8220;#&#8221; can be changed without causing the page to be reloaded. Applications and toolkits using fragment identifiers in this way often go to some effort to maintain a history and make sure the back button works as expected. Accessibility and search can, however, be compromised because without running JavaScript, the URI has no meaning. Such uses of the &#8220;fragment identifier&#8221; have interesting and different properties, and differs from the way it is currently described in specs. This document explores the issues that arise from these new uses of fragment identifiers, and attempts to define best practices.&#8221;</p>
<p><a href="http://blog.arcanedomain.com/2011/03/identifying-documents-in-web-applications/" target="_blank">Documents in applications</a> &#8211; &#8220;It has become fashionable to divide Web resources into two broad categories: each resource is either a document, rendered primarily in HTML, or an AJAX-style  Web application that uses Javascript to facilitate very dynamic interaction, navigation and information retrieval.  My purpose here is to argue that we need to be more careful, that many AJAX applications in fact provide access to documents after all, and that the Web would be much more robust if we took some care to identify and access those documents using the same sorts of URIs that we use for other Web documents.&#8221;</p>
<p><a href="http://looselyconnected.wordpress.com/2011/03/10/managing-relationships-between-resources-with-uris/" target="_blank">Managing Relationships between Resources with URIs</a> - &#8221;The big benefit of systems based on addressible resources is that the resources are identified by portable URIs. The big payoff is that, unlike database primary keys, the identifiers are usable in a much broader context than just that system itself. In most cases, those URIs are, in fact, URLs. But since they are addressable, we’re not limited by things like PK values or names that only our system understands. We can share those identifiers between disparate systems.&#8221;</p>
<p><a href="http://looselyconnected.wordpress.com/2011/03/09/rest-hypermedia-and-query-strings/" target="_blank">REST, Hypermedia, and Query Strings</a> &#8211; &#8220;Now, I agree totally that the path part of the URI — that is, everything in front of the first “?” or “#” should be treated as an immutable, opaque string. That’s just saying that the server controls that part, and can change it at a moment’s notice. The client must be decoupled from the path of the URI. But the query string part of the URI is not so clear.&#8221;</p>
<p><a href="http://www.jenitennison.com/blog/node/154" target="_blank">Hash URIs</a> &#8211; &#8220;Having looked at the advantages and disadvantages, I would echo what seems to be the general sentiment around traditional server-based websites that use hash-bang URIs: pages that give different content should have different base URIs, not just different fragment identifiers. In particular, if you’re serving large amounts of document-oriented content through hash-bang URIs, consider swapping things around and having hashless URIs for the content that then transclude in the large headers, footers and side bars that form the static part of your site.&#8221;</p>
<h1>Events</h1>
<p><a href="http://www.ws-rest.org/2011/proceedings" target="_blank">WS-REST 2011</a> &#8211; Preliminary proceedings for the WS-REST workshop <a href="http://www.ws-rest.org/2011/proceedings" target="_blank">have been published online</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thisweekinrest.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thisweekinrest.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thisweekinrest.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thisweekinrest.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thisweekinrest.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thisweekinrest.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thisweekinrest.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thisweekinrest.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thisweekinrest.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thisweekinrest.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thisweekinrest.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thisweekinrest.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thisweekinrest.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thisweekinrest.wordpress.com/367/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=367&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thisweekinrest.wordpress.com/2011/03/27/this-week-in-rest-%e2%80%93-volume-35-mar-7-2011-%e2%80%93-mar-26-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff743b4cba28cc47ad65cb90212c1e51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">izuzak</media:title>
		</media:content>
	</item>
		<item>
		<title>This Week in #REST – Volume 34 (Feb 9 2011 – Mar 6 2011)</title>
		<link>http://thisweekinrest.wordpress.com/2011/03/06/this-week-in-rest-%e2%80%93-volume-34-feb-9-2011-%e2%80%93-mar-6-2011/</link>
		<comments>http://thisweekinrest.wordpress.com/2011/03/06/this-week-in-rest-%e2%80%93-volume-34-feb-9-2011-%e2%80%93-mar-6-2011/#comments</comments>
		<pubDate>Sun, 06 Mar 2011 19:21:37 +0000</pubDate>
		<dc:creator>Ivan Zuzak</dc:creator>
				<category><![CDATA[thisweekinrest]]></category>
		<category><![CDATA[architectural style]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[hateoas]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[hypermedia]]></category>
		<category><![CDATA[media types]]></category>
		<category><![CDATA[representational state transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://thisweekinrest.wordpress.com/?p=343</guid>
		<description><![CDATA[This is Volume 34 of This week in REST, for Feb 9 2011 – Mar 6 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! Around the Web Long Bets: PREDICTION 601 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=343&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is Volume 34 of <em>This week in REST</em>, for Feb 9 2011 – Mar 6 2011. For more information on this blog see <a href="http://thisweekinrest.wordpress.com/2010/02/01/this-week-in-rest-volume-1-jan-25-2010-jan-31-2010/" target="_blank">this post</a>. If I missed an interesting blog post, discussion or paper – just <a href="https://mail.google.com/mail?view=cm&amp;tf=0&amp;to=//izuzak@gmail.com&amp;">e-mail me</a> the links, <a href="http://www.twitter.com/izuzak" target="_blank">tweet</a> or leave a comment on the latest blog post. Thanks!</p>
<h1>Around the Web</h1>
<p><a href="http://www.longbets.org/601" target="_blank">Long Bets: PREDICTION 601</a> &#8211; &#8220;The original URL for this prediction (www.longbets.org/601) will no longer be available in eleven years. &#8221;Cool URIs don&#8217;t change&#8221; wrote Tim Berners-Lee in 01999, but link rot is the entropy of the web. The probability of a web document surviving in its original location decreases greatly over time. I suspect that even a relatively short time period (eleven years) is too long for a resource to survive.I would love to proven wrong.&#8221; (by Jeremy Keith)</p>
<p><a href="http://tools.ietf.org/html/draft-abarth-principles-of-origin-00" target="_blank">Principles of the Same-Origin Policy</a> &#8211; &#8220;The security model of the web platform has evolved over time to meet   the needs of new applications and to correct earlier mistakes.   Although web security has evolved largely organically, the security   model has converged towards a handful of key concepts.  This document   presents those concepts and provides advice to designers of new   pieces of the web platform.&#8221; (by Adam Barth)</p>
<p><a href="http://tools.ietf.org/html/draft-iab-extension-recs-05" target="_blank">Design Considerations for Protocol Extensions</a> &#8211; &#8220;This document discusses issues related to the extensibility of Internet protocols, with a focus on the architectural design considerations involved.  Case study examples are included. It is intended to assist designers of both base protocols and extensions.&#8221; (by B. Carpenter, B. Aboba and S. Cheshire)</p>
<p><a href="http://www.corneliadavis.com/blog/index.php/2011/02/more-on-put-idempotency/" target="_blank">More on PUT Idempotency</a> &#8211; &#8220;One of those conversations was started with a reference to a really good blog post from Alex Scordellis addressing the question of how complete representations sent in a PUT need to be. What exactly does the client need to include in the representation that they PUT – all properties? what about hyperlinks? A simple answer might be that they need to provide “everything”, but this simple answer is just not satisfactory.&#8221; (by Cornelia Davis)</p>
<p><a href="http://camendesign.com/writing/headless_foxes" target="_blank">Headless Foxes</a> &#8211; &#8220;If a server is just a browser instance and the client is a browser instance then this completely changes how a web developer can think about development and debugging. What if Firebug was a server itself? You made AJAX calls to it, and it ran the “server-side” JavaScript in your browser, the same as it would on a live server. No longer would you be tied to the infrastructure of your live environment.&#8221;</p>
<p><a href="http://www.amundsen.com/blog/archives/1092" target="_blank">my boundary issues w/ hypermedia</a> &#8211; &#8220;as a result of my efforts to refresh my concept of hypermedia and it&#8217;s role in distributed network applications, i&#8217;ve come to view the messages passed between client and server as containing several distinct sets of information. these are: Protocol information &#8230; Domain information &#8230; State information &#8230;&#8221; (by Mike Amundsen)</p>
<p><a href="http://amundsen.com/blog/archives/1093" target="_blank">i have an experiment; will you help?</a> &#8211; &#8220;in this experiment multiple parties must build client and/or server applications to match a spec; all w/o seeing each other&#8217;s work. IOW, there is no &#8220;sample&#8221; running somewhere. in addition, the &#8220;application&#8221; uses XHTML as the base media type (sorry, no custom media type this time[grin]). finally, the only instructions for this experiment are found in a single document that contains the &#8220;semantic profile&#8221; of the target web application expressed via selected XHTML attributes (@class, @id, @name, and @rel) along with &#8220;valid values&#8221; for these attributes, descriptions of how they are used in representations, and &#8220;what these values mean.&#8221;" (by Mike Amundsen)</p>
<p><a href="http://dret.net/lectures/ppos-spring11/" target="_blank">Principles and Patterns of Organizing Systems</a> &#8211; New (?) course at Berkeley with slides and material being posted as the semester progresses: &#8220;The concept of an <q>organizing system</q> complements this categorical view with a dimensional perspective that sees these categories as sets of <q>design patterns</q> that reflect typical answers to questions about what is being organized, why, when, how much, who is doing the organizing, and how services are provided to interact with the organizing system. These dimensions frame trade-offs and constraints about the content, policies, and implementation of organizing systems. The primary goal of this course is to use these design dimensions to better understand traditional design patterns and their consequences, and to identify useful new ones.&#8221; (by Erik Wilde and Robert J. Glushko)</p>
<p><a href="http://www.infoq.com/presentations/RESTful-SOA-in-the-Real-World" target="_blank">RESTful SOA in the Real World</a> &#8211; (video) &#8220;Sastry Malladi presents different ways used by the industry to implement a RESTful SOA, detailing how eBay did it in order to achieve performance, and what lessons can be taken from that.&#8221; (by Sastry Malladi)</p>
<p><a href="http://looselyconnected.wordpress.com/2011/02/16/what-is-rest-anyway/" target="_blank">What is REST, Anyway?</a> &#8211; &#8220;&#8230;so I’ve been spending some time reading more about REST, refining my thinking, and opinionizing a lot on this blog.I finally came to the conclusion that REST is not what a lot of people treat it as. It’s not a standard you can write a strict spec for, and then apply it to projects and declare “Yay!” or “Nay!” People do that, and that practice sinks a lot of projects, because it’s a silly practice.&#8221;</p>
<p><a href="https://webspace.utexas.edu/keanepj/www/talks/dhapi_rest.pdf" target="_blank">REST in the design, use, and documentation of Web APIs</a> &#8211; Slide deck for intro-level REST presentation at <a href="http://mith.umd.edu/apiworkshop/" target="_blank">DHapi</a> (by Peter Keane)</p>
<p><a href="http://blog.kevburnsjr.com/this-year-in-rest" target="_blank">This year in #rest on Freenode</a> &#8211; Word cloud of chats from the #rest channel on Freenode. (by Kevin Burns Jr)</p>
<p><a href="http://looselyconnected.wordpress.com/2011/02/09/calculated-vs-shipped-uris/" target="_blank">Calculated vs. Shipped URIs</a> &#8211; &#8220;I wonder about the effenciencies, though. CPU is cheap and fast, bandwidth is slow and (kind of) expensive. So publishing a URI spec out-of-band and letting the client construct the actual URI with string concatenation consumes very little runtime resources. But shipping big documents loaded with hyperlinks, millions and millions of times, is going to be expensive.&#8221;</p>
<p><a href="http://looselyconnected.wordpress.com/2011/02/09/client-driven-apis/" target="_blank">Client-driven APIs</a> &#8211; &#8220;I lot of the REST conversations I’ve seen get tangled up because they are trying to constrain their Resource definitions too tightly, and end up restricting what the client can get at, making the client make lots of calls to get what they could get at once. Or they go the other extreme, and make Resource definition so incredibly broad that every Resource in the system meets every need that we could possibly anticipate from the client, making every response huge, bloated documents that take a long time to code, maintain, and support the bandwidth for.&#8221;</p>
<p><a href="http://bit.ly/restjfokus" target="_blank">Designing RESTful Domain Application Protocols</a> &#8211; Slide deck for presentation at JFokus: &#8220;REST is ready for the enterprise. Imagine an information platform that is open and available to systems throughout the enterprise estate. A platform that eschews integration in favour of composition, connected data over siloed databases. A networked data structure with the power to implement valuable business behaviours: a distributed, hypermedia-driven application platform. Challenging the notion that REST is suitable only for simple CRUD-based data services, in this session I show how to design and implement RESTful domain application protocols for complex business processes. With a detailed example, I show how to: &#8211; Model business processes as domain application protocols &#8211; Implement them in terms of resource lifecycles &#8211; Advertise and execute them using HTTP idioms, media types and link relation values&#8221; (by Ian Robinson)</p>
<p><a href="http://looselyconnected.wordpress.com/2011/02/21/dog-or-tail-rest-or-hypermedia/" target="_blank">Dog or Tail: REST or Hypermedia?</a> &#8211; &#8220;My personal opinion is that as the tools to support hypermedia evolve, REST as we know it today is going to become a side discussion. That the principles of REST will be just small part of the discussion on how we deliver hypermedia. A few examples of why I think that are: &#8230;&#8221;</p>
<p><a href="http://isc.sans.edu/httpheaders/" target="_blank">HTTP Headers</a> &#8211; &#8220;This is a continuation of work started by Brough Davis as part of his software security project for his <a href="http://www.sans.edu/">Masters in Information Security Engineering</a>. The main goal of this project is to find how many sites use security relevant headers, like for example the X-XSS-Protection or X-Frame-Options headers.&#8221;</p>
<p><a href="http://www.subbu.org/blog/2011/02/web-apps-and-web-sites" target="_blank">Web Apps and Web Sites</a> &#8211; &#8220;What’s the real tradeoff in the hashbang case? The tradeoff here is between usability of two classes of clients – one that does not support Javascript and the other that supports. That’s a reasonable tradeoff! Twitter chose to not render http://twitter.com for non-Javascript browsers. Perhaps they made that by choice by looking at the proportion of users that use non-Javascript browsers.&#8221; (by Subbu Allamaraju)</p>
<p><a href="http://webr3.org/blog/semantic-web/a-simple-overview-of-httprange-14/" target="_blank">A simple overview of httpRange-14</a> &#8211; &#8220;Complicated issue eh? it&#8217;s certainly consumed a great deal of my time for over a year.So, here&#8217;s a simple-ish summary of the problem &#8211; disclaimer, all IMHO of course&#8230;&#8221; + <a href="http://webr3.org/blog/linked-data/the-simplest-view-possible-of-httprange-14/" target="_blank">The simplest view possible of httpRange-14.</a> by the same author.</p>
<p><a href="http://www.w3.org/2001/tag/2011/03/03-minutes.html" target="_blank">Minutes from the March 03 telcon of W3C TAG</a> + <a href="http://lists.w3.org/Archives/Public/www-tag/2011Feb/0139.html" target="_blank">Minutes from the 8-10 February 2011 TAG F2F Meeting</a></p>
<h1>Events</h1>
<p><a href="http://www.ws-rest.org/2011/" target="_blank">WS-REST 2011</a> &#8211; The list of accepted papers for WS-REST 2011 <a href="http://www.ws-rest.org/2011/accepted" target="_blank">has been published</a>. However, <a href="http://twitter.com/#!/jimwebber/status/39073970670157824" target="_blank">not all reviewers are happy with this year&#8217;s submissions</a>. The workshop keynote will be given by Stu Charlton, you can see his sneak peek for the talk <a href="http://www.stucharlton.com/blog/archives/2011/02/ws-rest-2011-keynote.html" target="_blank">here</a>.</p>
<p><a href="https://sites.google.com/site/composableweb2011/home" target="_blank">ComposableWeb 2011</a> &#8211; &#8220;the 3rd International Workshop on Lightweight Integration on the Web (ComposableWeb 2011) will be held in conjunction with the <a rel="nofollow" href="http://icwe2011.webengineering.org/" target="_blank">11th International Conference on Web Engineering (ICWE 2011)</a> in Paphos, Cyprus, from June 20-24, 2011.&#8221;</p>
<p><a href="http://www.inf.usi.ch/faculty/binder/wewst11/" target="_blank">WEWST 2011</a> &#8211; &#8220;The Workshop on Enhanced Web Service Technologies (WEWST), collocated with the European Conference on Web Services (ECOWS), is the premier workshop for academic and industrial communities to discuss innovative ideas and research contributions advancing the state-of-the-art in Web service technologies.&#8221; Will be held on September 14, 2011, Lugano, Switzerland.</p>
<h1>Discussion groups</h1>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17387?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Django REST framework &#8211; Critical feedback wanted.</a> &#8211; Discussion on new Python <a href="http://django-rest-framework.org/" target="_blank">REST framework for Django</a>: &#8220;Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build well-connected, self-describing RESTful Web APIs.&#8221;</p>
<p><a href="http://lists.w3.org/Archives/Public/www-tag/2011Mar/0001.html" target="_blank">Cross-Origin Resource Embedding Restrictions</a> &#8211; Discussion about an idea and <a href="http://dvcs.w3.org/hg/from-origin/raw-file/tip/Overview.html" target="_blank">specification</a> for &#8220;&#8230;defining a way for resources to declare they are unavailable within an embedding context.&#8221;</p>
<p><a href="http://lists.w3.org/Archives/Public/www-tag/2011Feb/0150.html" target="_blank">Review of TAG issues related to &#8220;URI meaning&#8221; (long)</a> &#8211; Overview of W3C TAG issues related to the problem of &#8220;URI meaning&#8221;.</p>
<p><a href="http://lists.w3.org/Archives/Public/www-tag/2011Feb/0128.html" target="_blank">Conversation about &#8220;Web Applications Architecture&#8221; additional background for TAG discussion</a></p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17322?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Loose coupling &#8211; a RESTful myth?</a> &#8211; &#8220;It is often stated, that RESTful services decouples client and server, as e.g. stated here [1]:&#8221;Coupling between client and server is removed, server owners need not know about client particularities to evolve the servers without breaking clients.&#8221;But i think, the most server changes will break even the RESTfuls´ clients.&#8221;</p>
<p><a href="http://lists.w3.org/Archives/Public/ietf-http-wg/2011JanMar/0094.html" target="_blank">Link header is representation metadata?</a> &#8211; &#8220;Sorry but I need to come back to this one, can I get a definitive answer (please :)) on whether the Link header is representation metadata (like Content-Type), or not?&#8221;</p>
<h1>Software frameworks</h1>
<p><a href="http://crest.codegist.org/index.html" target="_blank">CRest</a> &#8211; &#8220;CRest (Client Representational State Transfer or Client REST) is a lightweight framework aiming to simplify the integration of external REST services into java applications, somewhat in the way most of the current SOAP WSDL oriented client framework works.While SOAP is a protocol, based on a service descriptor format (WSDL) that can be used to automatically generate the client stubs, REST isn&#8217;t, and REST service implementation varies from one provider to another.CRest allows the developer to only focus on the essential aspects of the integration of a REST service.&#8221;</p>
<h1>Interesting tweets</h1>
<p><a href="http://twitter.com/#!/kriszyp/status/43372973289259010" target="_blank">@kriszyp</a> &#8211; &#8220;HTTP response of the future when you visit a site? <a rel="nofollow" href="https://gist.github.com/853195" target="_blank">https://gist.github.com/853195</a>&#8220;</p>
<p><a href="http://twitter.com/#!/AndrewWahbe/status/35348923635728384" target="_blank">@AndrewWahbe</a> &#8211; &#8220;Hash Bang URLs are a symptom, the problem is that nobody is trying to extend markup to do simple AJAXy things declaratively&#8221;</p>
<p><a href="http://twitter.com/#!/jerenkrantz/status/35736675279835136" target="_blank">@jerenkrantz</a> &#8211; &#8220;With due respect to @<a rel="nofollow" href="http://twitter.com/timbray">timbray</a> &amp; @<a rel="nofollow" href="http://twitter.com/fielding">fielding</a>, #! in URLs indicate where REST falls down: computations &#8211; rather than documents &#8211; are exchanged.&#8221;</p>
<p><a href="http://twitter.com/#!/fielding/status/35785328136556546" target="_blank">@fielding</a> &#8211; &#8220;@<a rel="nofollow" href="http://twitter.com/jerenkrantz">jerenkrantz</a> Making it easy for Web developers to create fragile, unreliable, and unsharable Web experiences is not a goal of REST.&#8221;</p>
<p><a href="http://twitter.com/#!/mikekelly85/status/15407213775" target="_blank">@mikekelly85</a> &#8211; &#8220;<a title="#REST" rel="nofollow" href="http://twitter.com/#!/search?q=%23REST">#REST</a> is about agreeing on the best way for machines to facilitate human interaction and stay out of the way&#8221;</p>
<p><a href="http://twitter.com/#!/dret/status/38069351886098432" target="_blank">@dret</a> &#8211; &#8220;finding it interesting that one of the most universal human actions (going to) has become a synonym for HTTP GET.<a title="#REST" rel="nofollow" href="http://twitter.com/#!/search?q=%23REST">#REST</a> <a title="#uniforminterface" rel="nofollow" href="http://twitter.com/#!/search?q=%23uniforminterface">#uniforminterface</a>&#8220;</p>
<p><a href="http://twitter.com/#!/svrc/status/38618920013402112" target="_blank">@svrc</a> &#8211; &#8220;Trying to craft a RESTful service discovery approach with the XRD/host-meta/LRDD stuff. Finally the last nails in the UDDI coffin.&#8221;</p>
<p><a href="http://twitter.com/#!/dret/status/40167212723470336" target="_blank">@dret</a> &#8211; &#8220;don&#8217;t fall prey to the dark side of where the functions lurk. focus on resources you must, and links will guide your path.<a title="#REST" rel="nofollow" href="http://twitter.com/#!/search?q=%23REST">#REST</a>&#8220;</p>
<p><a href="http://twitter.com/#!/aslak_hellesoy/status/41061882248830976" target="_blank">@aslak_hellesoy</a> &#8211; &#8220;WebSockets are throwing the baby out with the bathwater. Server Sent Events/EventSource and REST seems a much better stack.&#8221;</p>
<p><a href="http://twitter.com/#!/dret/status/41204892613877760" target="_blank">@dret</a> &#8211; &#8220;if i can link to and reuse resources from your server, you&#8217;ve built a web app. otherwise, you&#8217;ve just built an app using browser APIs.&#8221;</p>
<p><a href="http://twitter.com/#!/dret/status/42756389705228288" target="_blank">@dret</a> &#8211; &#8220;discovered that <a title="#REST" rel="nofollow" href="http://twitter.com/#!/search?q=%23REST">#REST</a> can be nicely illustrated with menus, restaurants, orders, food courts, pending orders, special requests, and: food.&#8221;</p>
<p><a href="http://twitter.com/#!/mamund/status/43432421881937920" target="_blank">@mamund</a> &#8211; &#8220;RT @<a rel="nofollow" href="http://twitter.com/iansrobinson">iansrobinson</a>: @<a rel="nofollow" href="http://twitter.com/dret">dret</a> &#8220;&#8230; I want some term for the specialisation that helps us get things done.&#8221; &lt;- application semantics?&#8221;</p>
<p><a href="http://twitter.com/#!/jar346/status/43418328437506048" target="_blank">@jar346</a> &#8211; &#8220;&#8221;representation&#8221; is hateful not because I hate people who use it, but because its multiple definitions make you fight one another!&#8221;</p>
<p><a href="http://twitter.com/#!/iansrobinson/status/43584225378697216" target="_blank">@iansrobinson</a> &#8211; &#8220;@<a rel="nofollow" href="http://twitter.com/dret">dret</a> Resources don&#8217;t come into it, cause I don&#8217;t think resource types are useful; resources are just sinks and sources for representations&#8221;</p>
<p><a href="http://twitter.com/#!/iansrobinson/status/43580022530916353" target="_blank">@iansrobinson</a> &#8211; &#8220;@<a rel="nofollow" href="http://twitter.com/mamund">mamund</a> Disagree that custom media types have, or ought have, PS &#8211; that&#8217;s the role of a protocol! See AtomPub (which is not a media type)&#8221;</p>
<p><a href="http://twitter.com/#!/svrc/status/43674689742176256" target="_blank">@svrc</a> &#8211; &#8220;@<a rel="nofollow" href="http://twitter.com/iansrobinson">iansrobinson</a> &#8230; because I believe custom media types are inherently the wrong long-term direction; they&#8217;re the symptom of a gap&#8221;</p>
<p><a href="http://twitter.com/#!/mikekelly85/status/43602378699714560" target="_blank">@mikekelly85</a> &#8211; &#8220;@<a rel="nofollow" href="http://twitter.com/iansrobinson">iansrobinson</a> media types and link relations are just another part of a uniform interface; they all provide conditions for discoverability&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thisweekinrest.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thisweekinrest.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thisweekinrest.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thisweekinrest.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thisweekinrest.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thisweekinrest.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thisweekinrest.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thisweekinrest.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thisweekinrest.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thisweekinrest.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thisweekinrest.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thisweekinrest.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thisweekinrest.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thisweekinrest.wordpress.com/343/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=343&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thisweekinrest.wordpress.com/2011/03/06/this-week-in-rest-%e2%80%93-volume-34-feb-9-2011-%e2%80%93-mar-6-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff743b4cba28cc47ad65cb90212c1e51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">izuzak</media:title>
		</media:content>
	</item>
		<item>
		<title>This Week in #REST – Volume 33 (Jan 29 2011 – Feb 8 2011)</title>
		<link>http://thisweekinrest.wordpress.com/2011/02/09/this-week-in-rest-%e2%80%93-volume-33-jan-29-2011-%e2%80%93-feb-8-2011/</link>
		<comments>http://thisweekinrest.wordpress.com/2011/02/09/this-week-in-rest-%e2%80%93-volume-33-jan-29-2011-%e2%80%93-feb-8-2011/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 09:19:28 +0000</pubDate>
		<dc:creator>Ivan Zuzak</dc:creator>
				<category><![CDATA[thisweekinrest]]></category>
		<category><![CDATA[architectural style]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[hateoas]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[hypermedia]]></category>
		<category><![CDATA[media types]]></category>
		<category><![CDATA[representational state transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://thisweekinrest.wordpress.com/?p=326</guid>
		<description><![CDATA[This is Volume 33 of This week in REST, for Jan 29 2011 – Feb 8 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! Around the Web Hypermedia is an Event [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=326&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is Volume 33 of <em>This week in REST</em>, for Jan 29 2011 – Feb 8 2011. For more information on this blog see <a href="http://thisweekinrest.wordpress.com/2010/02/01/this-week-in-rest-volume-1-jan-25-2010-jan-31-2010/" target="_blank">this post</a>. If I missed an interesting blog post, discussion or paper – just <a href="https://mail.google.com/mail?view=cm&amp;tf=0&amp;to=//izuzak@gmail.com&amp;">e-mail me</a> the links, <a href="http://www.twitter.com/izuzak" target="_blank">tweet</a> or leave a comment on the latest blog post. Thanks!</p>
<h1>Around the Web</h1>
<p><a href="http://linkednotbound.net/2011/01/31/hypermedia-is-an-event-filter/" target="_blank">Hypermedia is an Event Filter</a> &#8211; &#8220;In this post, I will re-examine these alternatives, extending the analysis to the information flowing from client to server and the protocols used to exchange information. By doing so, I hope to clarify the advantages provided by REST for input event processing.&#8221; (by Andrew Wahbe)</p>
<p><a href="http://www.infoq.com/interviews/rest-and-the-web-as-a-platform" target="_blank">REST and the Web as a Platform</a> &#8211; (video) &#8220;In this interview, Subbu Allamaraju talks about real life issues of RESTful architectures. He also describes a pragmatic approach of adopting the Web as an integration platform and shares his opinion on OAuth.&#8221; (by Subbu Allamaraju)</p>
<p><a href="http://codebetter.com/sebastienlambla/2011/02/01/minting-new-internet-media-type-identifiers/" target="_blank">Minting new Internet Media Type Identifiers</a> &#8211; &#8220;&#8230; a recent discussion on twitter is triggering a quick and dirty run-through of how, when you create a new Internet Media Type (sometimes inaccurately call content type or MIME type), you should create a media type identifier. &#8230; A media type identifier is composed of three components: a content type, a content subtype and some parameters that can be specified.&#8221; (by Sebastien Lambla)</p>
<p><a href="http://looselyconnected.wordpress.com/2011/02/01/a-proposal-for-rest-and-verbs/" target="_blank">A proposal for REST and Verbs</a> - &#8221;embedding verbs in URIs might not please the purists, but it can make for a highly accessible, practical API.&#8221;</p>
<p><a href="http://www.amundsen.com/blog/archives/1090" target="_blank">CORS considered harmful</a> &#8211; &#8220;there is no &#8220;cross-origin&#8221; on the Web. IT&#8217;S THE WEB DAMMIT! now, i understand that the common Web browser has problems; lots of them. but &#8220;the Web&#8221; is not one of them. instead of modeling the Web as the browser, it should be the other way &#8217;round.&#8221; (by Mike Amundsen)</p>
<p><a href="http://www.slideshare.net/aslamkhn/being-in-a-state-of-rest" target="_blank">Being in a State of REST</a> &#8211; Nice intro-level presentation. (by Aslam Khan)</p>
<p><a href="http://www.amundsen.com/blog/archives/1091" target="_blank">Maze+XML media type approved!</a> &#8211; &#8220;i got good news last week. my application to the IANA for registration of my Maze+XML media type was approved! yep, it&#8217;s official; i am &#8216;up on the big board&#8217;[grin]!&#8221; (by Mike Amundsen)</p>
<p><a href="http://looselyconnected.wordpress.com/2011/02/07/rest-what-is-state-anyway/" target="_blank">REST — What is State, anyway?</a> &#8211; &#8220;REST stands for “Representational State Transfer”, which is kind of funny if you think about it, because it is an architectural style based on stateless communications. It says, use stateless communications to transfer state. &#8230; So what’s the state that we’re transferring, and at what point do we cross the line into non-stateless communication?&#8221;</p>
<p><a href="http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs" target="_blank">Breaking the Web with hash-bangs</a> &#8211; &#8220;Gawker, like Twitter before it, built their new site to be totally dependent on JavaScript, even down to the page URLs. The JavaScript failed to load, so no content appeared, and every URL on the page was broken. In terms of site brittleness, Gawker’s new implementation got turned up to 11.Every URL on Lifehacker is now looks like this http://lifehacker.com/#!5753509/hello-world-this-is-the-new-lifehacker. Before Monday the URL was almost the same, but without the #!. So what?&#8221; (by Mike Davies)</p>
<p><a href="http://soundadvice.id.au/blog/2011/02/09/#jargon-in-rest" target="_blank">Jargon in REST</a> &#8211; &#8220;The REST uniform interface constraint is a specific guard against jargon. It sets the benchmark high: All services must express their unique capabilities in terms of a uniform contract composed of methods, media types, and resource identifier syntax. Service contracts in REST are transformed into tuples of (resource identifier template, method, media types, and supporting documentation). Service consumers take specific steps to decouple themselves from knowledge of the individual service contracts and instead increase their coupling on the uniform contract instead.&#8221; (by Benjamin Carlyle)</p>
<p><a href="http://www.w3.org/2001/tag/awwsw/2011/status-2011-02.html" target="_blank">AWWSW Status Report</a> &#8211; Status report from the Architecture of the World Wide Semantic Web members.</p>
<h1>Software frameworks</h1>
<p><a href="http://blog.caelumobjects.com/2011/01/31/hypermedia-and-the-future-of-the-integration-over-the-web/" target="_blank">Hypermedia and the future of the integration over the web</a> &#8211; &#8220;Restfulie’s first attempt to create a Ruby client for hypermedia services was in late 2009 with 100 lines of spaghetti ruby code. Eighteen months and lots of contributions later, Restfulie Ruby 1.0 is out: tackling both the server and client side on hypermedia based systems.&#8221; (by Guilherme Silveira)</p>
<h1>REST discussion group and other mailing lists</h1>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17242?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">The relation of Linked Data/Semantic Web to REST</a> &#8211; &#8220;How are the principles of Linked Data as data publishing guide (independent of Semantic Web technology) and  the Semantic Web as common, standardized technology stack for machine-processable knowledge representation and management in the Web related to the the principles of REST as an architectural style for distributed hypermedia systems?&#8221;</p>
<p><a href="http://lists.w3.org/Archives/Public/ietf-http-wg/2011JanMar/0094.html" target="_blank">Link header is representation metadata?</a> &#8211; &#8220;can I get a definitive answer (please :)) on whether the Link header is representation metadata (like Content-Type), or not?&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17322?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">Loose coupling &#8211; a RESTful myth?</a> &#8211; &#8220;is often stated, that RESTful services decouples client and server, as e.g. stated here [1]:&#8221;Coupling between client and server is removed, server owners need not know about client particularities to evolve the servers without breaking clients.&#8221;But i think, the most server changes will break even the RESTfuls´ clients. At least in business scenarios.&#8221;</p>
<p><a href="http://tech.groups.yahoo.com/group/rest-discuss/messages/17302?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" target="_blank">RESTful?</a> &#8211; Interesting analysis of the RESTfulness of an HTTP API.</p>
<p><a href="http://lists.w3.org/Archives/Public/www-tag/2011Feb/0004.html" target="_blank">TAG work on registries (ACTION-511)</a> &#8211; &#8220;It was an early principle of web architecture to try to avoid using registries and registry processes as a way of defining terms, but to rely on the power of the web itself for &#8220;distributed extensibility&#8221;. (You could say that before the web, the idea of hypertext was limited because the hypertext systems predating the web had a closed architecture for hypertext extensibility; this allowed referential integrity at the expense of an N-squared communication cost for web-content extensibility). In practice, though, there are situations where the overhead of using a full URI for extensibility (such as is done with XML namespaces) is deemed to be too cumbersome, and protocol designers prefer using registered shorter terms (or prefixes) instead.&#8221;</p>
<h1>Events</h1>
<p><a href="http://snowman.nagaokaut.ac.jp/saint/workshop-CFPaper/ws-9.html" target="_blank">WS-9: The First Workshop on Adoption of REST and LinkedData (ARALD 2011)</a> &#8211; Workshop as a part of the <a href="http://www.saintconference.org/" target="_blank">SAINT2011 : The 11th IEEE/IPSJ International Symposium on Applications and the Internet</a> in Munich, GERMANY (July 18-22, 2011).</p>
<h1>Interesting tweets</h1>
<p><a href="http://twitter.com/#!/AndrewWahbe/status/32542891322642432" target="_blank">@AndrewWahbe</a> &#8211; &#8220;The problem with conneg is that 2 event models (hypermedia is an event filter) yield 2 state machines (i.e. resources) for same app&#8221;</p>
<p><a href="http://twitter.com/#!/dret/status/33035387337179138" target="_blank">@dret</a> &#8211; &#8220;@<a rel="nofollow" href="http://twitter.com/darrel_miller">darrel_miller</a> server-side frameworks often affect your freedom as &#8220;URI designer&#8221;. they shouldn&#8217;t, though, or only as an option. <a title="#REST" rel="nofollow" href="http://twitter.com/#!/search?q=%23REST">#REST</a>&#8220;</p>
<p><a href="http://twitter.com/#!/dret/status/32993759520096256" target="_blank">@dret </a>- &#8220;URI as UI: URI opacity means that implementation design should not affect URI design; seize the opportunity and design them well.&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thisweekinrest.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thisweekinrest.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thisweekinrest.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thisweekinrest.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thisweekinrest.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thisweekinrest.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thisweekinrest.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thisweekinrest.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thisweekinrest.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thisweekinrest.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thisweekinrest.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thisweekinrest.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thisweekinrest.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thisweekinrest.wordpress.com/326/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=326&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thisweekinrest.wordpress.com/2011/02/09/this-week-in-rest-%e2%80%93-volume-33-jan-29-2011-%e2%80%93-feb-8-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff743b4cba28cc47ad65cb90212c1e51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">izuzak</media:title>
		</media:content>
	</item>
		<item>
		<title>This Week in #REST – Volume 32 (Jan 8 2011 – Jan 28 2011)</title>
		<link>http://thisweekinrest.wordpress.com/2011/01/29/this-week-in-rest-%e2%80%93-volume-32-jan-8-2011-%e2%80%93-jan-28-2011/</link>
		<comments>http://thisweekinrest.wordpress.com/2011/01/29/this-week-in-rest-%e2%80%93-volume-32-jan-8-2011-%e2%80%93-jan-28-2011/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 21:19:15 +0000</pubDate>
		<dc:creator>Ivan Zuzak</dc:creator>
				<category><![CDATA[thisweekinrest]]></category>
		<category><![CDATA[architectural style]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[hateoas]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[hypermedia]]></category>
		<category><![CDATA[media types]]></category>
		<category><![CDATA[representational state transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://thisweekinrest.wordpress.com/?p=319</guid>
		<description><![CDATA[This is Volume 32 of This week in REST, for Jan 8 2011 – Jan 28 2011. For more information on this blog see this post. If I missed an interesting blog post, discussion or paper – just e-mail me the links, tweet or leave a comment on the latest blog post. Thanks! Around the Web Uniform Interface Wins [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=319&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is Volume 32 of <em>This week in REST</em>, for Jan 8 2011 – Jan 28 2011. For more information on this blog see <a href="http://thisweekinrest.wordpress.com/2010/02/01/this-week-in-rest-volume-1-jan-25-2010-jan-31-2010/" target="_blank">this post</a>. If I missed an interesting blog post, discussion or paper – just <a href="https://mail.google.com/mail?view=cm&amp;tf=0&amp;to=//izuzak@gmail.com&amp;">e-mail me</a> the links, <a href="http://www.twitter.com/izuzak" target="_blank">tweet</a> or leave a comment on the latest blog post. Thanks!</p>
<h1>Around the Web</h1>
<p><a href="http://blogs.oracle.com/allthingsrest/2011/01/uniform_interface_wins.html" target="_blank">Uniform Interface Wins</a> &#8211; &#8220;For smaller scale sets of interfaces and users, custom interfaces work fine.  However, such an approach doesn&#8217;t scale up to enormous graphs of interfaces and interface users.&#8221; (by Ray Polk)</p>
<p><a href="http://blog.jonudell.net/2011/01/24/seven-ways-to-think-like-the-web/" target="_blank">Seven ways to think like the web</a> &#8211; &#8220;Back in October, at the Traction Software users’ conference, I led a discussion on the theme of observable work in which we brainstormed a list of some principles that people apply when they work well together online. It’s the same list that emerges when I talk about computational thinking, or Fourth R principles, or thinking like the web. Here’s an edited version of the list we put up on the easel that day&#8230;&#8221; (by Jon Udell)</p>
<p><a href="http://www.infoq.com/presentations/RESTful-SOA-DDD" target="_blank">RESTful SOA or Domain-Driven Design &#8211; A Compromise?</a> &#8211; (video) &#8220;Vaughn Vernon advocates using DDD’s strategic modeling patterns when integrating services in a RESTful SOA implementation, avoiding one of SOA’s pitfalls: focusing on services rather than the domain.&#8221; (by Vaughn Vernon)</p>
<p><a href="http://www.w3.org/2001/tag/2010/sum12.html" target="_blank">W3C Technical Architecture Group Status Report (August &#8211; December, 2010)</a> - This is a report from the W3C Technical Architecture Group to the W3C membership on TAG activities from August through December, 2010.</p>
<p><a href="http://www.amundsen.com/blog/archives/1088" target="_blank">on generic, specific, and custom media types</a> &#8211; &#8220;my point here is to highlight my wide range of approaches at media type design (so far). while it&#8217;s true i tout the potential positive values of <em>custom</em> media types, it is not at all true that i favor &#8216;generic&#8217; over &#8216;specific&#8217; designs. it&#8217;s important keep these two aspects (&#8216;custom&#8217; vs. &#8216;generic|specific&#8217;) of a media type clearly separated. the assumption that goes along with the &#8216;custom&#8217; attribute is that the media type suffers from a small reach or limited distribution. also, there are folks who are of the opinion that media types whose reach is limited should not be considered &#8216;valid&#8217; or &#8216;viable&#8217; media types (for &#8220;the Web&#8221; or for &#8220;the RESTful Web&#8221;,etc.).&#8221; (by Mike Amundsen)</p>
<p><a href="http://www.infoq.com/news/2011/01/rest-cloud" target="_blank">Is REST important for Cloud?</a> &#8211; &#8220;With more a more Cloud implementations being developed by vendors and open source efforts, their RESTfulness is usually mentioned as an important feature. But William&#8217;s question remains: if the most successful Cloud vendor to date does not use REST, does it really matter?&#8221; (by Mark Little)</p>
<p><a href="http://looselyconnected.wordpress.com/2011/01/28/the-seeds-of-rests-destruction/" target="_blank">The seeds of REST’s destruction</a> &#8211; &#8220;Having a nice, clean ideal like strict REST is wonderful. But at some point you have to listen to what the Universe is telling you. If the Interwebs were not built on REST, and the larger body of software developers are not adhering to REST now, what is the message we should be getting?&#8221;</p>
<p><a href="http://webr3.org/blog/uncategorized/what-does-a-uri-name-agree/" target="_blank">What does a URI name? agree?</a> &#8211; &#8220;A representation of information, and U refers to that information (format agnostic) and we retrieve that information by using U as name for the purpose of referencing.So U is always used to refer to information about a thing, and that thing can be anything. &#8211; I&#8217;m interested to know, if anybody disagrees?&#8221; (by Nathan Rixham)</p>
<p><a href="http://www.simple-talk.com/opinion/geek-of-the-week/roy-fielding-geek-of-the-week/" target="_blank">Roy Fielding: Geek of the Week</a> &#8211; An interview with Roy Fielding from August 2010, touches upon REST, SPDY, OpenID and many other technologies. (Richard Morris)</p>
<p><a href="http://weblogs.asp.net/gsusx/archive/2011/01/21/using-google-protocol-buffers-hypermedia-type-with-wcf-restful-services-a-media-type-processor-sample.aspx" target="_blank">Using Google Protocol Buffers Hypermedia Type with WCF RESTful Services: A media type processor sample</a> - &#8221;Given its optimal representation of structured data, protocol buffers it’s a great option for representing data processed by RESTful services. To follow the principles of REST, protocol buffers should be a represented as a new hypermedia type. In the current version of Windows Communication Foundation (WCF), incorporating a new media type requires a significant amount of effort. Fortunately, the new version of the WCF HTTP stack makes media type a first class citizen of the WCF programming model.&#8221; (by Jesus Rodriguez)</p>
<p><a href="http://stage.vambenepe.com/archives/1719" target="_blank">The REST bubble</a> &#8211; &#8220;But when an API document starts with a REST lesson and when PowerPoint-waving sales reps pitch “RESTful APIs” to executives you know this REST thing has gone way beyond anything related to “the fundamentals”. We have a REST bubble on our hands.&#8221; (by William Vambenepe)</p>
<p><a href="http://restafari.blogspot.com/2011/01/re-rest-bubble.html" target="_blank">RE: The REST Bubble</a> &#8211; &#8220;In the end, longer-term case studies will do a much better job of illuminating whether or not REST actually delivers on the (business) value it promises, and whether the &#8220;simpler&#8221; solutions for the short-term continue to be sustainable and cost effective in the long run. Until then, you&#8217;re probably jumping the gun a bit.&#8221; (by Mike Kelly)</p>
<p><a href="http://amundsen.com/blog/archives/1089" target="_blank">regarding the &#8220;REST Bubble&#8221; : piling on&#8230;</a> - &#8221;I predict, as w/ SOAP-RPC, this current HTTP-RPC fad will run full course in about ten years due to relativley similar problems (protocol mismatches and failures w/ long-term evolvability). check w/ me around 2018 or so. then we&#8217;ll see what new marketing fad will be on the rise in &#8216;big IT.&#8217; i have no idea what that fad might be. but i am pretty sure of one thing.the next big IT marketing success will not be Fielding&#8217;s REST&#8221; (by Mike Amundsen)</p>
<p><a href="http://bill.burkecentral.com/2011/01/27/should-rest-be-organic/" target="_blank">Should REST be Organic?</a> &#8211; &#8220;I think we’ve all had negative experiences with trying to follow an architectural principle (REST, OOP, or whatever) religiously.  I think most of us realize that focusing on delivery to market through multiple iterations and user requirements and feedback is much more important than whether we religiously follow a specific guideline.  The easy answer is “Then don’t call it REST!”, but we’d have a very limited vocabulary in software engineering if this mantra was followed with every new architectural style that was created.&#8221; (by Bill Burke)</p>
<p><a href="http://service-architecture.blogspot.com/2011/01/using-rest-and-cloud-to-meet-unexpected.html" target="_blank">Using REST and the cloud to meet unexpected and unusual demand</a> &#8211; &#8220;Every so often this business gets unexpected spikes, these spikes aren’t a result of increased volume through the standard transactions but are a result of a peak on specific parts of their site, often new parts of the site related to (for instance) sales or problem resolution. The challenge is that these spikes are anything from 300% to 1000% over their expected peak and the site just can’t handle it.So what is the solution? The answer is to use the power of HTTP and in particular the power of the redirect.&#8221; (by Steve Jones)</p>
<p><a href="http://www.w3.org/2001/tag/2011/01/HashInURI-20110115" target="_blank">Repurposing the Hash Sign for the New Web</a> &#8211; &#8220;The Hash sign (#) in a URI was originally used to introduce a static &#8220;fragment identifier&#8221;, but recently it is being used in many more complex ways as it is set by and interpreted by JavaScript in Web applications. Fragment identifiers are used to provide several different kinds of parameters to the client-side application, such as the actual URI of a video to be played to a video player, or the position and zoom to a map. Unlike search parameters preceded by &#8220;?&#8221;, the characters in the URI bar after the hash can be changed without causing the page to be reloaded. Applications and toolkits using fragment identifiers in this way often go to some effort to keep a history and make sure the back button works as expected. Accessibility and search can, however, be compromised because without running JavaScript, the URI has no meaning. Such uses of the &#8220;fragment identifier&#8221; have interesting and different properties, and differs from the way it is currently described in specs. This document explores the issues that arise from these new uses of fragment identifiers, and attempts to define best practices.&#8221; (by T.V. Raman, Ashok Malhotra)</p>
<p><a href="http://looselyconnected.wordpress.com/2011/01/14/final-word-on-rest-resources/" target="_blank">Final Word on REST Resources</a> &#8211; &#8220;As engineers, we spend so much time in our world providing clarity around our data model, whether it’s a database schema, and object model, or even a file of comma-separated values, that it pains us when we hit a generic term like Resource, that can’t always be defined with that precision.&#8221;</p>
<p><a href="http://amundsen.com/blog/archives/1087" target="_blank">experimenting w/ RESTful clients</a> &#8211; &#8220;i am working on various abstract models for implementing RESTful hypermedia clients. IOW, i think there are some key abstractions that all RESTful client applications share. i am also testing some ideas on M2M (machine-to-machine) clients along the way. if this work pans out, i expect to have some clear ways to talking about designing and implementing client appliations that are hypermedia-aware, follow RESTful principles, and can support some level of M2M operations.&#8221; (by Mike Amundsen)</p>
<p><a href="http://www.webofthings.com/2011/01/14/the-iot-service-oriented/" target="_blank">The ‘Internet of things’ needs to be service-oriented</a> &#8211; &#8220;The paper discusses the differences between REST and DPWS, points at several features of DPWS that are addressed in limited ways by REST (and vice-versa) such as service discovery: you can discover REST resources by getting their URI (<a href="http://en.wikipedia.org/wiki/HATEOAS">HATEOAS</a> but how do you get that URI in the first place, how do you resolve it?) and proposes the use of small local units, called LDUs (Local Discovery Units) to enable the discovery of both DPWS and REST services.&#8221; (by Dominique Guinard)</p>
<p><a href="http://soundadvice.id.au/blog/2011/01/12/" target="_blank">B2B Applications for REST&#8217;s Uniform Contract constraint</a> &#8211; &#8220;This is very much how the REST uniform contract constraint works both in theory and in practice. We end up with a uniform contract composed of three individual elements: The syntax for &#8220;resource&#8221; or lightweight service endpoint identifiers, the set of methods or types of common interactions between services and their consumers, and the set of media types or schemas that are common types or information sets that are exchanged between services and their consumers. By building up a uniform contract that focuses on the what of the interaction, free from the business context &#8220;why&#8221; we are free to reuse the interface in multiple different business contexts.&#8221; (by Benjamin Carlyle)</p>
<p><a href="http://www.slideshare.net/cesare.pautasso/atomic-transactions-for-the-rest-of-us" target="_blank">Atomic Transactions for the REST of us</a> &#8211; (presentation) Does REST need transactions and a protocol for achieving them. (by Cesare Pautasso)</p>
<h1>Software frameworks</h1>
<p><a href="http://blogs.sun.com/sandoz/entry/jersey_1_5_is_released" target="_blank">Jersey 1.5 is released</a> &#8211; &#8220;We have recently released version 1.5 of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here.&#8221;</p>
<p><a href="http://bowlerframework.org/" target="_blank">Bowler</a> &#8211; &#8220;Bowler is a RESTful, multi-channel ready web framework in Scala with a functional flavour, built on top of Scalatra and Scalate, with Lift-JSON doing the heavy JSON lifting.&#8221;</p>
<p><a href="http://devlicio.us/blogs/hadi_hariri/archive/2011/01/16/easyhttp.aspx" target="_blank">EasyHttp</a> &#8211; &#8220;As of late, much of the code I write, somehow or other has to communicate with an HTTP server. Be it a “ReSTful” service or a “Wanna-be-ReSTful” service, I’ve had the need to make GET, POST, PUT et al operations and work with JSON.After writing smaller wrappers around WebRequest on a few occasions, I decided it’s time to formalize the wrapper. This has given way to EasyHttp.&#8221;</p>
<h1>Events</h1>
<p><a href="http://iansrobinson.com/2011/01/28/ws-rest-2011-submission-deadline-extended-to-10-february-2011/" target="_blank">WS-REST 2011</a> &#8211; &#8220;The deadline for submitting papers for WS-REST 2011 has been extended to 10 February 2011. If you haven’t already submitted a paper, now’s your chance.&#8221;</p>
<h1>Interesting tweets</h1>
<p><a href="http://twitter.com/#!/AndrewWahbe/status/30051220118839297" target="_blank">@AndrewWahbe</a> &#8211; &#8220;Step 1: Coin the term &#8220;Platform as a Browser&#8221; (Done! That was easy!) Step 2: Explain what the hell I mean by that (Will take some time&#8230;)&#8221;</p>
<p><a href="http://twitter.com/#!/stilkov/status/27654293733511168" target="_blank">@stilkov</a> &#8211; &#8220;What&#8217;s the current status of standardization of hypermedia support in JSON, particularly link relations? Any current list of efforts?&#8221;</p>
<p><a href="http://twitter.com/#!/darrel_miller/status/25041761889943552" target="_blank">@darrel_miller</a> - &#8221;Most of REST&#8217;s constraints are focused on preserving independent evolvability over time, which is only measurable on the scale of years&#8221; RF</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thisweekinrest.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thisweekinrest.wordpress.com/319/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thisweekinrest.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thisweekinrest.wordpress.com/319/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thisweekinrest.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thisweekinrest.wordpress.com/319/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thisweekinrest.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thisweekinrest.wordpress.com/319/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thisweekinrest.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thisweekinrest.wordpress.com/319/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thisweekinrest.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thisweekinrest.wordpress.com/319/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thisweekinrest.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thisweekinrest.wordpress.com/319/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thisweekinrest.wordpress.com&amp;blog=11668215&amp;post=319&amp;subd=thisweekinrest&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thisweekinrest.wordpress.com/2011/01/29/this-week-in-rest-%e2%80%93-volume-32-jan-8-2011-%e2%80%93-jan-28-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff743b4cba28cc47ad65cb90212c1e51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">izuzak</media:title>
		</media:content>
	</item>
	</channel>
</rss>
