Django Queue Service

Work has been continuing apace on the Django Queue Service, mostly through the efforts of Rajesh and Marcus who have really done an outstanding job of filling in the holes in testing and structure for the application to make it viable over the long term. We had some good conversations over email the other day (enough so that I set up a list for it: django-queue-service@googlegroups.com). I’ve been terrible about arranging anything on IRC – I know I should to really get us all talking on the same page.

Rajesh apparently picked up a copy of the book RESTful Web Services (O’Reilly), and made a number of suggestions about future direction after reading the book. It really sounded like he got a lot out of the book, so I ordered a copy (through Queen Anne Ave Books cause they’re cool and local). I should have picked it up Thursday evening, but I was being a slacker and only went by and got it this morning. Anyway, I was starting to read it walking home from the bookstore and I immediately spotted a small chapter/segment in there on doing REST services with Django! Apparently Jacob helped out with a chapter in there, so there’s some interesting notes tucked away in Chapter 12 that I’m interested in getting to.

My knowledge is so scattershot (the trouble with being a technology generalist), that I think I’m going to take this book through from the start to make sure I catch up on those niggling little details that seem to slip the the cracks. I’m currently taking a break before seriously digging in to Chapter 2 (writing REST clients), and I’m glad to see a nice level of detail upcoming on how to actually get the various (what I’ll call obscure) HTTP verbs functioning from the clients. They have details on several languages, including libraries to use and example code – Ruby, Python, Java, JavaScript, C#, and so forth. It looks to be a good chapter.

For a long time, my reluctance to really get down to the “PUT” and “DELETE” verbs was because the libraries just didn’t easily support them – and I wasn’t sure what the “right way” of making them work should be. I’ve been pretty horrifically burned trying to learn the details needed to make some of the WS* bullshit specs work, and that translated pretty directly to a reluctance to learn the details of programmatically creating HTTP requests with the appropriate “verbing”. A blank spot, for sure – and one that I’m fixing now.

This project (the Django Queue Service) is mostly a “because I can” project. I’m not heavily using it in anything currently, although Rajesh and Marcus are – and I’ve heard a few other folks have apparently picked it up and run with implementations from it. I’m firmly of the opinion that the desktop and web-space cloud will continue to mix things up. A concept that Brent outlined in his Hybrid Apps Presentation at C4 over the summer of 2006. (Better have a Mac if you want to see that presentation by the way – it’s a VoodooPad document). I’ll be the very last to claim that desktop applications are dead – with the advent of libraries like Sparkle the distribution benefit of the web is just as easy made available to desktop apps as to web applications. And from my own experiences with browsers recently, coming up with fantastic UI functionality that works across browsers is an intense pain in the ass. Its getting better all the time but there are just some things you can’t do there in terms of interactivity and feedback that I’d really like to see and want to take advantage of.

4 thoughts on “Django Queue Service

  1. I think we’re pretty comfortable with the back-end already – Rajesh is ahead of me, and we’ve been watching the django-rest-interface code pretty closely.

    It was always the client code for using the REST stuff that had me bamboozled – mostly because the libraries so often supported GET and POST nicely, but not PUT or DELETE. Anyway, the snippets link is intriguing, and I suspect we’ll consider taking advantage of it.

    Like

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s