Hypermedia As The Engine Of Application State

17 02 2008

It’s been a while since I’ve blogged about anything - way too busy or maybe just not dedicated enough.

In the meantime, Nigeria lost in QF to Ghana, Arsenal is on top of the Premiership, the Patriots lost, Pau is in L.A., McCain has practically won the GOP ticket and I’ve been developing a REST-based system using Microsoft’s WCF technology. I’ll have to post on my WCF experiences later.

However, during this exercise, its become very clear to me that hypermedia and application state are probably the two most important things in a RESTful system. How an application transitions from one state to the next via links (essentially what you do with your browser) is primarily what a designer should be focused on. The resources, URIs etc just begin to fall into place after that. The representation you use becomes less of an issue as one realizes that in order to keep the engine running, links must be provided.

Most SOAP-based web services cannot provide an application with links on what to do next. This may be okay if there are no more state transitions, but how often is this really the case? To me, this is the most important difference between building a MESTian web service or a RESTian web service. If your RESTful web service, does not leverage hypermedia, its not that much better than a MESTian web service.

Equally as important is the discipline to avoid URI construction in clients besides basic GETs. Doing this will lead to much pain and suffering.

Here is another good article by Peter Williams that addresses this.


Actions

Information

Leave a comment

You can use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>