建立稱(chēng)作mashup的Web應用程序是Web 2.0的流行趨勢之一。mashup利用現有的Web應用程序或數據來(lái)源,組合這些資源建立一個(gè)新的應用程序。我將分析mashup背后的技術(shù),mashup結構,并提供一些mashup應用實(shí)例。
不要做重復的工作
Web上充滿(mǎn)了表面上可以滿(mǎn)足一切需要的網(wǎng)站。開(kāi)發(fā)者認識到這些資源,決心重新加以利用,對它們進(jìn)行擴充,而不是模仿它們的功能。重新利用和擴充這些資源的結果即為mashup概念。
mashup是一些應用程序,它從許多資源和服務(wù)中組合數據,用它們建立一個(gè)新的應用程序。在建立他們自己的mashup時(shí),開(kāi)發(fā)者可以使用各種技術(shù)。下面的列表簡(jiǎn)單概括了這些技術(shù):
XML:許多mashup網(wǎng)站以XML為技術(shù)支持。它們通過(guò)XML feeds恢復數據,通過(guò)XML操作把數據合并到應用程序中。根據這種說(shuō)法,XML相關(guān)的技術(shù),如XSLT和XPath常用于處理XML。
Web service:Web service概念包括許多把數據傳送給客戶(hù)端的技術(shù),如SOAP、XML和WSDL。mashup能夠通過(guò)如今的各種開(kāi)放式Web service,使用Web service調用恢復和發(fā)送數據。
RSS/Atom:基于XML的內容整合標準可以方便地向訂閱feed的用戶(hù)提供數據。
屏幕抓?。喝绻渌椒o(wú)效,那種通過(guò)從一個(gè)Web頁(yè)面恢復或抓取數據從而在其它網(wǎng)站提取數據的過(guò)時(shí)方法今天仍然有效。
AJAX:這個(gè)Web應用程序組合各種技術(shù),特別是JavaScript和XML,從而實(shí)際數據異步加載和顯示。它使得向服務(wù)器發(fā)送/從服務(wù)器接收數據的過(guò)程得以順利進(jìn)行,從而提高了用戶(hù)體驗。
其基本的理念是使用這些技術(shù)與Web service或API和內容提供商進(jìn)行交互。
mashup結構
通常,一個(gè)mashup應用程序由三個(gè)級別或層次構成。mashup中所使用的服務(wù)或數據來(lái)源為第一層。根據應用程序的要求,這個(gè)層中可能包括一個(gè)或幾個(gè)資源,直接在應用程序(如Blogger)中輸入數據的用戶(hù)就是一個(gè)常見(jiàn)的數據來(lái)源。
第二層即將這些資源組合起來(lái)的mashup應用程序。其中可能包含它自己的功能,或簡(jiǎn)單呈現數據來(lái)源。最后一層為用于訪(fǎng)問(wèn)網(wǎng)站的用戶(hù)客戶(hù)端??蛻?hù)端腳本可用來(lái)改善用戶(hù)體驗。
mashup應用程序的關(guān)鍵點(diǎn)在于提供數據來(lái)源的第一個(gè)步驟。Web提供了大量的可能性,下表列出其中一小部分樣本:
Amazon電子商務(wù)服務(wù):使用它訪(fǎng)問(wèn)Amazon的大量產(chǎn)品數據,并提供電子商務(wù)功能。你還可以使用這項服務(wù)建立自己的電子商務(wù)應用程序。
Blogger:博客是最流行的Web 2.0應用之一。你能夠使用Blogger數據API查看和更新基于Blogger的數據。
del.icio.us:這個(gè)流行的社交書(shū)簽網(wǎng)站通過(guò)一個(gè)公共API實(shí)現其功能。
Flickr:這個(gè)相片共享服務(wù)允許你輕松利用可公共訪(fǎng)問(wèn)的Flickr數據。
Google:一切Web搜索引擎之父,提供大量利用其服務(wù)的API;其服務(wù)包括,但不限于:Google Calendar、Google Maps、Google Search等。
應用
看到其他開(kāi)發(fā)者利用現有的Web service和數據常常令人驚奇,并給人帶來(lái)啟示。下面是幾個(gè)現有的mashup網(wǎng)站:
Weather Bonk:這個(gè)有用的網(wǎng)站(旅行時(shí)特別有用)是一個(gè)利用Google、NASA、Yahoo!、Microsoft、WeatherBug等服務(wù)提供綜合性天氣預報的mashup應用。
全球事故地圖:通過(guò)這個(gè)網(wǎng)站即時(shí)了解最近發(fā)生的恐怖威脅,它利用Google Maps API。
Babelplex Google AJAX雙語(yǔ)搜索:它利用Google AJAX搜索API對Web和Wikipedia進(jìn)行雙語(yǔ)搜索。
Flickr Sudoku:一個(gè)流行在線(xiàn)Sudoku播放器和Flckr mashup應用。雖然它不是完全有用,但它提供大量組合服務(wù)示例。
在ProgrammableWeb網(wǎng)站可找到大量這些網(wǎng)站信息。
提倡重新使用
mashup概念似乎遵照社區發(fā)展,以與Web緊密結合。也就是說(shuō),服務(wù)和數據都拿來(lái)共享(有時(shí)不是免費的),以便開(kāi)發(fā)者能夠擴充功能,而不用花時(shí)間重復開(kāi)發(fā)已有的服務(wù)??吹狡渌_(kāi)發(fā)者利用現有數據和服務(wù),使我很受啟發(fā)。
聯(lián)系客服