2008年3月2日

OpenXUP─an Alternative Approach to Developing Highly Interactive Web Applications

本篇paper出處是:"Proceedings of the 6th international conference on Web engineering",底下是摘要內容:

製作更豐富與高互動性的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可用性。

最後是投影片內容: