Widget之間通信平臺的研究與應用_第1頁
Widget之間通信平臺的研究與應用_第2頁
Widget之間通信平臺的研究與應用_第3頁
Widget之間通信平臺的研究與應用_第4頁
Widget之間通信平臺的研究與應用_第5頁
免費預覽已結(jié)束,剩余2頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 Widget之間通信平臺的研究與應用夏姣姣作者簡介:夏姣姣(1986),女,無職稱,計算機科學與技術(shù). E-mail: jiaojiaoxia*|1|夏姣姣|XIA Jiaojiao|北京郵電大學智能通信與多媒體實驗室 北京 100876|Beijing Key Laboratory of Intelligent Telecommunications Software and Multimedia Beijing University of Posts and Telecommunications, Beijing|夏姣姣(1986),女,無職稱,計算機科學與技術(shù)|北京郵電大學學生公寓29棟

2、2001室|100876|jiaojiaoxia13426086131Widget之間通信平臺的研究與應用|Research and Application of Widget Communication Platform|(北京郵電大學智能通信與多媒體實驗室 北京 100876)摘要:目前互聯(lián)網(wǎng)現(xiàn)有的主流Web Widget主要有兩種,一個用于用戶個性化訂閱,一種用于通過多個Widget來實現(xiàn)某一特定的應用。前者主要是作為獨立的插件運行,Widget之間不提供信息交互。后者雖然提供簡單的交互,但缺乏統(tǒng)一的交互機制,且擴展性不強。針對上訴問題,本文提出了一種Web W

3、idget的通信模型,引出了行為代理的分層通信結(jié)構(gòu),并以觀察者模式的設計思想作為其實現(xiàn)行為代理的基礎,最終實現(xiàn)Web Widget之間的智能通信。關(guān)鍵詞: Web2.0;Widget;行為代理;觀察者模式中圖分類號:TP399Research and Application of Widget Communication PlatformXIA Jiaojiao(Beijing Key Laboratory of Intelligent Telecommunications Software and Multimedia Beijing University of Posts and Tele

4、communications, Beijing)Abstract: Widget of Internet is mainly represented by the web Widget as iGoogle and Desktop Widget as Yahoo. There are two important types web Widget. One is that users subscribe personally, another is that users implement a specific application through the Combination of som

5、e Widgets. The former runs as separate plug-in, but it does not exchange information among Widgets. The latter provides a simple interaction, but it lacks of unified interaction mechanism and has a poor extensibility. Because above two ways exit some leaks, this paper proposed a web Widget communica

6、tion model, which apples for a hierarchical communication structure about the behavior agent and using the observer design pattern acts as its agent base for achieving the ultimate realization of intelligent communication among web Widgets. Key words: web2.0; widget; behavior agent; observer pattern

7、0 引言web2.0的興起給網(wǎng)絡信息的生產(chǎn)、組織、傳播、利用帶來了巨大的變革,Widget(微件)作為新興的互聯(lián)網(wǎng)接入方式和展現(xiàn)技術(shù),恰好就是web2.0的一個特征元素,能很好地闡述web2.0的信息多樣化和個性化并具有“軟件模塊化”和“易擴展性”等優(yōu)點1。與此同時,在個性化的時代,為了體現(xiàn)web2.0的用戶貢獻價值的特點,不同的Widget有時也需要相互協(xié)作去完成某一具體主題的應用。傳統(tǒng)的個性化訂閱網(wǎng)站,如iGoogle,雖然給用戶提供了大量的個性化信息,卻不提供Widget之間的交互,也沒有提供一個系統(tǒng)級上可擴展的接口,讓用戶自己去擴展自己的個性化信息。所以也沒有實現(xiàn)web2.0用戶創(chuàng)造價

8、值的思想。針對具體主題應用網(wǎng)站,如公交網(wǎng)、旅游網(wǎng)。雖然簡單的實現(xiàn)了Widget通信,如路線Widget與地圖Widget的交互,但是沒有在系統(tǒng)級上提供統(tǒng)一的通信機制,使得Widget之間的通信緊密的耦合在一起。不利于Widget的集成和Widget的擴展。因此我們需要綜合上述兩種方式的優(yōu)點,在系統(tǒng)級上建立一種統(tǒng)一的Widget通信機制去整合一個或多個功能相對獨立的Widget并提供一個可擴展的平臺來為個性化服務。從而更好的實現(xiàn)web2.0的個性化和用戶貢獻價值的特點。1 web2.0與web WidgetW3C將web Widget定義為一類能夠顯示和更新本地數(shù)據(jù)或Web 數(shù)據(jù)的客戶側(cè)應用程序

