regarding the "REST Bubble" : piling on...

2011-01-27 @ 11:39#

William Vambenepe posted a pithy article on his blog this week that got some "fingers wagging" in the twit-o-sphere. here's a gist...

[W]hen 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.

The REST bubble - William Vambenepe

the comments on his post are interesting. Mike Kelly penned an noteworthy response, too. so, i thought i'd pile on with mine.

I agree - almost....

this is mostly word-smithing, but what i see right now is an "HTTP Bubble"; not a "REST Bubble." William, IMO, is right on the money about hype, hand-waving, and lecturing all around the four letter word : "REST." it's a bummer. it's annoying. i've done it myself more than once :(

and, as William points out, none of that silliness is appreciated when you're just trying to get something done.

back then...

you may recall we had a "SOAP bubble" for a while (starting around 2000). marketing-driven hype dubbed all things new as "SOAP". it annoyed SOAP-sters just as much as anyone else (i know, i was one of those SOAP-sters). initially, SOAP was conceived as a protocol-agnostic message-based RPC pattern for accessing remote data. by the time it was co-opted, product-ized and homogenized, "SOAP" became synonymous with XML object-serialization using message-based RPC calls over HTTP.

bummer.

the fad started to run out a few years ago. i attribute most of the decline to problems encoutered while trying to recreate several transfer protocol details (e.g. security, encoding, freshness, etc.) in a document format and continued tight-binding|upgrading nightmares for remote clients and servers due to products (coding environments and app servers) that emphasized immediate design-time tooling over long-term runtime evolvability.

it just got to be too much.

and now...

i date the start of the latest trend - the "HTTP Bubble" - to the later-half of 2008. yeah, it's often mis-named the "REST Bubble." that's one of the chief annoyances of the current fad, but it's not the only one. there is a size-able amount of 'preaching' involved this time around. some of this comes from folks who saw the "SOAP debacle" coming and are just a bit smug over it all. some (i've seen this first hand) can be attributed to 'REST posers' jumping on the bandwagon and hoping to gain some "Internet cred" in the process.

whatever the details or motiviations, it's a fad and it's a drag. what is developing now is more of the same. today, what gets labeled as "RESTful" is often RPC (using URIs) over HTTP returning JSON or XML serialized objects.

sound familar? it should.

but off at the other end of the building...

Throughout all these years there has continued to be a small group of folks using Fielding's REST model as a starting point for implementing evolvable apps for distributed networks (via HTTP and Hypermedia). it's not very sexy work. it's a bit tedious. it's somewhat harder to pull off, too. but the payoff is great if you deal with really large networks, and your messages must evolve over time (years). and you don't control all the servers, and you don't control all the clients, and...

you get the picture.

Fielding's 2001 dissertation, while easy to read and very good, does not describe "Web programming for the common-man." and that document sure-as-shootin' doesn't outline a plausible marketing strategy for product vendors. here's a recent quote from Fielding that i think sums it up...

Most of REST's constraints are focused on preserving independent evolvability over time, which is only measurable on the scale of years. Most developers simply don't care what happens to their product years after it is deployed, or at least they expect to be around to rewrite it when such change occurs.

Roy T. Fielding, August 2010

so, back in the day while SOAP was on the rise, REST-ies continued to do thier thing. and now that the "HTTP Bubble" is in ascendancy, you can bet the same thing is true. folks serious about the network programming model detailed in just one chapter of Fielding's dissertation will keep on doing what they're doing. they might look up every once in a while; might grumble a bit. might even send out an emmissary to test the air, etc. but don't expect too much in the way of diplomatic overtures from REST-ies. they're too busy doing their own thing.

so what am i saying?

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'll see what new marketing fad will be on the rise in 'big IT.' 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's REST

REST