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:
- 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.
- 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.
- 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?
- 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.