Amazon Web Services and REST


A few days ago, Amazon announced their web services program.  Unfortunately, I had two days without much time to play.   Tonight I finally had a little time. 

Amazon's progam supports both a SOAP/RPC model and a RESTful model.  Using the RESTful model, I cobbled up the Amazon results box on the right side of this page.  This is the XSL file that I used and this is the URL I called.   A few observations:

  1. My task was made more difficult by the lack of good error messages from Amazon.  Note the the XSL file specifically passes error messages through.  At first, I wasn't even seeing what little Amazon did send and that was murder.
  2. XSL needs some good tools for debugging and testing.  As it happens, XSL is a programming language with few (maybe no) support and debugging tools.  What's worse, its a rule based language, an unfamiliar paradigm for most people.  People used to give me a bad time about Scheme and LISP.  I can't believe they'll use XSL.  See my earlier rant on XML based programming languages if there's some doubt as to how I feel. 
  3. Amazon apparently caches the XSL file that they read from me and so I had to keep renaming it.  There's probably some way to tell it to clear the cache, but hey, what do you expect me to do, actually read the docs? 
  4. The hardest part, by far, was finding the right verb in Frontier to do the HTTP call to Amazon and return the result. 

All in all, a surprisingly easy task.  Someone who knew both Frontier and XSL could have probably done it in under 15 minutes.