Blogbody Rotating Header Image

A Bit Harsh

A couple weeks ago I ranted about a post I found on a Wiki regarding REST. While I still hold by my opinion that spending time arguing between calling it an application protocol vs. a transport protocol is pointless, I guess I might have gone a bit overboard.

Afterall, I do have several friends both at work and in the opensource community (jkk, joe, etc) that are believers in REST. I don’t want people to think I’m just some guy spouting off who has no idea what he’s talking about. Hmm… actually, that’s probably pretty accurate :) 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.

When I refer to tools, I imagine a REST “tool” being about as useful (and complicated) as a database — you know, that thing we all take for granted now. 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.

Without this tool support, your REST architecture won’t have a standard foundation to continue to build upon. In fact, your REST architecture will only work with your REST clients, and to get more REST clients (a primary motivation for this style of design) one needs to provide the clients with simple access to the resources: tools.

So you’re going to have to build your own tools, in house, rather than spending time solving the business problem at hand. What I envision, instead, is a “standard” (more like vendor) built on top of REST that provides things like XML marshalling, automatic URI resource mapping, query support, interceptors between GET/POST/PUT/DELETE and the final dataset, and caching.

These are thigns that generally must be addressed anyway, and having each project that uses REST re-invent the wheel is just silly. REST is too general to be built upon by itself, it needs a standard tool; otherwise it’s just an ethereal concept that could probably be hammered in as a solution to any problem… and everyone knows hammering is never good.

4 Comments on “A Bit Harsh”

  1. #1 Bill de h
    on Oct 28th, 2003 at 4:12 pm

    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…

  2. #2 xemplify
    on Nov 27th, 2003 at 5:20 pm

    Apache Coccon may be a tool that can help implement a REST style architecture:
    http://cocoon.apache.org/

  3. #3 Tony Butterfield
    on Feb 6th, 2004 at 10:37 am

    Take a look at 1060 NetKernel too.

  4. #4 Jerome Louvel
    on Dec 23rd, 2005 at 6:59 am

    Patrick, I came to a similar conclusion and started an open source project called Restlet, providing the features you were looking for. Please check http://www.restlet.org

Leave a Comment