Crud, more CRUD crud

I’ve said it before, but apparently not enough as David Chappel chimes in with this;

A RESTful approach is a natural for data-oriented applications that focus on create/read/update/delete scenarios.

He’ll get no argument from me that REST is good for data-oriented applications, but saying that it’s only good for the subset that fit the CRUD model is wrong. It’s wrong because CRUD doesn’t have an equivalent for HTTP POST. Once you incorporate POST into your repertoire, then you can do all kinds of interesting things like, say, ordering stuff.

Perhaps David – or anybody else – could point me towards a data oriented application which can’t fit (well) into such a model (not REST, just the uniform interface part).

2 thoughts on “Crud, more CRUD crud

  1. Jamie

    Hello Mark,
    I follow your blog with interest and I’m now having a hard time reconciling the differences between CRUD and HTTP. Well, I can see that they are definately not the same but (in my head) they’re analogous enough be talked about in the same breath.

    That’s what caused me to write this:
    http://blogs.conchango.com/jamiethomson/archive/2008/10/16/are-database-pros-relevant-on-the-restful-web.aspx

    where I draw a lot of comparisons between CRUD and HTTP (much as David does in his sentance that you quoted above) whilst stopping short of saying that the are the same.

    Am I misguided? I would appreciate your taking the time to put me straight by posting a comment on my blog post (above). Don’t feel obliged tho – I’m just begging for some direction here :)

    -Jamie

  2. admin Post author

    There’s definitely similarities, Jamie. That’s why, AFAIK, I was the first person to use a CRUD comparison in a REST context. But it’s really not much good for the purposes of comparison once you start digging into it in any kind of detail. It’s about as useful a comparative tool as, say, tuple spaces (actually, it’s probably a bit less useful).

Leave a Reply

Your email address will not be published. Required fields are marked *