概述
Mash-up模式指的是網站採用混合技術搭建,不同的功能模組與不同的外界API接口對接實現,雅虎、google都提供開放的API供其它網站使用。
摘要
混聚(Mashup)是一種基於Web Services、資源元數據規範等技術的網路套用開發技術,它可以將不同站點或應用程式的數據、資源、API加以混聚來構建新的業務流程,滿足新的用戶需求。本文介紹了混聚的技術原理、系統架構、主要的開發平台,並結合教學套用實例介紹了Mashup套用的開發方法與流程,並展望了其在教學中的套用。
關鍵字
混聚、Mashup、Web Services、Yahoo Pipes、網路教育套用
原理概況
發展概況
混聚(Mashup)是近幾年伴隨著Web2.0和社會化網路的興起而迅猛發展起來的一種網路套用開發模式,其設計思路是以特定的用戶與業務需要為目標,將來自不同站點的數據源和Web服務(Web Services)加以混合與集成,以此構建一個新的套用。
混聚的思想最早啟迪於藝術領域。早在20世紀早期,畫家George Braque和Pablo Picasso就開創了稱為“拼貼畫”(collage)的藝術表現形式,這種拼貼的技藝在之後成了“現代派文藝運動”(Modern Art movement,約1850-1950)的重要流派(WikiPedia,2008),這可以視為混聚思想的發源。上世紀後半期,混聚在音樂、電視等流行藝術中開始盛行,音樂(或電視)混聚作品通常是以截取多則其它音樂(或電視)中的片斷,加以混編而成(WikiPedia,2008)。
混聚最早作為一種網路套用開發模式為世人所熟知,始於Paul Rademacher開發的Housingmap,在這個站點中,他創造性地使用Google Maps地圖服務的應用程式接口(API),將來自線上房屋租賃網站Craiglist的數據源依據位置信息標識於地圖中,使用戶可以依據地理位置可視化地選擇合適的房源。混聚由此獲得廣泛認知,並引起業界追捧。眾多的網站如Flickr、Amazon、Google Maps等紛紛以數據源(Feeds)、API、Web Services等方式提供可程式擴展,鼓勵第三方開發者與用戶以創新的方式重組這些已有資源,構建混聚作品。此外,一些公司如Google、Yahoo、Microsoft、IBM等紛紛推出針對不同技術層次用戶的混聚開發工具。業界的這些努力,為混聚的發展營造了一個良好的技術生態,推動了混聚開發與套用的迅速發展。據混聚技術觀察網站的記錄,自2007年5月至2008年8月,網路中公開的API由431個增加到907個,而混聚數量則由1900個增加到3328個。
技術原理與結構
混聚套用的系統結構包括數據提供站點、混聚站點與用戶端三部分。
數據提供站點:這是混聚作品開發的基礎,它們通常以特定的Web程式接口(API)和元數據標準(如RDF、RSS/Atom)等方式提供用於混聚的套用服務與數據源,以方便開發者搭建新的邏輯與業務流程。已有大量的站點開始提供WEB API,至於RSS/Atom形式,幾乎已是所有主流站點的內容發布策略之一。甚至,對於那些沒有提供現成API接口的站點,混聚開發者可以套用一種稱為“螢幕抓取(Screen Scraping)”的技術,依據特點的套用需求,編寫特定的頁面內容分析程式進行捕獲。
混聚站點:這是整個套用架構的核心,也是設計者整合多個數據來源,並進行特定的數據操作實現業務流程的關鍵部分。開發者既可以使用動態網路開發語言在伺服器端進行混聚,也可以使用客戶端腳本(如JavaScript)或Java Applet等在用戶端運行環境(瀏覽器、Widget引擎等)中實現。在瀏覽器中進行客戶端集成是混聚開發的主流,藉助AJAX等呈現技術,這類作品可以提供很好的用戶體驗;而伺服器混聚在流程設計與內容處理上有更大的靈活性,因而前景一樣非常吸引人。
用戶端:用於呈現混聚套用的客戶端運行環境,也是用戶互動的界面,其核心是Web瀏覽器,但除了瀏覽器外,還可以Widget(如Yahoo Widget引擎)方式直接在作業系統中運行。
分類
對混聚進行分類有助於釐清其發展脈絡與套用現狀,不同的研究者進行了不同的嘗試。
Duane Merrill依據應用程式的外顯特徵,將混聚作品分為地圖類、視頻和圖像類、搜尋和購物類和新聞類4種(Merrill, 2008)。由於混聚是一種對原始數據服務的創意拼接,其套用形式千姿百態,因而具體的混聚程式在形態上未必嚴格對應於以上分類,並且也有理由相信將來會有新的混聚形態出現。
根據Web程式中混聚技術的套用層次,則可以將混聚分為以下五種(Hinchcliffe,2008),顯然這一分類對了解其套用形式與實現方法更有參考價值:
表現層混聚(Presentation Mashup):這是最淺層的混聚形式,僅僅是將不同來源的數據和信息(甚至是簡單的HTML內容)放置在一起。當前的很多Ajax套用和組織門戶站點都採用了這一模式。
客戶端數據混聚(Client-Side Data Mashup):將來自遠程Web服務、數據源等混聚在一起,並對起進行客戶端程式編寫,使之按特定需求以特定的形式呈現,比如將信息發布者的地址信息轉換為地理信息並在地圖上顯示。
客戶端軟體混聚(Client-Side Software Mashup):這種混聚方式是在瀏覽中通過客戶端程式設計,使不同的Web應用程式組接(wire)到一起,構建成全新的基於瀏覽器的套用軟體。
伺服器端軟體混聚(Server-Side Software Mashup):指那種在構建Web應用程式使用外部站點的Web服務的混聚方式。使用當前開放的大量公共API,開發者可以使用一些它們來構建一些外圍套用,而將主要精力集中到核心業務設計上。
伺服器端數據混聚(Server-Side Data Mashup):這一層次的混聚主要解決的是在來自不同廠商的資料庫產品及不同站點間提供數據的混聚。在當前,使用語義Web技術(如RDF、RSS、Atom)用元數據對數據進行增強,從而使數據變得有意義,最終使數據變得適合進行自動化、集成、推理和重用,是一種很好的解決方式。
開發情況
常見開發平台
混聚套用開發的技術門檻較低,有經驗的開發者可採用傳統Web編程構建混聚程式。此外,還有一些專門的開發環境可以幫助開發者以更快捷、更簡單的方式進行混聚程式的設計、開發、調試與發布,如Google Mashup Editor、Yahoo Pipes、Microsoft Popfly,此外,還有一些面向企業用戶開發,用於構建組織內混聚生態系統的開發環境,如IBM Lotus的Mashups、Mashup Hub等。
Google Mashup Editor 是Google於2008年上半年推出的一款線上混聚開發軟體。它提供了一個Ajax編程框架和混聚開發專用標記語言,此外還提供了線上測試與套用託管服務(阮高峰,2008)
Pipes是Yahoo推出的線上混聚開發平台,提供了可視化的混聚開發、測試與託管服務,並提供了開發者社區,因而用戶可以自由地借鑑、學習優秀作品並與作者進行交流,正是如此,Pipes也是網際網路上規模較大的混聚開發者社區與作品集散地之一。與GME相比,Yahoo Pipes對開發者更為友好,技術門檻更低,有關使用Yahoo Pipes進行混聚開發的實例,將在下文述及。
開發流程
混聚程式的開發一般包括資源收集與邏輯流程設計、資源混聚與流程架構、調試與發布等三個步驟,以下結合具體案例進行介紹。
案例背景:2008年,我國四川地區發生了芮氏8.0級地震,造成了人民民眾生命與財產的巨大損失。G市某國小打算在這一事件背景下對在校學生開展一次地震知識與防護常識的專題教育,為配合這一活動,學校還製作了一個專題網站。其中某一專題內容要求向學生展示最近一周我國境內發生的芮氏2.5級以上的地震區域,並在地圖上顯示相關信息。G校的教師經與指導課題開展的S高校專家討論後,決定使用混聚的方式進行專題欄目的開發。
2.2.1資源收集與邏輯流程設計。考慮到本案例所需顯示信息的動態性,顯然不宜採用手工更新最新地震源信息的做法。為保證信息的時效性與準確性,經查詢比較後,開發者採用了美國內務部地質勘測局網站提供的過去1周內2.5級以上地震的數據源。
為將這一數據源中形如“Sichuan-Yunnan border region, China”的文本信息轉為可標識於電子地圖服務的位置(Location)信息,開發者又引用了Geonames網站提供的名為“RSS-to-geoRSS”的Web服務。
2.2.2. 資源混聚與流程架構。
本例基於Yahoo Pipes進行混聚程式的開發。具體思路是將USGS的最新地震信息數據源經RSS-to-GeoRSS服務轉換為包含位置信息的新源,並並Yahoo地圖API解析與顯示。
2.2.3.調試與發布。
利用Pipes提供的線上調試功能,設計完畢後運行(Run)當前作品,此時Pipes會依次調用外部資源,並將源檔案“編譯”為在瀏覽器中運行的Web程式。如果相關功能已經實現,就可以發布(Publish)作品了,此時系統會針對你的混聚作品提供一個URL和外部調用ID。
教學套用
網路教育套用開發
網際網路包含了海量教育資源,但資源的分散、無序、重複建設等分布特徵又使得很難充分地挖掘其教育功用。混聚作為一種輕量、靈活、針對情境的設計開發模式,有助於教育資源開發者依據特定的需求,對零散的共享教育資源進行二次加工,系統整合,構建學習單元。相對於傳統的網路教育套用開發技術,混聚具有以下優勢。
內容的混合性和體驗的匯聚性。混聚可以將來自不同來源的數據加以混合,並按一些的套用情境進行特定的編排、分類、地圖化等操作,以創建具有良好互動性的富網際網路套用(Rich Internet Application,RIA),有助於匯聚用戶在不同站點的活動,營造連續、完整的網路學習體驗。
面向業務,以用戶為中心。混聚是一種面向特定的套用需求與業務流程,通過匯聚與特定用戶需求相關的數據與套用,不但可以提升用戶體驗,還能大大提升用戶的活動效率。
架構開放,適合快速開發。對開發者而言,採用混聚技術的教學套用可以直接引用豐富的外部資源與服務,並將主要精力放於核心流程的設計與實現,既可以節省寶貴的研發資源,又大大提高開發效率。而隨著公共可程式擴展資源與開發工具的發展,其開發的技術門檻將進一步降低。
當然,混聚技術也有一些不足,表現在:(1)以外部數據源與API為基礎,這樣便受到其功能、版本、訪問速度等因素所限;(2)以客戶端腳本形式調用外部資源,會帶來安全隱患,並且這種引用外部資源的設計也可能會被一些網路安全軟體所攔截,影響功能的實現;(3)如果引用的Web服務不支持匿名訪問,則會要求校驗用戶身份,多個此類服務同時調用時,多次的身份校驗會影響用戶體驗,當然,這可由諸如OpenID之類的分散式身份認證方案來解決(阮高峰&徐曉東,2008)
混聚技術作為一種全新的Web套用開發架構,可以在Web教育資源開發與共享方面給予我們頗多啟示。
3.2.1 混聚技術有利於教育資源的共享與充分利用。
一方面,藉助於已有的用於教育資源共享的軟硬體基礎設施,混聚技術可以創造性的方式整合已有的多種教育資源,促進與提高了網路教育資源的利用;另一方面,當混聚技術發展到足夠高度,有關數據與服務共享的標準也會為更多的教育資源站點所推崇,也有助於資源建設標準化、開放性的發展。
3.2.2 混聚有助於發揮教育參與者群體智慧,並進而催生成熟的線上教育資源生態。
混聚開發的技術要求相對較低,使得其潛在的開發者隊伍十分龐大,隨著諸如Pipes等優秀的混聚開發環境的發展與成熟,混聚很可能會走上全民化的發展趨勢,發揮“長尾”的力量,催生出一個更為成熟,更具健康與活力的線上教育教學資源生態。
3.2.3、混聚有可能提高網路學習組織方式的靈活性,實現個體學習的個性化。
混聚輕量化的技術特徵使得其在設計思想上是傳統的網路課程不一樣,它比較關注於課程中具體知識內容的深度加工,通過對不同混聚套用的靈活組合,學習組織或個人可以依據個人的興趣、愛好和已有的學習經驗,靈活地設計學習內容與進路;此外,匯聚於混聚生態系統中的大量作品,也是個體進行深入的自主學習和非正式學習的重要資源。
小結
混聚這一網路套用開發模式兼具系統架構的開放性、資源選取的靈活性和技術門檻的低要求性,隨著數據共享技術及混聚技術本身的成熟,它在Web套用開發中也會占據更多的比重。對教育領域而言,混聚為我們提供了一種教育資源整合和二次開發的新技術,儘管國內外使用混聚技術開發教育套用的相關案例尚不太多,但隨著這一技術生態的不斷成熟,我們應該對其教育套用前景抱樂觀態度。
音樂風格
Mash up是一種新型的音樂風格
Mash Up的概念從2004年就已經出現,理念上Mash Up就是將各種不同類型的音樂重新編排混在一起,內容上接受House、Trance、Funk、Rock等各種不同類型的音樂風格,也可以由DJ自然發揮來重新混音。 作為Mash Up來說,它是電子音樂產量爆炸的產物,這本身對DJ的功底就是一個考驗,Mash Up之中用的很多歌區本身就是冷門,但是如何把這些冷門的歌曲中最精彩的部分摘出來熱場,這就是Mash Up的精髓所在。而對聽者而言,可能最後聽到的只是一個個高潮的展現,但是私下DJ要下的功夫遠比一般人要大得多,單是音樂就要比其他單一類型的DJ多好幾倍。
同樣,作為Mash Up的聽眾而言,Mash Up就像是當下時興的“微傳媒”一般,用最短小精幹的語言和最簡潔明了的重點來填充對於信息的滿足感,Mash Up是用最短小的段落來表現多首單曲之中最精彩的部分,並用最快的速度展示出來。Mash Up的精彩是通過一個非常規的音樂渠道來完成對現場的掌控和對音樂的詮釋。
其實就Trance音樂這種大型派對常常出現的音樂類型而言,Mash Up的理念也曾經出現在其中,例如世界首席Trance DJ—Armin van Buuren在每年的年末都會推出一張A State of Trance Yearmix的雙CD,其中兩張CD在2個小時內容納入86-87首歌,甚至一首歌只有幾十秒出現。雖然名為yearmix,但其實就是mash up在trance音樂中的變種產物。
而對於傳統的Mash Up更多的是在House音樂的歷史上出現的,例如Ministry of Sound的御用Mash Up dj—cut up boys每年就會主推Mash Up在全球的推廣,而電子老炮Prodigy在前幾年也在轉型成Mash Up的新形態。但是由於呼應的人較少,因此也沒能成功。
Mash Up存在一些無可奈何的問題,首先就是在快餐文化下,這種需要細嚼慢咽並精雕細琢的文化產品和當下的市場之間具有一定距離,雖然當下Mash Up一出,必然是精品,但卻無法引起大部分業內人的興趣。