標題: Gadget互動機制與用戶資料感知呈現技術之設計與實作
A Framework for Inter-Gadget Communication and Profile-aware Gadget Rendering
作者: 盧昱樺
Lu, Yu-Hua
曾建超
Tseng, Chien-Chao
網路工程研究所
關鍵字: Gadget(Web Widget);Gadget Container、(Widget Container);用戶資料感知;個人化Gadget;Gadgets 互動;Gadget (Web Widget);Gadget Container (Widget Container);Profile-Aware;Personalized Gadget;Inter-Gadgets (Inter-Widgets) Communication
公開日期: 2009
摘要:   本篇論文提出一套Gadget的互動機制以及用戶資料感知的呈現技術,讓Gadget可自動感知使用者資料以決定呈現的內容,並且可個人化Gadgets之間的互動關聯性和共享資料。Gadget又可稱為Web Widget,它是個具有特定功能性的網頁應用程式,通常由第三方開發者開發。使用者可將很多個Gadgets嵌到網頁裡,以達到資訊整合及快速瀏覽的目的。 在目前提供Gadget服務的平台中,若使用者想要個人化Gadget內容,必須針對每一個Gadget設定個人化參數,若是有多個Gadgets有同樣的設定值,則需要針對個別Gadget進行重複的設定,不但繁瑣而且也浪費時間。 除此之外,大多數已存在的Gadgets都沒有和其他Gadgets互動的能力,換句話說,它們之間無法資料共享;雖然目前有一些提供Gadgets互動的應用程式界面(API),開發者可利用這些API開發具互動能力的Gadgets,但是若開發者要利用這些應用程式界面讓已存在的Gadgets有互動能力,就必須親自修改這些Gadgets的原始碼;而且,開發者在開發階段就必須預定Gadget在互動關係中的角色和共享資料,所以對於使用者來說,此種Gadgets互動方式的彈性較低。   為了解決上述個人化參數重複設定以及Gadget互動不足的兩個問題,我們設計並實作新的Gadget個人化與互動的機制。在Gadget個人化方面,我們設計一個用戶資料感知(Profile-Aware)的Gadget呈現方式,使用者可自行定義Gadget中個人喜好與用戶資料的關連,Gadget Server會參考使用者設定的關連以及用戶資料的值,決定Gadget呈現的內容。同時,為了增進Gadget的互動能力,我們也設計Gadget互動介面的關聯(Interface Binding)方法以及資料交換(Inter-Gadget Communication)的機制,使用者可以自行定義Gadget互動時欲共享之資料的輸出入介面,接著再連結Gadget的輸出入介面,即可設定Gadgets之間的互動關聯性。根據使用者所設定的Gadget介面和互動關聯性,我們的機制可動態插入程式碼到Gadget原始碼,以避免開發者需手動修改Gadget原始碼的問題。   根據改良後的架構,我們實際開發了一個平台,本篇論文也提供實作結果,以證明在此平台中,可重新利用已存在的Gadgets,呈現個人化的Gadgets內容,以及個人化Gadgets之間的互動關係和共享資料。
In this thesis, we propose a framework for Profile-Aware Gadget Rendering and Inter-Gadgets Communication. Gadgets, also known as Web Widgets, are web applications with specific functionalities and usually developed by third-party developers. By embedding several Gadgets into a Web page, a user can integrate multiple information services and browse them quickly or receive notification when information changes. Many Gadget service providers allow users to configure personal preferences to customize their own Gadget appearances or even functions. However, a user may subscribe multiple Gadget services and he needs to change his preference setting of each Gadget one by one. When some Gadgets share the same preferences, such repeated settings are tedious and wasting time. In addition, it may be useful if a Gadget can talk or output information to other Gadgets, because we can develop new Gadget on top of other existing Gadgets if Gadgets possess such Inter-Gadgets Communication (IGC) abilities. Although there are some IGC APIs that can be used to implement IGC, developers need to pre-define how two Gadgets communicate and exchange data with each other, and hard-code IGC functions manually beforehand. Furthermore, because most existing Gadgets do not have IGC abilities, we need to re-write them for IGC, and such re-writing is also tedious and wasting time. In a word, it is inflexible or inconvenience for users to establish IGC between two Gadgets. To resolve the issues described above, we propose a framework to support Profile-Aware Gadget Rendering and Inter-Gadgets Communication. Profile-Aware Gadget Rendering allows users to define the bindings between User Profile parameters and user preferences in Gadgets. With these bindings, Gadget Server will retrieve the values of User Profile and renders the Gadget contents accordingly. For Inter-Gadgets Communication, we propose a flexible IGC mechanism that allows users, instead of developers, to determine the data to be shared between Gadgets and the sender-receiver relations for IGC. More precisely, user can define input/output interfaces in each Gadget for data-sharing and the bindings between these interfaces. According to the interfaces bindings defined by the users, our mechanism can automatically inject codes in each Gadget on behalf of users, so we can resolve the re-writing issue. We have implemented a service platform in accordance of our design. The implementation results and execution snapshots demonstrate that our design can indeed support Profile-Aware Gadget Rendering and Inter-Gadgets Communication without the re-writing of the existing Gadgets.
URI: http://140.113.39.130/cdrfb3/record/nctu/#GT079756513
http://hdl.handle.net/11536/46004
Appears in Collections:Thesis