Yahoo has released its web services, and they’re pretty darn spiffy. You can use the API to search the Web, images, video, and news, or to do a local search. Of interest to me, as a developer of web services, is the fact that they’ve gone with a pure REST approach. URLs are “function” names, you pass in the parameters as HTTP parameters, and the results are returned via XML.
They also address a problem that I’ve run into — service versioning. What happens when you change the output of an API call? I solved it by adding an additional parameter to the requests named “version,” which worked the one time I had to do it. Yahoo builds it into the URL itself. That seems like a cleaner approach to me. I’ll have to think about how to implement that in a J2EE/Spring environment, but I think that the next time I need to update my version number, it’s the approach I’ll take.
Update: Sam Ruby notices some internationalization-related issues with the API.