Confessions of a RESTful newbie

Over the years various people have asked me what I thought about REST as a style for implementing services.  For most of that time I felt that it was something that I didn't need to know or care about.  However... those days have now come to an end. 

Since .NET 3.5 includes support for building RESTful services I've now taken it upon myself to become knowledgeable about REST and the practice of building and consuming RESTful services.  One of my teammates Justin Smith advised me that the best way to start is by consuming services from some of the big guys so I decided to take on the Yahoo services since they were one of the examples from the chapter in RESTful Web Services that I'm currently reading.

Of course Yahoo does have a very simple console type program that shows how to access their service but please... that is way too easy.  No... I wanted to create something much better like a Yahoo Services Proxy library with full support for asynchronous operations and unit tests that test this library without actually hitting the server.

It took me several hours last night and most of the day today but I've come up with something I think is fairly cool.  Right now it supports only the WebSearch service but others will be added as I have time.

Right now the service just delivers the Xml payload to you.  I considered writing some additional code to use XLinq and map the results onto strongly typed objects but then I thought... that doesn't seem too RESTful.  Who knows... I might add it anyway later on.

I'm curious what you RESTful types out there will think of this.  I built the proxy so it could be used in Web or non-web scenarios.  It includes a WinForms test client app and some unit tests.

You can download it here.  Yes I did build this with VS2008 and .NET 3.5 so it does have a sprinkling of Lambda expressions in various places.

screenshot