#nodesummit: node.js and ql.io, consuming http at scale

Ql.io is a project by eBay announced at the end of November 2011. On github. API billionaires club, list of large web properties whose API Endpoints see over a billion requests per month.

A DSL for HTTP, a http gateway written on node.js. Make http API easy and fast to consume.

A few years ago when the major properties began doing API, the clients made few API calls per UI paint. Today it's common to have multiple applications on a page or otherwise call to multiple API.

Parallelizing, sequencing, joining, normalizing

You can see the bad effect of growth of API calls per UI paint using tools like YSlow, look at its log of network I/O.

Their was to create a domain specific language for HTTP services using an SQL like syntax. Select URL from billy.shorten where shorturl ...

Ql.io acts like a middle tier between the app and service. Abstraction over the services.

How then does ql.io learn about new services? "create table" defines the API and how to deal with responses from API requests.

The examples use "select" as the main tool. But what about services where you upload things as well as retrieve things? The definition of a table defines which http verb is being used. But his answer wasn't clear about whether it supports uploading data as well as retrieving data.