依我個人的理解,RIA(Rich Internet Application,富互聯網應用系統)即一個充分強大的用戶端瀏覽器,這個瀏覽器可以是 IE(XAML)、Mozilla FireFox(XUL)、Flash(Flex) 等等,說穿了,也就是一個 HTML 的升級而已,和 ASP、JSP 產生HTML 供客戶端瀏覽一樣,你也可能需要各種各樣的工具去產生靜態的或動態的這些瀏覽器可以使用的腳本。不管怎么說,這是一個迫切的、必要的趨勢! 以下文章來自 Oracle 的雜志 作者:Cameron O'Rourke 1. 什么是用RIA? RIA(Rich Internet Application,富互聯網應用系統)技術允許我們在因特網上以一種象使用Web一樣簡單的方式來部署富客戶端程序。這是一個用戶接口,它比用HTML能實現的接口更加健壯、反應更加靈敏和更具有令人感興趣的可視化特性。無論將來RIA是否能夠如人們所猜測的那樣完全代替HTML應用系統,對于那些采用胖客戶端技術運行復雜應用系統的機構來說,RIA確實提供了一種廉價的選擇。 2. 為什么用RIA? 基于HTML的應用程序之所以變得流行是由于應用系統的部署成本低、結構簡單,且HTML易于學習和使用。很多用戶和開發人員都樂于放棄由桌面計算機帶來的用戶界面改進,來實現對新數據和應用系統的快速訪問。與喪失一些重要的UI功能相比,基于Web的方式所帶來的好處要更大得多。 然而,某些應用系統并不完全適合采用HTML技術。復雜的應用系統可能要求多次提取網頁來完成一項事務處理,在某些領域中,如醫藥和財務領域,這往往導致交互速度低得無法接受。讓我考慮一個項目管理系統:我們可以將其實現為一個HTML應用系統,但是如果用戶可以看到并且操作圖表、進度表和各種層次結構,那么顯然會工作得更好。 此外,雖然HTML開始走向簡單,但是即使簡單的交互活動也仍然需要用很多的腳本來完成。即使一個輸入窗體經過仔細的布置和全面的腳本設計,它從瀏覽器所能發送的也僅僅是簡單的"名字/值"對。如果一個HTML窗體能夠以XML文檔形式發送和接收更復雜的數據結構,那就好多了。 RIA利用相對健壯的客戶端描述引擎,這個引擎能夠提供內容密集、響應速度快和圖形豐富的用戶界面。除了提供一個具有各種控件(滑標、日期選擇器、窗口、選項卡、微調控制器和標尺等)的界面之外,RIA一般還允許使用SVG(Scalable Vector Graphics,可伸縮向量圖)或其他技術來隨時構建圖形。一些RIA技術甚至能夠提供全活動的動畫來對數據變化作出響應。 RIA的另一個好處在于,數據能夠被緩存在客戶端,從而可以實現一個比基于HTML的響應速度更快且數據往返于服務器的次數更少的用戶界面。對于無線設備和需要偶爾連接的設備來說,將來的趨勢肯定是向富客戶端的方向發展,并且會逐漸遠離基于文本的Web客戶端。那些運行在膝上設備上的應用系統,可以被設計成以離線方式工作,或者至少當連接丟失的時候能基本上以離線的方式工作。 圖1給出了一個典型的RIA體系結構。XML通常被用作數據傳輸的格式,有時也被用來描述窗體的布局。在很多的實例中,客戶端可以保持與數據源的連接,這樣服務器能夠實時地對客戶端數據進行更新。對一個Oracle數據的訪問可以通過Web服務調用來完成。
![]() 圖1: 典型的RIA體系結構 3. 用于富客戶端的技術 Java: 一些相當復雜的客戶端應用程序(Eclipse)都是用Java編寫的,這說明可以用Java來建立幾乎任何一個能夠想象得到的富客戶端應用程序。到目前為止,Java已經出現幾年了,并且完全支持創建基于窗體的用戶界面。除了Java基礎類(JFC/Swing)中的用戶界面組件之外,開發人員還可以使用來自于Eclipse Project的SWT工具箱和許多第三方工具箱進行開發。對于圖形來說,可以采用Java 2D API--一個非常完整且非常復雜的圖形API。Java還具有對XML和Web服務無人匹敵的支持能力。你可以通過一個Web瀏覽器使用Java插件軟件,或使用Java運行時環境中較新的Java Web Start技術來部署應用程序。使用Java建立富客戶端程序的主要缺陷是它的復雜性(即使對簡單的窗體和圖形也要求編寫非常煩瑣的代碼)。它的優點在于Java對Web標準的全面支持,及該語言和類庫的深刻內涵。 XUL: XUL(念作"zool")是一個基于XML的用戶界面語言,它來自于Mozilla的開放源碼項目。它可用于建立窗體應用程序,這些應用程序不但可以在Mozilla瀏覽器上運行,而且也可以運行在其他描述引擎上,如Zulu(一個Flash MX組件)和Thinleys(一個Java實現)。XUL描述引擎都非常小(100K以下),它可以使用XML數據也可以生成XML數據。同Java的情況一樣,XUL也有一個非常大的用戶團體,這個團體有大量的開放源工具,如Theodore ThinletEditor——一個使你能夠以圖形化方式布局用戶界面,且可以生成相應XUL的Java應用程序。XUL的一個主要缺點在于它目前還沒有獲得一個主要商業實體的支持。XUL最大的優點在于它與Gecko引擎的集成(打開了通向大量Web標準的大門),以及與大多數其他XML用戶界面描述語言相比它是一種非常具有表達力和簡潔的語言。 Macromedia Flash和Flex: Flash是一個已經成熟的商業產品,它可以在Web網頁中引入交互式的圖形界面。最近經過升級后,新版本包含了建立窗體風格的應用程序的功能。盡管Flash作為一個在Web上最廣泛部署的前端技術還有爭議(取決于所選用的Flash Player版本),但據稱已經有98%以上的桌面系統都支持Falsh。由于用來創建動畫式圖形的Flash工具其功能十分強大和是可視化的(與之相反其它技術要求進行低級的圖形編碼),所以圖形設計人員使用起來十分得心應手。Flah采用的腳本語言是ActionScript--ECMAScript 1.5的一個變種,該腳本語言又被稱為JavaScript。Flex產品對Flash增加了一個XML描述語言,使得可以編譯用戶界面,并且能夠用Flash Player來隨時進行描述。Flex使得傳統的開發機構能更好地了解和使用Flash。Flex和Flash的最大缺點在于對XML和Web服務等標準的支持很有限,而且作為應用開發工具的環境還不大成熟。Flex和Flash的優點在于它可以很容易的用來創建復雜的動畫式顯示,以及可以使用第三方附件。 Oracle Forms: Oracle Forms是用來構建以數據庫為中心的互聯網應用系統的一個成熟的商品化產品。通過Oracle Forms,你可以使用一個輸出窗體模塊文件的可視化設計器創建窗體。為了便于在該設計工具外部進一步進行處理,模塊文件要么采用私有的FMT格式,要么采用XML格式。這些模塊文件驅動一個描述窗體的Java運行時環境。除了所有窗體的標準窗口小部件之外,還可以通過集成附加的可插入的Java組件和一些定制的JavaBean來實現更多的功能性。Oracle Forms采用的腳本語言為PL/SQL,Oracle數據庫也采用同樣的腳本語言。Oracle Forms的一個非常有趣的特點就是,用來建立、編輯和編譯窗體模塊文件的Java API--開發人員可以通過創建腳本來生成眾多的窗體應用程序,或者進行全局性的改動。Oracle Forms的主要缺點是,進行Web部署需要獲得Oracle應用服務器的使用許可。它的優點是,它可以與Oracle數據庫和Oracle平臺的其他部分(如Single Sign-On(單一登錄)和Enterprise Manager(企業管理器))緊密集成,對國際化的廣泛支持,以及創建以數據為中心應用程序的極高效率。 |
只有注冊用戶登錄后才能發表評論。 | ||
![]() |
||
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關文章:
|
||