March 17, 2004

Re: Russel Beattie's Web Service Tools entry

In Web Service Tools Russ shares some thoughts about Web Services as Unix-like Software Tools.

This entry rung a bell for me for 2 reasons:

  • It's been 2 months that I've been ejoying the delightful reading of Eric Raymond's The Art of Unix Programming, where he distills what makes the UNIX software design philosophy with many detailed examples. I'm only at page 300, on 510. I haven't enjoyed a software related book so much since the GoF Design Patterns book. While reading I've been thinking about how web services implemented using the REST style exhibited the same desirable compositional characteristics as UNIX command lines using pipes.

  • Recently I have started playing with such a REST style web service, the Amazon Web Services, which can be used using either SOAP or REST. My little experiment consisted in replacing the stylesheet used by Amazon to generate RSS feeds by an alternate stylesheet which adds information to the feed, here the list of weblogs that talk about that feed. I get the list of weblogs from another REST style web service provided by AllConsuming. The Amazon RSS feeds themselves are generated using the equivalent of a pipe: parameters on the url generate the request for XML data from Amazon, and one parameter redirects that XML to the Amazon xslt service for styling in RSS.
    I could not use Amazon's xslt service because I use a document() function in my stylesheet that fetches some additional XML from AllConsuming. Thus I used the W3C XSLT service to apply my stylesheet: like in UNIX where you can easily change one filter in a chain of commands bound using pipes, I just had to change the url for the xsl service.
    I need to go one step further: here I cheated by using the Amazon XML results directly to do my transformation. I did this for efficiency reasons, and also because I was too lazy to parse the urls to get the ASIN out of them. But my logical next experiment is to take the feeds directly from Amazon, and then apply my stylesheet to add the AllConsuming data: in the UNIX metaphor, this would truly be like piping Amazon's RSS to another filter.
    Will do that when I find some time.
    My experiment is explained in Enriching Amazon RSS feeds with AllConsuming metadata: take 2
  • Posted by chanezon at March 17, 2004 05:00 PM | TrackBack
Post a comment

Remember personal info?