9 дек. 2011 г.

eBay разработала язык запросов к Web

Взято с сайта Открытые Системы

Язык запросов ql.io упрощает работу с веб-сервисами получения данных

Джоаб Джексон Служба новостей IDG, Нью-Йорк

Компания eBay предложила язык программирования ql.io, позволяющий объединять запросы к различным API в один вызов, что упрощает получение данных из Web.

«Использование ql.io сокращает число строк кода, необходимого для обращения к различным HTTP API. Кроме того, в определенных случаях снижаются задержки в сети и требуемая полоса пропускания», — пояснил Суббу Алламараджи, разработчик eBay, который руководил работой по созданию ql.io.

Язык ql.io стал еще одним предствителем большой группы программных продуктов, разработанных крупными провайдерами сервисов и предложенных ими сообществу для использования и совершенствования. В эту группу входит, например, инструмент анализа потоков данных Storm, созданный Twitter, программное обеспечение хэширования данных memecached, предложенное LiveJournal, инструмент агрегирования записей протокола Scribe, разработанный Facebook, и протокол SPDY, созданный Google.

Для разработчиков веб-сайтов и приложений для Web написание кодов для извлечения данных из других сетей может оказаться трудоемким процессом, отметил Алламараджи в посте в своем блоге. Этот пост он и озаглавил соответственно: «API — кошмар разработчика».

В качестве примера он привел клиентскую программу, для которой требуются данные о продукте, размещенные на сайте электронной коммерции и в которой нужно написать три отдельных обращения к различным API: для выполнения поиска данных, для извлечения детальной информации о продукте и для получения отзывов пользователей. Написание запросов ко всем этим API — большая работа, а исполнение каждого запроса по отдельности влечет «накладные расходы» в виде загрузки полосы пропускания и ресурсов процессора.

С помощью ql.io разработчики смогут агрегировать все эти запросы в один. На специализированном веб-сервере выполняется разбор запроса и результаты выдаются единым пакетом.

ql.io представляет собой декларативный управляемый событиями язык, основанный частично на языке запросов к СУБД, а также на формате обмена данными JSON (JavaScript Object Notation). В нем используется интерпретатор node.js из JavaScript на сервере.

Исходный код языка, который распространяется на условиях лицензии Apache License 2.0, размещен в интерактивном репозитории кодов GitHub. Алламараджи привел также несколько примеров использования языка, с которыми можно ознакомиться на недавно созданном сайте ql.io.

Комментариев нет: