eBay kündigt SQL für Web-APIs an

ql.io ist eine neue Sprache extra für die Koordination von HTTP-API-Aufrufen. Die von SQL und JSON inspirierte domänenspezifische Sprache verwendet Node.js als Laufzeitgebung für das Ausführen mit der Sprache geschriebener Skripte.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Das Internetauktionshaus eBay hat unter dem Namen ql.io eine neue Sprache samt dafür notwendigem Interpreter veröffentlicht, die extra für die Koordination von HTTP-API-Aufrufen gedacht ist. Die von SQL und JSON inspirierte domänenspezifische Sprache (DSL) verwendet Node.js, ein eventbasiertes, nicht blockendes I/O-JavaScript-Framework, als Laufzeitgebung für das Ausführen mit der Sprache geschriebener Skripte. ql.io soll die Anzahl der Codezeilen reduzieren, die bei Aufruf unterschiedlicher Webschnittstellen erforderlich sind, und in bestimmten Fällen die Netzwerklatenzzeit und den Bandbreitenverbrauch senken.

Der Hintergrund der Entwicklung liegt darin begründet, dass die meisten Webanwendungen unterschiedliche APIs beziehungsweise Services ansprechen müssen, was mehrere Netzwerk-Prozesse nach sich zieht. Diese API-Aufrufe führen zudem oft zu unerwünschten Wechselwirkungen, weshalb Entwickler die HTTP-Aufrufe programmatisch aufeinander abstimmen müssen. Auch verhalten sich die APIs nicht immer konsistent mit dem, wozu eine Schnittstelle entwickelt wurde. Auswirkungen hat das auf die Geschwindigkeit einer Anwendung und in der Folge auf die User Experience der Endanwender.

Laut der Ankündigung sollen Entwickler mit ql.io nun die API-Aufrufe, ihre Wechselwirkungen sowie Verzweigungen und Verbindungen festlegen können, sodass sich die Menge der Codezeilen von hunderten auf einige wenige reduziert und die Entwicklungszeit drastisch kürzer ausfällt. ql.io soll als HTTP-Schnittstelle zwischen den Client-Applikationen und den API-Servern mit der Aufgabe dienen, die Daten komprimiert in genau die Richtung auszuführen, wo sie benötigt werden. Dadurch wird offenbar die Zahl der benötigten Aufrufe weniger genauso wie die Menge der transferierten Daten geringer.

Hinter der Entwicklung steht eBays Platform Engineering Group. Die Entwickler haben den Code auf der Plattform des Versionierungsdienstes GitHub unter der Apache Licence 2.0 bereitgestellt. In dem ql.io ankündigenden Blog-Eintrag gibt eBay-Entwickler Allamaraju Subbu darüber hinaus einen kleinen Vorgeschmack auf die Entwicklung und eine Erklärung dazu, warum die eBay-Entwickler sich für Node.js anstelle des ansonsten bei eBay präferierten Java entschieden haben. Auf der Projekt-Website wird auch auf vergleichbare Bemühungen wie LINQ (Language Integrated Query), YQL (Yahoo Query Language) oder UnQL (Unstructured Query Language) verwiesen. (ane)