API調(diào)用太麻煩 eBay推出Web查詢(xún)語(yǔ)言
eBay的ql.io開(kāi)發(fā)者Subbu Allamaraju在他的博客中介紹了ql.io,“ql.io減少了編寫(xiě)多個(gè)HTTP APIs請(qǐng)求的代碼量,并且能夠減少網(wǎng)絡(luò)的請(qǐng)求延遲和帶寬的占用。”
隨著ql.io的推出,eBay也加入到了大型網(wǎng)絡(luò)服務(wù)提供商的軟件開(kāi)發(fā)陣營(yíng),這其中還包括Twitter的Storm數(shù)據(jù)流分析工具,LiveJournal的memcached數(shù)據(jù)緩存軟件,F(xiàn)acebook的Scribe日志工具集,以及Google的SPDY HTTP增強(qiáng)工具。
對(duì)于Web網(wǎng)站和Web Apps的開(kāi)發(fā)者來(lái)說(shuō),編寫(xiě)復(fù)雜的網(wǎng)絡(luò)處理代碼通常是一件非常痛苦的事情,Allamaraju曾在他的博客中寫(xiě)過(guò)一篇《APIs are a pain》的文章介紹了相關(guān)的問(wèn)題。
Allamaraju以一個(gè)客戶(hù)端程序?yàn)槔M(jìn)行了說(shuō)明:一個(gè)商業(yè)網(wǎng)站的客戶(hù)端程序需要將商品的相關(guān)數(shù)據(jù)陳列在一個(gè)列表中,這需要使用三個(gè)獨(dú)立的API請(qǐng)求,一個(gè)處理商品搜尋,一個(gè)用于獲取商品的詳細(xì)信息,一個(gè)用于收集用戶(hù)的評(píng)論。他表示,編寫(xiě)大量的APIs對(duì)程序員來(lái)說(shuō)是一件非常繁重的工作,并且頻繁的API調(diào)用往往會(huì)產(chǎn)生許多不必要的網(wǎng)絡(luò)帶寬,同時(shí)對(duì)機(jī)器的處理能力也是一種浪費(fèi)。
ql.io幫助開(kāi)發(fā)者將多個(gè)請(qǐng)求合并為一個(gè)請(qǐng)求,Web服務(wù)器通過(guò)分析收到的請(qǐng)求將結(jié)果打包在一起返回給客戶(hù)端。
ql.io是一個(gè)事件驅(qū)動(dòng)語(yǔ)言,它松散地依賴(lài)于SQL數(shù)據(jù)庫(kù)和JSON(JavaScript Object Notation)數(shù)據(jù)交換格式。要運(yùn)行ql.io的腳本,需要在服務(wù)器端安裝一個(gè)node.js JavaScript解釋器。
Allamaraju在GitHub在線(xiàn)代碼庫(kù)中共享了ql.io的源碼,還增加了一些使用示例。
原文:http://www.webapptrend.com/2011/12/760.html
【編輯推薦】