《資訊新知》 網頁技術的新趨勢—RIA(Rich Internet Application) 吳信輝 前言 網際網路(Internet)在硬體設備的不斷更新之下,所能達到的 範圍已經愈來愈沒有限制(尤其是無線網路wireless的發展與成熟)。 在發展的早期階段,由於頻寬不足所導致的一些限制也已經漸漸消 失,取而代之的是愈來愈好的硬體設備與軟體支援;在開發工具上, 各個軟體公司也竭盡所能地發展更容易上手之視覺式開發環境,以 降低網頁技術的學習曲線。 緣於此,本文的主題將介紹一種與一般網頁homepage或是網頁上 所進行的動態程式之進行流程不同,卻和一般單機上所使用的軟體 程式進行流程雷同之技術:RIA(Rich Internet Application), 相信未來在網際網路上,利用這一種技術的網站(website)將得到 廣大的迴響。 網路技術發展歷程 首先,還是得先介紹網際網路上所使用的資訊技術的發展歷程。 網際網路在發展的初期階段,就如同程式語言的發展歷程一樣,是 以機器熟悉的語言為主,也就是所謂的低階語言,主要的溝通方式 仍舊多以機器語言為主,資訊交換的內容也是透過文字介面的終端 介面,利用一連串之指令來達成目的。因此,能夠使用網際網路的 技術門檻在當時是非常高的。全球中推廣網際網路的組織W3C,網際 網路中的WWW(World Wide Web)制訂了一種新的程式語言,與其說 是程式語言,應該說是一種溝通標準:HTML(HyperText Markup Language)。 超文本描述語言HTML:簡單地說,WWW上的所有我們能夠看到的內 容,都是透過HTML這一個標準描述出來的,雖然其檔名htm演化出許 多不同的名稱,例如.cfm或.asp等等,但它們的基礎組成架構都是 HTML。它不是像VB或是C是一種程式語言,它是一種描述文字內容標 準。在WWW上瀏覽器(Browser)程式解釋利用HTML所架構出的檔案 進行解碼並顯示。 HTML的前身是SGML(Standard Generalized Markup Language), 與其不同的地方在於:HTML將其焦點集中在超文本上的一些架構性 的定義上;而SGML則專注於於大公司間的資料交換。HTML代碼是用 ASCII碼編寫,所以容易移植到不同的系統平臺上(ASCII能被任何 系統讀入,例如:IBM, Macintosh, UNIX, ...等),因此,只要能 開啟瀏覽器,WWW就能被任何平臺使用。HTML的的標準已經到HTML4。 HTML從1.0開始,它沒有官方標準,HTML 1.0只有第一個流行瀏覽器 --Mosaic能夠解讀。第一個HTML的官方版本是2.0,它是所有Web頁 的基本標準。如果您想讓某一頁能被任何瀏覽器可讀,就用HTML2.0; 在3.0的時代中,由於加入許多複雜的功能,使得標記語言有點轉變 成程式語言,因此,此版本並沒有被廣泛接受,而隨著CSS樣式表與 HTML 4.0的發表,HTML又回到了它真正的基礎:一種描述結構的標 記語言,而不是程式語言(註一)。 由於上述的特性,初期WWW大多以Homepage的形式存在著,在當時, 每一個Homepage就是一個頁面,Homepage的內容也像是一本書中的 某一頁,只是這一本書的作者是網頁的製作者,內容由網頁的製作 者自己決定,書中不同頁面的連結就利用超連結(Hyperlink)串連。 也因此,當時最流行的網際網路教學就是教大家寫Homepage,教大 家學會寫HTML這一種標記語言。記得當時最流行的小學Homepage作 業內容就是寫出一張自我介紹的網頁。 隨著需求的增加與Homepage開發工具的功能增進,如今,我們只 需要利用微軟(Microsoft)的Word軟體,將文件內容完成,再將其 另存為html檔即可。使用者愈來愈需要在WWW上進行資訊或資料的互 相傳遞,HTML在展現動態的資料處理上,原本就有其先天上的限制, 使用者往往需要瀏覽好幾個網頁後,才能完成某一項的功能步驟, 因此有了CGI(Common Gateway Interface)、JavaScript(前端)、 ASP(Active Server Pages後端)、JSP(JavaServer Pages)、PHP (Hypertext Preprocessor)等動態程式語言之誕生,但是限存在 於HTML內,故仍無法達到一般單機版程式之順暢流程。因此,最近 有一項新的觀念慢慢成型:RIA(Rich Internet Applications), 使用者能夠透過RIA得到更快速、更直覺、更豐富的製作方式(註二)。 WWW上的程式發展歷程分析,可以【圖一】做一個簡單的說明。 網頁新技術RIA 目前在RIA的研究上,以Macromedia公司最具成果。以Flash而言, 它幾乎是所有瀏覽器都會擁有的Plugin元件,但是大多數的人,幾 乎都認為Flash只是一項動畫工具,其實Macromedia的Flash是一整 套完整的RIA解決方案。簡單地說,RIA是一種在網際網路上運行的 應用程式,有著如同桌面應用程式的行為、功能、快速回應、直覺 與體驗,也融合了網際網路應用程式的容易開發的與低成本的特性。 RIA結合桌面應用程式與網路的優點;而RIA和Flash網站有什麼不同 呢?Flash網站與RIA的最大差異在於RIA能夠操作資料並與之互動, 而傳統的Flash網站僅止於視覺化的呈現。 而使用RIA有什麼好處呢?簡單歸納有下列幾點: 一、對企業使用者的好處: 1.提高交易量:目前手機上的應用開發,多為Java的天下,像Nokia 及Motorola等手機大廠都支援Java;而Flash MX較Java更容易開 發,且適用於各種作業環境,不管手機或PDA用的是其他作業系統。 2.降低應用開發與維護成本:以Flash元件製作的網頁,可避免以Java Applet必須不斷更新造成佔用大量網路頻寬的問題。以網路券商 eTrade.com為例,使用Flash開發股價查詢,已為該公司節省8000GB 的頻寬,另外如美國CNET也是利用Flash製作微型網站(Micro Site)。 二、對資訊部門的好處: 1.降低基礎設施建置成本。 2.提昇開發效率:以拖拉方式製作表格、選單等其他網頁功能,消 除一般使用者對程式開發的恐懼感(註三)。 3.支援工業標準。 三、對使用者的好處: 1.互動而即時的體驗能夠降低使用者的挫折。 2.降低新手的學習曲線。 3.單一畫面的使用者介面能夠節省時間。簡單的範例如【圖二】所 示。 在【圖二】中,我們可以看到使用者在搜尋的同時,進行其合適 價位區間與房子細節的搜尋。 因此,利用RIA,我們可以在一個Request中得到現更多的可視細 節(Visual detail),並且動態地得到快速回應之結果,且是無接 縫(client-server之間的互動使用者看不到)之程式進行流程,其 行為是基於使用者之操作結果(完全的控制),當然,GUI的功能是 一定少不了的(註四)。也因此,許多組織與公司也注意到此發展 趨勢,紛紛往此方向發展,例如Java的JSR-168:Prolet技術等 (http://www.jcp.org/aboutJava/communityprocess/review/jsr168/)。 最近Macromedia基於RIA的概念,以結合了前端的Flash和後端的 J2EE(.Net版本也在研發中),推出了名為Flex的的技術 (http://www.macromedia.com/tw/software/flex/)。其公司之系 列產品解決方案架構圖如【圖三】所示。 簡單應用 Wilson Jones-訂製一本屬於自己的筆記 (http://www.wilsonjones.com/index.html) 在文具行總是找不到一本合用的筆記本嗎?想在封面印上自己的 名字?想在筆記本上加上自己設計的標籤?Wilson Jones可以完成 您的願望。您可以進入templates單元,選擇您需要的筆記本類型, 設定自己想要的樣式。雖然價錢稍微貴一些,不過相信很多人還是 願意來這邊買一本完全為自己設計的筆記本(參見【圖四】,註五)。 有關其它相關應用的介紹,請參見阿修的部落格 (http://lis186.4dwebhosting.com),其內有更多RIA應用介紹, 相信將會讓您耳目一新。 優缺點分析 優點:利用RIA的技術,可以讓我們在網路上瀏覽各種頁面時,與使 用client端的程式相同,不會因為HTML語言的特性,受限於 一個步驟一個步驟Request的程式進行流程。在邁入內容的時 代之後,如何整合各種多媒體資訊在一個介面中,是未來的 趨勢。以數位電視為例,即是利用硬體設備與軟體整合,使 本來利用一台電視機只能在同一時間看一個頻道節目的觀看 型態,轉換成可以同一時間同時看不同的節目,甚至利用隨 選視訊的方式,隨時觀看想要看的節目。相同的道理,在網 際網路上的行為,也應該達到這樣的目標。 缺點:如同任何一般新的資訊科技一樣,新的技術代表將成為新的 標準,但前提是必須得到大眾的認可與接受,才能成為新的 技術。HTML靜態頁面的發展已不能滿足愈來愈多的網路應用 後,產生了DHTML與CGI的技術,但是由於其學習門檻高、維 護成本也太高,因此普遍的接受程度不高,也才有了ASP、 JSP、PHP等相關技術出現,成為現今動態網頁或網站之主流。 既然這樣的特色是容易讓使用者接受的,亦是未來趨勢,期 盼相關組織(如W3C等)能加速推動相關之推廣、整合等工作, 使WWW邁入另一個里程碑。 結論 雖然目前主流上推廣RIA技術以Macromedia一家公司為主,但是以 如此的規模推廣是絕對沒有辦法達到大眾化的目標,相信RIA是未來 網際網路(WWW)上的一個不可避免的趨勢,也希望未來可以看到更 多更開放的技術出現,更多更簡單更廣泛的應用出現在我們的生活 之中。 附註 註一:http://263.aka.org.cn/Magazine/Aka4/interhis3.html 註二:http://taiwan.cnet.com/enterprise/column/0,2000062893,20091941,00.htm 註三:http://shoppingguide.ithome.com.tw/special/special2004-02-13-001.html 註四:請參閱www.macromedia.com/tw/resources/ business/rich_internet_apps/ 註五:http://blog.stung.org/