« I've been thinking this all along... | Main | The Ultimate Smartphone »

October 01, 2007

Roy Fielding on REST

Blogger: Anne Thomas Manes

Annethomasmanesbg

There's no one better to explain REST than the man that defined it. Roy Fielding gave a presentation recently at JAZOON 07, and the folks from BEJUG were kind enough to post a recording of the session on Parleys.com.

Roy described REST from a fairly technical perspective, and unfortunately he was a bit rushed in his presentation. (He learned at the last minute that the session was much shorter than he expected.)

I particularly like the way he summarizes the REST constraints. Plagiarizing his slide:

Uniform Interface:

  • Resources are identified by only one resource identifier mechanism
  • Access methods (actions) mean the same for all resources (universal semantics)
  • Manipulation of resources occurs through the exchange of representations
  • Actions and representations are exchanged in self-describing messages

Hypertext as the engine of state:

  • Each response contains a partial representation of server-side state
  • Some representations contain directions on how to transition to the next state
  • Each steady-state (page) embodies the current application state

I'm not quite so fond of the way he compares REST to SOA. First of all, it really isn't appropriate to compare REST and SOA. SOA is an architectural style that should be used for high-level system design, while REST is an architectural style that should be used for system implementation. (I discussed this last June in the blog entry SOA and REST operate at different levels of architecture.) And second, Roy is equating SOA with web services. Although a lot of folks use web services to implement services, that's simply an implementation decision. Any type of middleware can be used to implement services. (I discussed this topic in September in the blog entry When Technology Matters in SOA.)

Stefan Tilkov also posted an excellent discussion about the different architectural levels of REST and SOA, FAQ Entry: What's this REST vs SOA Debate About?

So when watching Roy's presentation, replace the term "SOA" with "WS-*", and the discussion will make a lot more sense.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8345208e269e200e54eedd63c8833

Listed below are links to weblogs that reference Roy Fielding on REST:

Comments

"So when watching Roy's presentation, replace the term "SOA" with "WS-*", and the discussion will make a lot more sense"

I don't agree with this claim - REST is an architectural style while WS-* is a set of technologies
you can apply the REST principles to interactions based on the WS-*. I do agree that it is not the common way they are used

Arnon

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Comments are moderated, and will not appear until the author has approved them.

  • Burton Group Free Resources Stay Connected Stay Connected Stay Connected Stay Connected


Catalyst Conference 2009


Burton Group Podcast

Blog powered by TypePad