蔣友好,彭文,蔣寧峰,孔令偉,馬力,殷佩浩,孫成
上海市中醫藥大學附屬普陀醫院,上海市,200062
RIA(Rich Internet Applications)網絡應用程序,它并不專指某項技術,也不像Java、C#是一門語言,它是一種新的互聯網應用,使得瀏覽器/服務器(B/S)架構程序在很大程度上跳出了瀏覽器的限制,既有客戶機/服務器(C/S)架構程序豐富美觀的界面和交互能力,又具有傳統B/S架構程序快速修改和部署的能力。它是一種軟件開發的趨勢,是建立在對用戶友好程度(即:用戶體驗)的認知的基礎上的對軟件所能達到程度的一種期望。
九十年代中期,伴隨著互聯網的飛速發展,出現了B/S架構程序,B/S架構程序的使用解決了C/S架構程序部署、更新、維護的困難。但傳統的B/S架構程序采用基于頁面的、服務器端數據傳遞的模式,把應用程序的表示層建立于HTML頁面之上,而HTML是適合于文本的,在數據處理能力和響應能力方面表現較差,為了解決這些問題,RIA技術應運而生,目前WEB領域和桌面軟件領域正逐步向RIA靠攏。
RIA應用程序的特點主要體現在一個“富”字上,即數據模型與用戶界面的豐富。數據模型的豐富是指用戶界面可以顯示和操作更為復雜的嵌入在客戶端的數據模型,它可以操作客戶端的計算和非同步的發送接收數據。這種模式相對于傳統的HTML頁面的優點是程序運行于客戶端,并且程序更多的是與用戶進行交互,同時更少和服務器進行交互。通過平衡客戶端和服務器端的復雜的數據模型可以讓你有更大的空間去創建更高效和更具有交互性的網絡應用程序。用戶界面的豐富是指全面提升的用戶界面,HTML只給用戶提供了非常有限的界面控制元素,而豐富互聯網應用程序(RIA)的用戶界面提供了靈活多樣的界面控制元素,外觀絢麗,可實現與傳統桌面應用程序一致的觀感。

表1 C/S、B/S與RIA比較Tab.1 Comparison of C/S,B/S and RIA
與傳統的C/S架構程序和B/S架構程序相比較,見表1。RIA程序集合了兩者的優點,其主要優勢在于:
(1) 良好的用戶體驗,響應速度快和豐富的用戶界面;
(2) 基于互聯網的開放標準進行數據傳輸;
(3) 應用程序部署快捷方便,零維護成本;
(4) 良好的兼容性,能在多種平臺下運行;
(5) 能整合多種媒體格式;
(6) 提供寬泛便捷的編程借口,可以與原先已有的程序模型共存;
(7) 豐富的組件,基于事件驅動,能進行快速開發;
(8) RIA框架本身能夠比較方便的擴展
RIA概念是由Macromedia公司在2002年率先提出的,經過十幾年的發展,目前常用的 RIA實現技術主要有3種:即Flex技術、Silverlight技術和HTML 5技術。
Flex 是一個高效、免費的開源框架,可用于構建具有表現力的RIA程序,使用Flex創建的RIA程序可以運行于裝有Adobe Flash Player插件的瀏覽器中,或在瀏覽器外運行于跨操作系統運行時 Adobe AIR上,它們可以跨所有主要瀏覽器、在桌面上實現一致的運行,同時達到桌面應用程序的執行速度。
Silverlight是Microsoft公司發展RIA應用程序策略的主要開發平臺,是一個跨瀏覽器、跨客戶平臺的技術。它提供了一個強大的平臺,能夠開發出具有專業圖形、音頻和視頻的RIA應用程序,增強了用戶體驗。同時,Silverlight還提供了強大的工具和豐富的組件來提高程序開發的效率。目前Silverlight是Flex的主要競爭對手。
HTML 5是取代HTML 4.01 和 XHTML 1.0 標準的,新的HTML標準版本。HTML 5在原有基礎上強化了Web網頁的表現性能,追加了本地數據庫等RIA應用的功能,可以在不安裝任何插件的情況下運行RIA應用程序。但與Flex和Silverlight相比,HTML 5仍處在發展階段,在安全性、兼容性、以及開發效率等方面還存在許多不足。上述3種RIA應用程序實現技術比較,見表2。
長期以來,由于我院醫療設備的管理、保養和維修一直采用人工方式管理,造成了設備維修保養不及時,反饋信息不完整,統計信息繁雜,工作效率低的情況。為了改變現狀,提高服務質量,自主開發了基于醫院HIS網絡系統的,覆蓋全院各科室的設備報修管理系統。
由于醫院使用醫療設備的科室眾多,如果采用C/S架構程序,需要為每個使用程序的工作站安裝客戶端,工作量大,以及今后系統的維護升級也不方便。如果采用傳統的 B/S架構程序,雖然可以解決C/S架構程序不易部署,維護成本高的問題,但傳統的 B/S架構程序頁面動態刷新,響應速度慢,無法實現分頁顯示,給數據庫訪問造成較大的壓力。而RIA應用程序結合了上述兩中架構的優勢,并提供了豐富的用戶體驗,因此決定采用RIA應用程序作為系統的開發方式。醫療設備報修系統采用微軟的Silverlight 4作為開發平臺,使用VS2010作為開發工具,使用C#作為系統開發語言。數據庫服務器采用Sql server 2005,Web服務器采用Windows 2008 R2+IIS7.0。開發中運用了WCF RIA Service、LINQ to SQL、Entity Framework等技術。該系統經實際應用,效果良好。

表2 3種RIA應用程序實現技術比較Tab.2 Comparison of three kinds of RIA application technology
RIA技術經過十多年的發展與完善,已經逐步在應用程序開發、軟件系統界面開發、移動平臺開發、游戲開發、web應用服務開發、站點建設、多媒體娛樂等方面深入應用。下個十年,伴隨電子技術的飛速發展,網絡應用的形式和內容將更加復雜、廣泛,人們對具有高度互動性、豐富用戶體驗以及功能強大的網絡應用程序的需求將越來越大,RIA程序以其跨平臺、跨瀏覽器、高用戶體驗、易部署、零維護等優異特性必將成為今后網絡應用程序的主流。
[1] 朱俊林.基于.NET平臺的醫療設備信息管理系統的構建與應用[J].醫療裝備,2010(11):20-21.
[2]劉同波,薛萬國.基于WEB的HIS故障報修系統的設計與實現[J].醫療衛生裝備,2010(02);56-57.
[3] 劉同波,王冬.基于WEB的科研評審系統的設計與實現[J].醫療衛生裝備,2010(10):82-83.
[4] 劉璟峰,劉志龍,黃傳華.基于RIA技術的網絡教學平臺探討[J].計算機與現代化,2010(05):143-146.
[5] 吳堅宇.基于RIA的管理信息系統開發技術及其應用[J].電力信息化,2009(05):61-64.
[6] 張敏杰.基于FLEX技術的工作流設計器解決方案[J].電力信息化,2009(01):90-93.