9、,并能夠作為即插即用,并擁有完整功能的服務安裝到客戶端應用中。由于Widget自身的這些特點和優(yōu)勢,只要善加利用,即可滿足web2.0價值觀中的幾個核心方面:用戶貢獻價值web2.0通過改變傳統(tǒng)的信息生產(chǎn)和交互模式,讓每個人都能夠參與到信息的生產(chǎn)與獲取中,Widget作為一個獨立的應用或者服務,由于其即插即用,且可被系統(tǒng)無縫集成的特點。每個人都可以是Widget的提供者,并可以利用軟件、機器的力量使這些信息被需要的人找到和使用以實現(xiàn)其價值。個性化服務web2.0的時代是一個個性化的時代,我們每個人都有自己個性的需求。我們都需要在大量的信息中去定制我們的個性。而Widget本來就是服務,用戶可以

10、根據(jù)自己的需求去定制自己的個性化服務。新興軟件web2.0定義了現(xiàn)代互聯(lián)網(wǎng)時代的特性之一就是,它是以服務方式傳遞,而不是產(chǎn)品。通過這些服務的集成與交互,來更好和更快地創(chuàng)建新興軟件。而Widget本身即服務,利用Widget之間的交互即可實現(xiàn)新興軟件的特點。2 傳統(tǒng)的Widget通信針對以上兩節(jié)中對Widget的描述,我們將傳統(tǒng)的Widget通信方式為分兩種:一種為用戶個性化訂閱中的Widget通信,即Widget加載時通信。另一種為兩個Widget協(xié)作完成某一應用中的Widget組裝時通信2。即傳統(tǒng)的Widget通信存在于Widget組裝階段和加載階段,在Widget組裝階段,客戶端通過Wid

11、get引擎和Ajax引擎與服務器交換數(shù)據(jù),服務器可以是遠程服務器也可以是本地服務器。在Widget加載階段即個性化定制階段,客戶端通過與Widget引擎交換數(shù)據(jù),他們都屬于垂直方向的數(shù)據(jù)通信。這種通信過程可描述如下:Ajax引擎作為Widget引擎的一部分,客戶端通過JavaScript調(diào)用Widget引擎,并在Ajax引擎上注冊回調(diào)函數(shù)。Ajax引擎根據(jù)某種協(xié)議(如HTTP、SOAP等)向服務器發(fā)出請求,并定時檢測服務器發(fā)回的響應信息,待服務器響應完成,Widget引擎取得控制權(quán), Widget引擎負責處理數(shù)據(jù),并通過DOM、CSS 、HTML技術(shù)組裝Widget,傳至客戶端待加載。 圖1傳

12、統(tǒng)的Widget通信方式Figure 1: The traditional means of communication Widget3 改進的Widget通信根據(jù)上節(jié)中的描述,針對傳統(tǒng)的Widget通信方式存在的問題,本節(jié)將討論一種建立在客戶端的通信模型和實現(xiàn)機制,為用戶提供系統(tǒng)級上的API,并通過行為代理方式來實現(xiàn)Widget與Widget之間的松耦合通信。用戶能在此通信機制上,定制自己的個性化Widget,可以開發(fā)自己的Widget,并與應用無縫的集成。 為了接下來更好的討論客戶端Widget之間的通信,本節(jié)根據(jù)主流的Widget所具備的一些公共性質(zhì)抽象出Widget的一個通用模型,并根

13、據(jù)Widget之間關(guān)系語義描述,抽象出來Widget之間的關(guān)系模型。在建立的兩個模型基礎上,通過采用一種更為通用和易擴展的客戶端Widget通信管理機制。并結(jié)合觀察者模式的設計思想,建立了行為代理平臺來統(tǒng)一管理Widget通信。從而達到對傳統(tǒng)的Widget通信方式進行優(yōu)化的目的。3.1 Widget對象模型將一個Widget對象W定義為五元組: W=A(Attribute):對象屬性的集合,包括對象的名稱,所屬的域,寬度和高度等代表Widget的基本信息。O(Operate): 對象操作的集合。包括對象上的鏈接所發(fā)出的請求事件的集合。R(Response):對象可響應事件的集合。F (Fram

14、e): 對象關(guān)聯(lián)的窗口。是映射: :OR。O與R可屬于不同W對象中的集合。其中A,O,F組成了可用戶化的Widget資源。O包括在Widget內(nèi)部和外部(應用的功能部分)定義的回調(diào)過程,動作過程及事件處理過程(統(tǒng)稱為callbacks);映射代表事件轉(zhuǎn)換機構(gòu),它解釋抵達或發(fā)生于Widget窗口的事件并將它們直接或通過Widget內(nèi)部的轉(zhuǎn)換表(Widget Translations)匹配相應的操作3。在Widget對象之間存在著組裝及鏈接兩種關(guān)系。3.2 Widget關(guān)系模型在同一應用中,一個Widget語義網(wǎng)絡N定義為一個二元組:N=S=W1,W2,W3,-,Wi, ,-,Wn為用戶接口中Wi

15、dget對象的集合。 L = t1,t2,t3, -,ti, ,-,tn ,L是S上鏈接關(guān)系(Links)的集合,也是W對象上映射關(guān)系的集合。按照Booch的理論4,對象的鏈接關(guān)系表達了對象與對象之間在概念和語義上的聯(lián)系,由傳送于對象間的消息(事件或操作)及數(shù)據(jù)來體現(xiàn)。3.3 Widget之間的通信管理平臺根據(jù)已經(jīng)建立好的Widget模型與Widget關(guān)系模型的描述,為了建立統(tǒng)一的Widget通信機制和實現(xiàn)Widget之間的通信管理平臺,在Widget之間加入了一個中間代理層,稱為Widget行為代理。該代理將觀察者模式的設計思想作為其實現(xiàn)的基礎,Widget都通過Widget行為代理提供的接

16、口進行通信和數(shù)據(jù)交換,基于此的Widget通信,不但能對Widget之間的交互進行解耦,同時也能解決Widget通信中的跨域問題。圖2 widget之間的行為代理Figure2: Widget Behavior Agent among Widgets觀察者模式又名發(fā)布訂閱模式5,是一種對象之間的一對多的依賴。當一個對象狀態(tài)改變時,它的所有依賴者都會收到通知并自動更新。Widget中的觀察者模式是指一個Widget可以在Widget行為代理上注冊一個或多個觀察事件。注冊一個觀察事件時需要提供觀察事件的名稱與響應事件的回調(diào)函數(shù)。此時,這個Widget就是一個事件的響應者。在同一應用中的Widget

17、可以通過調(diào)用同一個函數(shù),并傳入相應的參數(shù)觸發(fā)該事件。一個Widget既可以是一個事件的發(fā)起者,也可以是一個事件的響應者。也可以同時擁有同一個事件的觸發(fā)和響應。但需要注意,觸發(fā)該事件的代碼不能在響應該事件的代碼中,否則會造成事件循環(huán)觸發(fā)。觸發(fā)事件時的參數(shù)要和事件處理函數(shù)所接受的參數(shù)保持一致。圖3Widget之間的通信過程Figure 3: Communication Process among Widgets事件注冊中心:負責在Widget應用初始化時,根據(jù)對Widget對象的建模,將對象在Widget行為代理中的進行注冊。事件調(diào)度中心:將Widget中的映射關(guān)系:(OR)進行解析,使之變成所有

18、Widget之間的可達關(guān)系集合。解析過程如下:根據(jù)建立的通信模型N=(S,L),取得將會觸發(fā)Widget通信的所有鏈接(Links)的集合即W(O)。根據(jù):(OR),取得當前Widget對象映射雙方,并建立對象之間的可達關(guān)系。對于同一個請求O1,假設:W(O1)=W1,W2,W3,R(O1)=,,則W的可達關(guān)系如圖所示:圖4 W1,W2,W3之間的關(guān)系圖Figure 4: The Reachable Relation of W1、W2、W3事件調(diào)度中心根據(jù)Widget之間的可達關(guān)系,將當前Widget發(fā)出的請求沿著可達鏈進行傳遞,傳遞的過程即為響應調(diào)度的過程。數(shù)據(jù)轉(zhuǎn)換中心:負責處理請求和響應中

