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

Hate Speech Watchdog CCDH To Quit Musk’s X

Target for Elon Musk's lawsuit, hate speech watchdog CCDH, announces its decision to quit X…

10 hours ago

Meta Fined €798m Over Alleged Facebook Marketplace Violations

Antitrust penalty. European Commission fines Meta a hefty €798m ($843m) for tying Facebook Marketplace to…

11 hours ago

Elon Musk Rebuked By Italian President Over Migration Tweets

Elon Musk continues to provoke the ire of various leaders around the world with his…

12 hours ago

VW, Rivian Launch Joint Venture, As Investment Rises To $5.8 Billion

Volkswagen and Rivian officially launch their joint venture, as German car giant ups investment to…

13 hours ago

AMD Axes 4 Percent Of Staff, Amid AI Chip Focus

Merry Christmas staff. AMD hands marching orders to 1,000 employees in the led up to…

16 hours ago

Tesla Recalls 2,431 Cybertrucks Over Propulsion Issue

Recall number six in 2024 for Tesla Cybertruck, and this time the fault cannot be…

17 hours ago