資源描述:
《mashupsweb應(yīng)用程序新成員》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、MashupsWeb應(yīng)用程序新成員Mashups:Web應(yīng)用程序新成員2010-04-2523:45Mashup是一種令人興奮的交互式Web應(yīng)用程序,它利用了從外部數(shù)據(jù)源檢索到的內(nèi)容來創(chuàng)建全新的創(chuàng)新服務(wù)。它們具有第二代Web應(yīng)用程序的特點,也稱為Web2.0。這篇簡介性的文章對mashup是什么、目前流行的不同種類的mashup以及mashup開發(fā)人員用于創(chuàng)建自己的應(yīng)用程序的支持技術(shù)進行了探索。另外,您還將看到mashup開發(fā)人員面臨的一些新的技術(shù)和社會挑戰(zhàn)。一種新型的基于Web的數(shù)據(jù)集成應(yīng)用程序正在Internet上逐漸興起。通常用術(shù)語mashup表
2、示,它們的流行萌芽于對交互式用戶參與和集成第三方數(shù)據(jù)的類似于科學(xué)怪人方式的重視。我們使用萌芽一詞是有一定原因的;mashupWeb站點的特點就表現(xiàn)為它正在Web上扎根發(fā)芽,它們利用了從組織邊界之外的數(shù)據(jù)源獲取的內(nèi)容和功能。mashup這種隱晦的數(shù)據(jù)集成定義當(dāng)然不是非常嚴(yán)格。要深入了解什么是mashup,就應(yīng)該了解一下這個單詞的起源:它源于流行音樂,mashup是從兩首不同的歌曲(通常屬于不同的流派)中混合演唱和樂器的音軌而構(gòu)成的一首新歌。與那些"bastardpop"歌曲類似,mashup也是內(nèi)容的一種不常見的創(chuàng)新組合(通常都源自于無關(guān)的數(shù)據(jù)源),這都
3、是人工進行合成的(而不是通過計算機來合成的)。在本節(jié)中,我們將簡要介紹對出名的mashup類型進行的一些調(diào)查。在這個階段的信息技術(shù)中,人們搜集大量有關(guān)事物和行為的數(shù)據(jù),二者都常常具有位置注釋信息。所有這些包含位置數(shù)據(jù)的不同數(shù)據(jù)集均可利用地圖通過令人驚奇的圖形化方式呈現(xiàn)出來。mashup蓬勃發(fā)展的一種主要動力就是Google公開了自己的GoogleMapsAPI。這仿佛打開了一道大門,讓W(xué)eb開發(fā)人員(包括愛好者、修補程序開發(fā)人員和其他一些人)可以在地圖中包含所有類型的數(shù)據(jù)(從原子彈災(zāi)難到波士頓的CowParade奶牛都可以)。為了不落于人后,Micro
4、soft(VirtualEarth)、Yahoo(YahooMaps)和AOL(MapQuest)也很快相繼公開了自己的API。圖像主機和社交網(wǎng)絡(luò)站點(例如Flickr使用自己的API來共享圖像)的興起導(dǎo)致出現(xiàn)了很多有趣的mashup。由于內(nèi)容提供者擁有與其保存的圖像相關(guān)的元數(shù)據(jù)(例如誰拍的照片,照片的內(nèi)容是什么,在何時何地拍攝的等等),mashup的設(shè)計者可以將這些照片和其他與元數(shù)據(jù)相關(guān)的信息放到一起。例如,mashup可以對歌曲或詩詞進行分析,從而將相關(guān)照片拼接在一起,或者基于相同的照片元數(shù)據(jù)(標(biāo)題、時間戳或其他元數(shù)據(jù))顯示社交網(wǎng)絡(luò)圖。另外一個例子
5、可能以一個Web站點(例如CNN之類的新聞?wù)军c)作為輸入,并在新聞中通過照片匹配而將照片中的內(nèi)容以文字的形式呈現(xiàn)出來。搜索和購物mashup在mashup這個術(shù)語出現(xiàn)之前就已經(jīng)存在很長時間了。在WebAPI出現(xiàn)之前,有相當(dāng)多的購物工具,例如BizRate、PriceGrabber、MySimon和Google的Froogle,都使用了B2B技術(shù)或屏幕抓取的方式來累計相關(guān)的價格數(shù)據(jù)。為了促進mashup和其他有趣的Web應(yīng)用程序的發(fā)展,諸如eBay和Amazon之類的消費網(wǎng)站已經(jīng)為通過編程訪問自己的內(nèi)容而發(fā)布了自己的API。mashup程序從架構(gòu)上是由3
6、個不同的部分組成的,它們在邏輯上和物理上都是相互脫離的(可能由網(wǎng)絡(luò)和組織邊界分隔):API/內(nèi)容提供者、mashup站點和客戶機的Web瀏覽器。通常,mashup都使用服務(wù)器和客戶機端邏輯的組合來實現(xiàn)自己的數(shù)據(jù)集成。很多mashup應(yīng)用程序都使用了直接由用戶提供的數(shù)據(jù),(至少)使一個數(shù)據(jù)集是本地的。另外,對多數(shù)據(jù)源的數(shù)據(jù)執(zhí)行復(fù)雜查詢(例如"請顯示在KevinBacon的電影中出演角色的男演員所購買的房產(chǎn)的平均價格")所需要的計算是不可能在客戶機的Web瀏覽器中執(zhí)行的??蛻魴C的Web瀏覽器。這是以圖形化的方式呈現(xiàn)應(yīng)用程序的地方,也是用戶交互發(fā)生的地方。正
7、如上面介紹的一樣,mashup通常都使用客戶機端的邏輯來構(gòu)建合成內(nèi)容。關(guān)于Ajax究竟是否是一個縮寫詞(有人認為它表示"AsynchronousJavaScript+XML")還存在爭論。不論如何,Ajax都是一個Web應(yīng)用模型,而不是一種特定的技術(shù)。它包括幾種關(guān)注內(nèi)容的異步加載和呈現(xiàn)的技術(shù):XHTML和用于確定呈現(xiàn)風(fēng)格的CSS瀏覽器為動態(tài)顯示和交互所提供的文檔對象模型(DOM)API異步數(shù)據(jù)交換,通常是XML數(shù)據(jù)瀏覽器端的腳本,主要是JavaScript將這些技術(shù)結(jié)合在一起使用時,它們的目標(biāo)是通過與內(nèi)容服務(wù)器交換少量的數(shù)據(jù)為用戶創(chuàng)造平滑、良好的Web
8、體驗,而不用在用戶執(zhí)行某些操作之后重新加載并重新呈現(xiàn)整個頁面。我們可以使用各種Ajax工具包和