a fitful REST

Yesterday I found out about the Amazon Web Services Simple Queue Service (beta), which is an Amazon-provided generic web service, available with both SOAP and “REST” interfaces. Unfortunately, the nature of the “REST” interface is along the lines:

GET http://webservices.amazon.com/some/cgi?operation=[procedure-name]&subscriberId=[foo]&[other args]

(Note that I’m actually guessing on the ‘GET’ part, since the docs don’t specify an HTTP operation.)

I’m really happy that Amazon has opened up this service, and has provided a … more direct … interface than SOAP for interacting with it. My only gripe is that they labeled that interface “REST”. There’re at least two forms of REST that I’m aware of, and this fits neither.

I brought this up on the rest-discuss mailing list, and Jan Algermissen pointed out … basically … “talk is cheap, grousing is free; implementations will help change minds.” [my paraphrasing :)]. So, I have.

queue.py is a simple Python + Twisted web service implementing a /queue[/{name}[/{key}]] as you would expect give the HTTP operations GET, POST and DELETE.