eBay Open Sources New Query Language

eBay has released an open source programming language called ql.io that allows developers to simplify the way in which client applications retrieve and utilise data, reducing developer time, network latency and bandwidth usage.

Ql.io allows separate API requests for retrieving data, joining the results of requests and generating responses to be bundled into a single call, resulting in applications that appear more responsive, according to eBay.

Lower latency

“Ql.io is a declarative, evented, data-retrieval and aggregation gateway for HTTP APIs,” wrote eBay developer Subbu Allamaraju, who led the ql.io effort, in a blog post last week. “Through ql.io, we want to help application developers increase engineering clock speed and improve end user experience. Ql.io can reduce the number of lines of code required to call multiple HTTP APIs while simultaneously bringing down network latency and bandwidth usage in certain use cases.”

Allamaraju said eBay had been working on the language in order to address long-standing problems with the way web clients perform data calls.

“Writing HTTP client code to talk to APIs is verbose, repetitive, chatty and slow,” he wrote in an earlier post. “This is in addition to addressing latency and bandwidth constraints and core functionality of the client app – such as building a snappy UI or supporting some other business use case.”

He said a typical client might need to make three separate API calls in order to check data for a product list on an e-commerce website and make use of the information retrieved. Ql.io combines those three calls into a single call.

Ql.io includes a domain-specific language inspired by the SQL database query language and the JavaScript Object Notation (JSON) data interchange format, as well as a runtime based on node.js for processing ql.io scripts, Allamaraju said.

Efficiency

Using it should allow developers to reduce the number of lines of code needed to perform a query, reduce the number of queries and requests between client and server, and condense the data requested to the minimum number of fields.

It can be positioned close to the servers, close to the client, or as part of the client, depending on where the developer wants to minimise network latency.

The source code, licensed under the Apache Licence 2.0, has been released on the GitHub repository. eBay has also published some examples of how the language can be used on the ql.io website.

Matthew Broersma

Matt Broersma is a long standing tech freelance, who has worked for Ziff-Davis, ZDnet and other leading publications

Recent Posts

Google Consolidates DeepMind And AI Research Teams

AI push sees Alphabet's Google saying it will consolidate its AI teams in its Research…

35 mins ago

Apple Pulls WhatsApp, Threads From China App Store

Beijing orders Apple to pull Meta's WhatsApp and Threads from its Chinese App Store over…

4 hours ago

Intel Foundry Assembles Next Gen Chip Machine From ASML

Key milestone sees Intel Foundry assemble ASML's new “High NA EUV” lithography tool, to begin…

8 hours ago

Creating Deepfake Porn Without Consent To Become A Crime

People who create sexually explicit ‘deepfakes’ of adults will face prosecution under a new law…

1 day ago

Google Fires 28 Staff Over Israel Protest, Undertakes More Layoffs

Protest at cloud contract with Israel results in staff firings, in addition to layoffs of…

1 day ago