« I know, I'll use a framework | Main | JVM ascendent »

Understanding REST

Blogbody: A Bit Harsh

But really, I want to make it clear that I do understand the point of REST -- I just don't see it as a viable alternative as long as there aren't really good tools available.

That's like saying Design Patterns aren't viable as long as there aren't really good tools available ;) Maybe Patrick does understand the point (if there is one) - that REST is an architectural style, not a toolkit. Not that he cares, as he says elsewhere :)

What I'm saying is that for a concept like REST to really take off, there needs to be a large and complex framework available that makes it easy to expose complex resources -- not just simple CRUD operations thinly masked over a database.

The last thing the industry needs is another large and complex framework, that just gets you things like SOAP RPC-encoded. But for what it's worth, maybe this REST stuff isn't going to catch on until we have a Web Antipatterns book to wave at people.

October 28, 2003 09:40 PM


Patrick Lightbody
(October 29, 2003 12:03 AM #)

Hi Bill, thanks for reading my rant (and my rant about my rant) ;)

Theory is nice and all, but if it takes 50% of your time to build around a Design Pattern or an architecural style, then something has gone terribly wrong.

Chew on this: The reason the Iterator Pattern is so successful is because of the tool support around it (in this case the Java Collections API). I can promise you that Iterators would not be nearly as widely used had a pre-built implementation around the Iterator Pattern been built in to Java.

Patrick Lightbody
(October 29, 2003 01:33 AM #)

Err... "would not be nearly as widely used had a pre-built implementation around the Iterator Pattern *NOT* been built in to Java" :) it's late...

Anyway, I hope I'm making sense -- I'm just trying to be practical, and my point is that good ideas remain just that until someone makes them accessibly to the masses (same reason cool opensource projects fail, lack of docs, releases, etc).

Charles Miller
(October 29, 2003 01:45 AM #)

That's putting the cart before the horse. The Iterator pattern is implemented in Java Collections is because it had already been widely used in Smalltalk and C++.

Generally, architectural patterns go through a cycle: neat idea -> variety of ad-hoc implementations -> small number of standard implementations -> ???, where ??? is either "everyone realises it was a bad idea after all", or "everyone gets so used to it that they forget that once upon a time it was just a neat idea.

Patrick Lightbody
(October 29, 2003 06:29 AM #)

Charles, I think the cycle you pointed out is exactly what I was trying to say -- very well said :)

So then the question is -- what is the benefit of being an early adopter? I'm an early adopter for certain things (like opensource projects), but when it comes to broad, sweeping ideas (like REST), I feel there is no need to adopt early -- pretty much because the value doesn't seem to outweigh the costs.

I guess everything comes down to a balance between weight and cost though, right?

Josh Sled
(October 31, 2003 03:27 PM #)

Early adoption of a practical architecture that's grown to how many interconnecting web sites over how many years? How old is the web? How old is SOAP?

More comments at http://www.asynchronous.org/twiki/bin/view.pl/Main/AsynchronousBlog

(November 3, 2003 03:07 PM #)

I'm amused. The talk of there not being the tools - if only I had a http client, if only I had a http server... what? You mean XML tools - like a parser of something?

Early adoption? Funnily enough, here's something I hacked together earlier - first it does a GET...

Trackback Pings

TrackBack URL for this entry: