02/19 regular meeting

這一次報告的時間有點糟糕,剛好卡在過完農曆年後不久,開學後的第二天。由於最近在忙的工作與網頁程式設計有關,而近來設計網頁的技術慢慢地講究Rich Client UI效果。因此就找了一篇與這方面相關的paper來報告,目前這部份應用最火紅的當屬AJAX,不過慢慢地Adobe也推出了AIR,而微軟也力捧SilverLight技術。看來,在Client端下載一個thin-client的概念將會是未來網頁設計架構中的主流。

這一次報告的paper題目是"OpenXUP─an Alternative Approach to Developing Highly Interactive Web Applications",出處是:"Proceedings of the 6th international conference on Web engineering",底下是這次報告的本篇paper摘要:

製作更豐富與高互動性的Web Application需求益發增加,目前改善傳統的HTML方式的介面表示方法主要有兩種:一種是利用下載程式到browser中執行的方式如Java Applet或ActiveX;一種是近來很流行的AJAX。但是這兩種方式都有其缺點,前者當UI與程式功能比較複雜時,需要下載的程式碼也變得較多,並且由於程式功能在Client端執行,因此存在有安全性的風險;後者的UI則受限於Browser的JavaScript Engine與DHTML的表現能力。因此作者們提出了另一種可選擇的方式─OpenXUP,一種基於XUP(Extensible User Interface Protocol)的Web User Interface Development Framework。

XUP是一種基於SOAP的Protocol用來處理在web上的使用者介面事件溝通與更新的通知,而且支援非同步的訊息傳送。OpenXUP的組成有兩部份:thin client and server toolkit which offers a set of event-driven APIs。think Client(XUPClient)只有兩個任務:一個是顯示UI與捕捉UI Events;另一個是負責與server間的通訊(傳送與接收Events)。Server(XUPServer)部份負責處理從Client傳送過來的UI更新要求,裡面包含了Application Manager、Event Dispatcher與XUP applications。Application Manager用來選擇對應的XUP application作處理,Event Dispatcher則把Events分派給對應的Event Handler程式處理(在XUP application之中),而XUP application則是Server中程式邏輯的主要部份,利用一組Event-driven APIs來完成其功能。

OpenXUP的特色在於程式功能的執行都在Server端完成,透過XUP將UI的更新結果傳到Client,然後由Client顯示更新後的UI畫面。由於程式功能都在Server端執行,因此Cleint端的環境是安全的,並且在除錯與維護上也較容易。另一方面由於Client端完全利用本地端電腦的GUI toolkit能力(目前以.NET實作)再加上XUP支援非同步的訊息傳送,使得在Client端的介面呈現上展現出了快速的UI反應與豐富高互動的UI可用性。

底下是這次報告的投影片檔:


Blogger Templates by Blog Forum