19、數(shù)據(jù)的轉(zhuǎn)換。也用于解決Widget跨域通信中數(shù)據(jù)的傳輸問題。Widget基本信息管理中心:負責對Widget的基本信息進行管理,該功能可用于對用戶的個性化Widget信息進行分析,并可根據(jù)用戶的興趣和喜好進行個性化信息推送6。其實現(xiàn)思路如下:它是將Widget信息組合成一組關(guān)鍵字集合,并把用戶當前的Widget的關(guān)鍵字與信息與平臺上Widget關(guān)鍵詞看作兩個向量(V1, V2),并對其進行余弦COS(V1,V2)夾角計算,得出兩個向量之間的相似度R,其值越大說明向量越相似。當相似性達到一定的值,該信息就被保留下來存入索引數(shù)據(jù)庫中供用戶索引。3.4 Widget跨域通信由于運行Widget應用程

20、序的核心代碼是JavaScript。基于internet完全開放的性質(zhì),引入JavaScript這樣的語言,安全顯得尤為重要。因此客戶端JavaScript沒有提供在客戶的計算機上寫文件、刪除文件或者創(chuàng)建目錄等方法。最重要的安全限制是同源策略。同源策略是對于客戶端腳本(尤其是JavaScript)的重要安全度量標準6。在文本提出的通信模型中,由于加入了中間層(行為代理層),用戶的異域請求將首先作為HTTP請求中的一個請求參數(shù)傳遞給行為代理,行為代理再將該請求傳遞給數(shù)據(jù)轉(zhuǎn)換中心。由數(shù)據(jù)轉(zhuǎn)換中心提取出異域的請求參數(shù),并向異域服務器進行讀取數(shù)據(jù)的操作。這種代理機制通過調(diào)解Web瀏覽器和服務器之間的H

21、TTP請求和響應使Web瀏覽器可以繞過同源策略,從而很好的解決Widget在跨域通信中的這個問題。4 Widget應用根據(jù)上述通信機制、以及在此通信機制上建立的Widget通信管理平臺,我們?yōu)橛脩魧崿F(xiàn)了一個基于Web2.0的旅游應用,該應用為用戶提供了系統(tǒng)級Widget API,用戶可以根據(jù)自己的需要擴展應用。同時也可以根據(jù)這些開放的API接口按照平臺提供統(tǒng)一規(guī)則進行動態(tài)交互。且所有的Widget都即插即用。大大的提高了用戶的交互能力,實現(xiàn)了用戶按需個性化和用戶貢獻價值的Web2.0核心思想。下面是我們系統(tǒng)的Widget通信圖和實現(xiàn)圖。圖5 旅游網(wǎng)站W(wǎng)idget通信圖Figure5: Trav

22、el Site Frame Diagram of Widget Communication.上面的Widget通信圖展示了某旅游網(wǎng)站之間Widget之間的協(xié)同合作關(guān)系,以及Widget通信管理平臺在這個協(xié)同合作關(guān)系中起到的作用。對系統(tǒng)的集成和擴展起到了非常良好的作用。5 總結(jié)與展望本文將web2.0的核心思想與Widget要實現(xiàn)的價值相結(jié)合,重點討論了Widget要發(fā)揮web2.0中用戶創(chuàng)造價值和用戶需求個性化等優(yōu)勢時涉及到的問題。并就Widget之間通信無統(tǒng)一的管理機制提出了自己的解決方案。同時結(jié)合傳統(tǒng)的Widget之間通信應用的一些弊端,給出了采用這些弊端的一個系統(tǒng)應用,闡述了該應用的一些優(yōu)勢。使得web2.0的核心價值觀在Widget應用得到較好體現(xiàn)。Widget,雖然W3C為其定義為客戶端即插即用的一段應用程序,但Widget更趨向于為一種服務,這種服務如果能夠按照統(tǒng)一的標準開發(fā),

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論