While the technology that underpins web services is mostly standard (HTTP, JSON, XML etc), there are few standards that dictate the functionality of the actual web service APIs. As an example, despite the fact that Twitter and Facebook share a lot of functionality, that functionality is exposed through interfaces that have very little in common. For developers this means developing an application that does something as simple as “post a message” involves learning two separate APIs.
YQL is a service from Yahoo that implements a SQL like language for accessing web services. This provides a consistent way to access not only Yahoo services, but also any number of third party services as well. Until now YQL has existed side by side with the traditional REST style APIs, but in a recent post covering some changes to their Music API, Yahoo indicated that they will be leveraging YQL more aggressively:
With YQL, you simply click on an example and you'll see the return data in the YQL console. Using the console, you can easily see the other data the YQL Data Table offers, change your query, and quickly learn how to use the service. In fact, we think it's so easy that reading the documentation is no longer essential.
And this change isn't just for Music. YQL will soon become the primary way to access all Yahoo! data services.
There are YQL Data Tables for nearly all Yahoo! services. So, over the next few weeks, we will be converting all service pages to this new YQL-based design. We are currently working on new pages for Updates, Contacts, Answers, BOSS and Delicious, with others to follow.
This move should generally prove useful for developers, who not only get a standardized interface, but who can also test a lot of queries without having to write any code using the YQL Console. YQL also offers some advanced features like Execute definitions, which were highlighted in one of our previous posts on YQL.