依我個人的理解,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服務調用來完成。