Skip navigation

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… lot’s of stuff happening at work so blogging got pushed down the priority stack.

Around the Web

A REST wankery question – “Given that, would you use URIs like /photos and /photos/{id} (as a photo list and photo detail resource, respectively)? … 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).” (by Jacob Kaplan-Moss)

Identifying Application State – W3C Working Draft: Proposed TAG Finding  “This document explores the issues that arise from the use of fragment identifiers to identify application state and attempts to define best practices.” (by T.V. Raman, Ashok Malhotra)

Web APIs: Don’t be a victim of your success – “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 ” (by Darrel Miller)

evolvable systems – “How can we design and implement distributed network solutions that remain stable and flexible over time? … 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.” (by Mike Amundsen)

Scanning data with HTTP – “As part of my series on SCADA and REST I’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’ll take a very web-focused approach and talk about how HTTP can be used directly for telemetry purposes.” (by Benjamin Carlyle)

Why and How You Should Write REST-Centric Applications – “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. ” (by Michael Woloszynowicz)

SOA in 2011 Panel – “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.”

How do you measure the RESTful-ness of an application? – “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”

List of ways HTML can download a resource – “Recently two different projects required compiling a list of ways to trigger a download through HTML: Resource Timing and Preload Scanner optimization.There’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’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).” (by Tony Gentilcore)

Information Resources and Web Metadata – “This note considers the semantics of metadata in which the subject of the metadata (the “data”) 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 “information resource” 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. ” (by Jonathan A. Rees)

Links Don’t Open Apps – “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.” (by Jason Grigsby)

Mature REST In Six Lines! – “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 “Holy Grail” of REST Level 3, and still thought they were basically “doing REST” 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.” (by Duncan Cragg)

Webmachine and RESTful Web Frameworks with Justin Sheehy – (video) “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.”

Using DNS for REST Web Service Discovery – “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.” (by Jan Algermissen)

Measuring REST – “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 “ilities”). 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. ” (by Subbu Allamaraju)

Atom Content Negotiation – “let’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.” (by Erik Wilde)

My PUT Requests Bug Me – “So here I am, writing documentation for some new GitHub API sweetness, when something strikes me. Why are we using PUT requests for updates? Should it bug me that my API uses the PUT verb?” (by )


W3C Workshop on Identity in the Browser – Papers from the W3C Workshop on Identity in the Browser, 24/25th May 2011, Mountain View (USA).

Interesting tweets

@AndrewWahbe – “Henry S. Thompson: “architecture of the internet is concrete while the architecture of the web is abstract” #IETF80

@AndrewWahbe – “Rosenberg: web model is becoming the same (proprietary protocol) with a mechanism for distributing software #IETF80

@wmartinez – “Good faces on Interoperability and Modifiability for REST. Sad face for Performance and Reliability. Merson. #soacloud

@mamund – “RT @dret: “a need for Uniform Data? (by @webr3) ; no, a uniform interface & media types work just fine.” #REST +1″

@algermissen – “From chat with @mamund:Media types should specify which kindsof links refer to resources with bookmarkable URIs. Or is there a way to guess?”

@dret – “really hope for #www2012 to be less about mining web content, and more about web architecture and web as a platform. architecture matters.”

@fielding – “@mnot I have a much better test page for deciding whether a site is truly RESTful or not:

@WSREST2011 – “”the state sandwich: application state machine, hypermedia state machine, HTTP state machine, media state machine.” @svrc #wsrest2011

@WSREST2011 – “look out for “Behave”, to be released by @svrc in may 2011. #wsrest2011

@WSREST2011 – “”main difference between programs an agents: agents act in an environment, agents are goal-oriented and autonomous.” @svrc #wsrest2011

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: