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

Apple ‘Developing’ Two Vision Pro Headset Successors

Apple reportedly working on lighter, cheaper Vision Pro, another model that links directly to Mac…

13 hours ago

OpenAI Releases GPT-4.1 With Improved Coding

OpenAI says GPT-4.1 model family can understand prompts with up to 1 million tokens, features…

14 hours ago

Blue Origin Sends All-Female Crew Into Space

Blue Origin jaunt sends Jeff Bezos fiancée Lauren Sanchez into space along with Katy Perry…

14 hours ago

Meta Begins Using EU Users’ Data To Train AI

Meta to use public posts from EU users on Facebook, Instagram to train AI models…

15 hours ago

Apple Leads Smartphone Market In First Quarter

Apple tops smartphone sales worldwide in first quarter after iPhone 16e launch, in spite of…

15 hours ago

Intel Sells Majority Stake In Altera To Silver Lake

Intel sells 51 percent of programmable chip unit Altera to Silver Lake Partners in deal…

16 hours ago