RIA(Rich Internet Applications)富互聯網應用,具有高度互動性、豐富用戶體驗以及功能強大的客戶端。
RIA的優勢
特點
RIA 具有的桌面應用程序的特點包括:在消息確認和格式編排方面提供互動用戶界面;在無刷新頁面之下提供快捷的界面響應時間;提供通用的用戶界面特性如拖放式(drag and drop)以及在線和離線操作能力。RIA具有的Web應用程序的特點包括如:立即部署、跨平臺、采用逐步下載來檢索內容和數據以及可以充分利用被廣泛采納的互聯網標準。RIA具有通信的特點則包括實時互動的聲音和圖像。
客戶機在RIA中的作用不僅是展示頁面,它可以在幕后與用戶請求異步地進行計算、傳送和檢索數據、顯示集成的用戶界面和綜合使用聲音和圖像,這一切都可以在不依靠客戶機連接的服務器或后端的情況下進行。
部署RIA的好處
對于企業來說,部署RIA的好處在于:
1)RIA可以繼續使用現有的應用程序模型(包括
J2EE和
.NET),因而無需大規模替換現有的
Web應用程序。通過
Rich Client技術,可以輕松構建更為直觀、易于使用、反應更迅速并且可以脫機使用的應用程序。
2)RIA可以幫助企業提供多元化的重要業務效益,包括提高銷量、提高品牌忠誠度、延長網站逗留時間、較頻繁的重復訪問、減少帶寬成本、減少支持求助以及增強客戶關系等。
發展態勢
在過去的兩到三年中,Web開發人員一直是想構建一種比傳統
HTML更豐富的客戶端:這是一個用戶接口,它比用HTML能實現的接口更加健壯、反應更加靈敏和更具有令人感興趣的可視化特性。
RIA技術的出現允許我們在因特網上以一種像使用Web一樣簡單的方式來部署
富客戶端程序。無論將來RIA是否能夠如人們所猜測的那樣完全代替HTML應用系統,對于那些采用C/S架構的胖客戶端技術運行復雜應用系統的機構和采用基于B/S架構的瘦客戶端技術部署Web應用系統地機構來說,RIA確實提供了一種廉價的選擇。下面介紹一下目前出現的幾種比較有實力或者有特點的RIA客戶端開發技術:
1) Adobe Flash/Flex
Flash 從6.0開始Flash就逐步具備建立窗體風格的應用程序的功能。據Adobe稱已經有98%以上的桌面系統的瀏覽器都安裝了 Adobe Flash Player。這使得以Adobe Flash Player為客戶端的RIA可以支持種類廣泛的平臺和設備。
Flex是為滿足希望開發 RIA的企業級程序員的需求而推出的表示服務器和應用程序框架,它可以運行于J2EE和.NET平臺。Flex表示服務器提供基于標準的、聲明性的編程方法和流程,并提供運行時服務,用于開發和部署豐富客戶端應用程序的表示層。Flex開發者使用直觀的基于XML的MXML來定義豐富的用戶界面。該語言由 Flex服務器翻譯成SWF格式的客戶端應用程序,在Flash Player中運行。
2) Laszlo
Laszlo 是一個開源的RIA開發環境。使用
Laszlo平臺時,開發者只需編寫名為LZX的描述語言(其中整合了XML和Javascript),運行在J2EE 應用服務器上的Laszlo平臺會將其編譯成SWF格式的文件并傳輸給客戶端展示。從這點上來說,Laszlo的本質和Flex是一樣的。Flash是任何瀏覽器都支持的展示形式,從而一舉解決了瀏覽器之間的移植問題。而且,在未來的計劃中,Laszlo還可以將LZX編譯成Java或.NET本地代碼,從而大大提高運行效率。
3) Avalon
Microsoft的Avalon是下一版本的 Windows(代號"Longhorn")的一部分,是一個圖形和展示引擎,主要由新加到.NET框架中的一組類集合而成。Avalon定義了一個在 Longhorn中使用的新標記語言,其代號為"XAML"(可擴展應用程序標記語言)。可以使用XAML來定義文本、圖像和控件的布局,程序代碼可以直接嵌入到XAML中,也可以將它保留在一個單獨的文件內。這與Flex中的MXML或者Laszlo中的LZX非常相似。不同的是:基于 Avalon的應用程序必須運行在Longhorn環境中,而Flex和Laszlo是不依賴于平臺的,僅僅需要裝有
Flash播放器的瀏覽器即可。
4) Java SWT
Java 已經出現幾年了,并且完全支持創建基于窗體的用戶界面。除了
Java基礎類(JFC/Swing)中的用戶界面組件之外,開發人員還可以使用來自于 Eclipse Project的SWT工具箱和許多第三方工具箱進行開發。對于圖形來說,可以采用Java 2D API:一個非常完整且非常復雜的圖形API。你可以通過一個Web瀏覽器使用Java插件軟件,或使用Java運行時環境中較新的Java Web Start技術來部署應用程序。使用Java建立Rich Client的主要缺陷是它的復雜性(即使對簡單的窗體和圖形也要求編寫非常煩瑣的代碼)和Java瀏覽器插件的低市場占有率。
5) XUL
XUL (念作"zool")是一種基于XML的用戶界面語言,它來自于Mozilla的開放源碼項目。它可用于建立窗體應用程序,這些應用程序不但可以在 Mozilla瀏覽器上運行,而且也可以運行在其他描述引擎上,如Zulu(一個Flash MX組件)和Thinleys(一個Java實現)。XUL描述引擎都非常?。?00K以下),它可以使用XML數據也可以生成XML數據。XUL的一個主要缺點在于它目前還沒有獲得一個主要商業實體的支持。XUL最大的優點在于它與Gecko引擎的集成(打開了通向大量Web標準的大門),以及與大多數其它XML用戶界面描述語言相比它是一種非常具有表達力和簡潔的語言。
6) Bindows
Bindow 是用Javascript和DHTML開發的Web窗體框架。Javascript用于客戶端界面的顯示和處理,
XML HTTP用于客戶端與服務器的信息傳輸。Javascript在客戶端的表現力不容置疑,利用Javascript幾乎可以實現
Windows應用程序所能干的大部分事情,XMLHTTP 一直以來常被用于實現"無刷新"的Web頁面,它和
Javascript配合,可以完成數據從服務器和客戶端的傳輸。Bindows的一個主要的缺點是它采用一次全部載入的方式來實現腳本庫,在窗口的加載期,需要一個漫長的等待過程,甚至瀏覽器的進程會產生無響應的情況。這點Bindows根本沒有遵循"用多少去多少"的準則。另外,內部大量利用了IE6 的技術,沒有考慮到非IE的瀏覽器,限制了Bindows的流行。
7)JavaFX
2008年12月05日 Sun微系統公司今天正式發布了基于Java語言的平臺JavaFX 1。0,這個平臺建立在其廣泛應用的Java編程語言的基礎上,旨在建立大量可在電腦和手機上運行的網絡程序。 Java一直以來就是編程語言,但是隨著JavaFX的發布,Sun公司開始允許將編程內容創新這一任務轉移到以設計藝術為重點而非編程科學為重點的設計人員身上。
“我們的目標群體是叫做創造者的人群”,Sun公司Java平臺組的高級副主任 OctavianTanase對 說,“隨著1.0版的發布,我們將目標鎖定在網頁開發人員,這群可能拓展Java界面體驗的人。到2011年,主要的目標是大量使用諸如Adobe系統等設計工具的設計人員”。
當然,通向這個以設計為導向的工具還需要一些時間。Sun公司最后打算提供自己的程序給設計人員來建立RIAS,但是直到如今,這些設計人員還得使用程序員所使用的Netbeans或Eclipse集成開發環境(IDE)。新工具將在來年夏天面市。
8)Curl
Curl誕生于1995年的美國,Curl是由美國國防部高級研究項目代理資助,馬薩諸塞州科技學院的David A. Kranz開發的Web開發語言, HTML語言的創建者Tim Berners-Lee也參與其中,并扮演了重要的角色。
該語言的目標是用一種統一的面向對象的語言代替HTML、Cascading Style Sheets、JavaScript等;僅使用Curl便可開發出Web應用的各種軟件;Curl程序在瀏覽器中運行,并且因為它以類似JRE的形式提供了客戶端運行環境Surge RTE,能夠輕松開發出日益流行的Rich Client應用程序。
Curl是為了實現富客戶端(rich client)應運而生的Web開發語言, 僅僅從其外觀的豐富性上就能體現其富客戶端理念。
為了實現真正有益的富客戶端,它能有效地實現各種復雜處理,具備提供高信賴、高擴展性、高維護性的應用程序所應擁有的各種編碼能力。其擁有在Web環境上便利的分配、管理以及低廉的維護費以及在C/S環境上的用戶便利性、迅速的應答,華麗的圖像顯示等重多優點于一身。
Curl語言于2002年在美國正式開始商業化,在美國和日本擁有重多的客戶和合作伙伴,現已進軍北美及韓國市場,發展勢頭迅猛。
9)SilverLight
微軟在Mix07上發布一些重大通告,其中最值得關注的就是SilverLight的發布,SilverLight的前身就是WPF/E技術。
這是一種新的Web 呈現技術的名稱,創建該技術的目的是使其能夠在各種平臺上運行。該技術支持創建豐富的、具有絢麗視覺效果的交互式體驗,并且可以隨處實現:無論是在瀏覽器內、在多個設備上還是在桌面操作系統(如 Apple Macintosh)中。可擴展應用程序標記語言 (XAML) 遵循 Windows 演示基礎 (WPF),前者是”WPF/E”呈現功能的基礎。XAML 是 Microsoft .NET Framework 3.0(Windows 編程基礎結構)中的呈現技術。
RIA未來的發展預測
就目前RIA的使用情況來說,離"RIA時代"還有很遠的一段距離。今后幾年時間內傳統的Web應用程序和RIA將會共存。筆者認為真正具有實力擔當起普及豐富客戶端應用重任的只有基于Flash Player的Flash/Flex應用程序和Microsoft的基于Avalon的應用程序。短期時間內(估計2-3年時間)可能是 Flash/Flex應用程序在新興的網絡應用程序市場上占有主導地位。
目前Microsoft還在推廣一種叫做Smart Client(智能客戶端)的客戶端程序技術,Microsoft稱Smart Client是比Rich Client更優秀的客戶端,因而采用Smart Client的應用程序算不算RIA目前我個人還無法作答。這里我們之所以提及Smart Client,是因為Smart Client的特性跟我們談的Rich Client有太多的相似之處。Smart Client擁有自動更新、離線狀態下的數據處理和可以使用本地資源等特征,其中的可使用本地資源這一項無疑是一大賣點,因為瀏覽器中的 Flash/Flex應用程序目前還無法操作本地的一些資源,比如Flash/
Flex應用程序無法將網上的文件保存到本地或者修改本地文件。雖然
Macromedia的Central1.5已經可以對本地文件進行簡單的操作,并且flex1.5開發的RIA也能夠運行于Central上,但是如何使Central能夠得到大范圍推廣還是個問題。相對于輕量級的Rich Client,Smart Client更接近
C/S架構中的客戶端程序。Rich Client和Smart Client的定位還是有所區別的:Rich Client更適合作為輕量級的基于瀏覽器的網絡應用程序客戶端;Smart Client更適合作為Windows桌面應用程序的智能客戶端。
不管我們今天稱之為的RIA今后會不會成為主流應用程序,人們對開發具有高度互動性、豐富用戶體驗以及功能強大的客戶端的追求是不變的。有理由相信,擁有成熟技術和極高市場占有率的Flash客戶端將會在RIA道路上越走越遠。Microsoft未來的重量級武器:Avalon和Smart Client能否后來者居上讓我們拭目以待。
RIA
放射免疫測定/放射免疫分析(Radio immunoassay,RIA)
基本原理:
在放射免疫分析的實驗中,加入超量的標記抗原*Ag與未標記抗原Ag(即:
待測抗原)與較少量的抗體(Ab)競爭性結合。
如果實驗結果所計量到的結合物(*Ag-Ab)放射活性較高,表示待測物的濃度較低。
如果所計量到的結合物放射活性較低,則表示待測物的濃度較高。 藉由標準 曲線圖的分析,可以推算出待測物的濃度。