HATEOAS == Links == Workflow

2008-12-05 @ 18:48#

the title sez it all, really.

hypermedia as the engine of application state or HATEOS, is a key component of REST. and one of the least used/understood/championed/implemented constraints in Fielding's 2001 dissertation. not because the concept is difficult to grasp ("use hyperlinks to drive the changes in your application"). but because the implementation of the concept is very demanding.

face it. it's hard. that's fine. but you can't ignore it just because it's hard.

if you implement your network (Web) application to only use stateless interactions, then HATEOS is the only reasonable way to drive application work flow. if you have ever implemented a message queue, a batch execution pattern, or a plug-in execution engine, you know that stateless processing is the only way to get meaningful work done in an efficient way in a system that must adapt over time.

so stop messing about. stop trying to get everything done in a single POST to the server. stop creating tightly-bound classes bolted onto generated markup with 'fake' action buttons that override HTTP POST.

start writing HTTP applications instead.