慕立俊 杜尋社 袁 林 鄧紅梅 吳彥鵬
摘要:RlA技術是集快速、低成本部署、實時多媒體通信為一體的新一代互聯(lián)網應用技術。本文設計并實現(xiàn)的交互式信息實時共享系統(tǒng)基于RlA架構,結合了多種流行的多媒體開發(fā)技術,為客戶提供了統(tǒng)一完整可擴展的網絡會議信息處理平臺,滿足了工作中對同步信息交互式咨詢及資料實時共享等方面需求,加快了傳統(tǒng)企業(yè)信息化建設。
關鍵字:富互聯(lián)網應用技術;LiveCycleDataService;RFB協(xié)議;通道;消息服務
1引言
伴隨著Internet日益成為應用程序開發(fā)的默認平臺,計算機應用系統(tǒng)的架構在由C/S架構到B/S架構轉變,基于瀏覽器的各種web程序應運而生。傳統(tǒng)網絡程序的開發(fā)是基于頁面的、服務器端數(shù)據傳遞的模式,把網絡程序的表示層建立于HTML頁面之上。這種傳統(tǒng)的基于頁面的系統(tǒng)已經漸漸不能滿足網絡瀏覽者的更高的、全方位的體驗要求了。為了解決這個問題,富互聯(lián)網應用程序(Rich InternetApplications,縮寫為RIA)脫穎而出。
本文基于RIA設計模式,結合Flex,Java,JSP,C++,數(shù)據庫等技術實現(xiàn)了交互式實時信息共享系統(tǒng)一網絡會議信息處理系統(tǒng)。該系統(tǒng)通過數(shù)字化交互的方式,實現(xiàn)了協(xié)作會議的即時訪問,提供了生動的無縫交流方式。加強溝通效果,構建異地遠程辦公的信息化平臺,能夠減少差旅費用,提高工作效率。2系統(tǒng)架構2.1RIA系統(tǒng)架構簡介RIA是集桌面應用程序的最佳用戶界面功能與Web應用程序的快速、低成本布署。以及互動多媒體通信的實時快捷于一體的新一代網絡應用程序。RlA中的富客戶端(Rich Client)提供可承載已編譯客戶端應用程序(以文件形式,用HTTP傳遞)的運行環(huán)境,客戶端應用程序使用異步客戶,服務器架構連接現(xiàn)有的后端應用服務器。這是一種安全、可升級、具有良好適應性的新的面向服務模型,這種模型由采用的Web服務所驅動,使客戶機的能力復原到與桌面型計算機軟件應用或傳統(tǒng)的C/S系統(tǒng)中的客戶機能力。它適合傳統(tǒng)的N層開發(fā)過程。同時也能夠在現(xiàn)有Web應用程序和環(huán)境內逐步添加新功能以充分利用現(xiàn)有網絡應用投資。它也可以作為基礎網絡服務的互動表現(xiàn)層,允許用戶在線和離線工作。RIA有能力解決各種復雜性,使需要復雜性的應用得以開發(fā)并且減少開發(fā)成本,為演進中的Web Service為主的網絡提供動態(tài)高效的前端應用。結合了聲音、視頻和實時對話的綜合通信技術使RIA具有前所未有的網上用戶體驗。圖1是RlA的應用程序模型。
本系統(tǒng)參考RlA架構,采用以事件驅動及消息服務為中心的思想,運用RIA的解決方案一基于Flash的Flex技術及Java、C++技術開發(fā),使用HTTPService和WebService進行數(shù)據訪問,通過遠程過程(RPC)調用組件,使客戶端程序與遠程服務器進行交互。系統(tǒng)的架構按照Flex的執(zhí)行結構劃分為3層:資源層、服務器的交互層及客戶端的邏輯層。客戶端的邏輯層使用由LiveCycle Data Services ES(以下簡稱LCDS)提供的基于消息框架與服務器交互,該基于消息的框架在客戶端是通道(channels),通道封裝了Flex客戶端和LCDS服務端之間的連接行為。通道被分組并組成通道集,達到通道搜索和通道容錯的目的。服務器的交互層是一個J2EE的web容器,F(xiàn)lex客戶端通過channel發(fā)送一個請求,請求在服務端會到一個endpoint,從endpoint開始請求會通過一條Java對象處理鏈,到達服務器端的Java程序進行數(shù)據傳輸及后處理。資源層是以數(shù)據庫為中心的資源管理模塊,進行數(shù)據的存儲及轉換。這種層次的劃分使得對任何事件及消息的響應都必須經過LCDS中轉,不但有效地劃分了功能層次,增強了易管理性,而且系統(tǒng)的層次明顯、結構清晰、易于擴展。
2.3交互式實時信息共享系統(tǒng)模塊分析
基于上述的交互式實時信息共享系統(tǒng)架構,為了滿足各企事業(yè)單位在同步信息咨詢服務、資料共享、會議管理及交互式溝通等方面的需求,在功能上該系統(tǒng)分系統(tǒng)管理、視音頻控制管理、數(shù)據服務管理、信息處理、數(shù)據庫管理及遠程桌面共享控制等幾大核心模塊,系統(tǒng)功能框架請參照圖2。下面將對各個模塊做詳細介紹。
2.3.1系統(tǒng)管理模塊系統(tǒng)管理部分包括用戶和角色管理,會議和會議室管理及信道管理。用戶和角色管理負責管理用戶權限。本系統(tǒng)包括兩種角色:管理員和普通用戶。管理員可以查看所有的用戶信息,創(chuàng)建新用戶、用戶信息更新及刪除,對系統(tǒng)進行常規(guī)維護。會議和會議室管理負責虛擬會議室的新建、維護及各會議室會議的預約。信道管理是指單個會議室中多個通訊通道建立、管理及分配。本系統(tǒng)中每個會議室最多可有三個獨立的通道分別進行獨立或交互的實時信息共享。2.3.2視音頻控制管理模塊視音頻控制管理部分采用Polycom提供的MCU多點控制模塊作為標準視頻會議核心管理音視頻交換、遠程指揮和調度核心音視頻交換設備,通過H.264視頻壓縮協(xié)議,Serin14語音壓縮協(xié)議和H.239(P+C)數(shù)據協(xié)議,為用戶提供高質量的音頻、視頻和數(shù)據通信功能。2.3.3數(shù)據服務管理模塊●提供RPC服務,即遠程過程調用服務:基于HTTP或SOAP協(xié)議獲取服務器端數(shù)據,或者基于AMF格式,通過調用遠程對象獲取數(shù)據和觸發(fā)服務器端邏輯:
●提供數(shù)據管理能力:管理客戶端和服務器端的數(shù)據同步、大規(guī)模數(shù)據的數(shù)據分頁以及數(shù)據沖突等;
●提供消息服務:Web層客戶端應用同服務端的消息發(fā)布和訂閱,基于每個客戶端的服務質量服務(QOS)、RTMP通道支持;
●提供支持離線應用的能力:例如離線數(shù)據緩存及本地消息隊列等;
●提供企業(yè)Flex應用集成所需的代理服務、Web層編譯Flex應用能力、支持WSRP接口的門戶部署、集群部署、支持Ajax的數(shù)據服務、實現(xiàn)Flex RIA應用和Aiax程序交互的Flex-Aiax Bridge、多種服務適配器、服務器端PDF生成等其他各種服務。2.3.4信息處理模塊信息處理部分使用基于消息的框架完成客戶端與服務器的交互,該框架基于Flex組件使用通道與LCDS服務端通信。利用HTTP服務或WEB服務調用遠程服務,使用諸如確認消息(Acknowl-edegMessaget)和命令消息(CommandMessage)等類型與LCDS中對應的服務通信,實現(xiàn)了多點會議狀態(tài)同步,資料實時共享,數(shù)字白板數(shù)據同步、遠程過程調用等功能。
2.3.5數(shù)據庫管理模塊數(shù)據庫管理部分提供了會議記錄,檢索及下載等功能。會議記錄功能支持將會議的信息,與會人名單,會議過程中討論的資料及相應標注,以及在電子白板上記錄的內容自動保存到服務器上以便會后下
載和查閱。會議檢索及下載功能提供會議歷史記錄的查詢,與會人會后可通過搜索找到相應會議,下載會議過程中的資料及會議記錄。2.3.6遠程桌面共享控制模塊針對與會者需要在會議期間查詢一些數(shù)據或者查看一些專業(yè)軟件的操作結果,并且能夠在與會者之間實時共享這些查詢結果和操作結果的需求,遠程桌面共享及控制模塊基于網絡實現(xiàn)遠程主機的一對一及多對一連接,實現(xiàn)了連接后一方或多方可以看到另一方的計算機屏幕,對方在計算機上的任意操作都可以被共享,達到隨時從桌面共享文檔和進行演示的效果。參與會議的用戶可以共享桌面、應用程序、文件以及企業(yè)專業(yè)軟件等各類內容。使各地的客戶、合作伙伴以及同事能夠演示實時信息、共享應用程序以及開展專案協(xié)作。
3關鍵技術研究
3.1Adobe Flex以Flash Player 9和Action Script 3.0提供的豐富的類庫為基礎,F(xiàn)lex框架作為Flex的核心部分提供了一個豐富的可擴展用戶界面組件設置,一個用于控制布局和用戶互動的靈活模型,和從遠程服務訪問數(shù)據的健壯底層構造。Flex組件庫包含超過100種組件和容器。開發(fā)者可以使用這些內建組件構造程序的用戶界面,把它們作為子類以修改其行為,或是使用組件的API生成全新的組件。和其它用戶界面開發(fā)環(huán)境一樣,F(xiàn)lex允許開發(fā)者利用預定義互動,比如數(shù)據網格中可拖拽的列,或將一些明確定義的事件定義為有特殊用途的行為。Flex應用程序通過一組內置的服務組件訪問數(shù)據和服務。開發(fā)者可通過HTi-P和網絡服務訪問XML數(shù)據,同樣,也可訪問利用FlexData Services提供的額外服務,包括連接的遠程Java對象,發(fā)布/訂閱的信息。和新的Flex Data Services。為了促進數(shù)據處理。Flex提供了豐富的數(shù)據粘合底層構造,當數(shù)據返回時它會自動更新用戶界面,當?shù)却掌鞣祷亟Y果時它允許程序保持響應。3.2LiveCycIe Data ServiceLiveCycle是Adobe企業(yè)解決方案平臺,包含業(yè)務流程管理系統(tǒng)(UveCycle Process Management)、企業(yè)版權管理系統(tǒng)(LjveCycleRlghts Management)、表單服務(LjveCycle Forms)等12個解決方案組件。LiveCycle Data Servlce是其中的一個整合RIA應用和J2EE等企業(yè)應用的解決方案組件。
LiveCycle Data Services是Adobe公司提供的用于開發(fā)使用Flex作為前端,JAVA作為后端的中間組件。它提供一組基于信息的服務,支持聯(lián)接企業(yè)架構和不同層間透明同步數(shù)據的能力,展示了在客戶端和服務器間轉移數(shù)據的健壯的消息基礎架構。LCDS客戶端使用由LCDS提供的基于消息的(message-based)框架與服務器交互。LCDS服務端是一個J2EE web服務器和高度可擴展的網絡socket服務器的結合。Flex客戶端通過通道(ohanneI)發(fā)送請求,該請求接著被路由到LCDS服務端上的端點(endpoInt)。從端點,請求又被路由到java對象鏈,該鏈包括MessageBroker對象,一個服務對象,一個終點對象和最后的適配器對象。適配器可以通過調用本地或后端系統(tǒng)或像JMS服務這樣的遠程服務完成該請求。
3.3RFB協(xié)議遠程控制因為進一步克服了由于地域性差異而帶來的不便性,所以在網絡管理、遠程技術支持、遠程交流、遠程辦公等領域有著非常廣泛的應用。RFB(遠程幀緩沖)是一個用于遠程訪問圖形用戶接口的簡單協(xié)議,它工作在幀緩沖層,主要涉及顯示協(xié)議、輸入協(xié)議、像數(shù)數(shù)據表示、協(xié)議擴展、協(xié)議消息幾部分。RFB是一個真正意義上的“瘦客戶端”協(xié)議。在RFB協(xié)議的設計中重點強調客戶端的盡少需求。這樣一來,客戶端能運行在更廣范圍的硬件環(huán)境上,并且客戶端的實現(xiàn)也盡可能簡單。
RFB協(xié)議對于客戶端是“無狀態(tài)”的。如果一個客戶端和服務器斷開了連接,稍后再一次連接到這臺服務器上,用戶的會話不會被關閉,狀態(tài)會一直保持著。不同的客戶端可以連接到同一個服務器上,在新的客戶端上用戶看到的是和原來的客戶端上相同的圖形用戶接口,這樣能夠高效的利用網絡帶寬,達到高質量的共享和控制效果。
4交互式實時信息共享系統(tǒng)的實現(xiàn)與應用
4.1系統(tǒng)實現(xiàn)
整個系統(tǒng)基于RIA模式開發(fā),由服務器統(tǒng)一進行后臺管理,以避免在客戶端進行復雜的安裝及配置。客戶端只需Web瀏覽器通過LCDS通道與Java服務器端的appliication通信,完成信息交互、數(shù)據同步、遠程控制等交互式實時信息共享系統(tǒng)的核心功能。圖3是整個系統(tǒng)實現(xiàn)的總體架構。4.1.1客戶端信息交互部分實現(xiàn)客戶端信息交互部分由三個主要的界面接口組成,數(shù)字白板頁、資料共享頁及桌面共享頁??蛻舭凑招枰袚Q不同的頁面進行遠程通訊。通過數(shù)字白板,用戶可以與各遠程客戶端分享手寫筆記、草圖及其他討論的信息;通過資料共享頁,用戶可以上傳圖片、PPT等資料與遠程客戶端實時共享,并可共享資料上的實時批注。通過桌面共享頁面,用戶可以共享桌面、應用程序、文件以及企業(yè)專業(yè)軟件等各類內容。使各地的客戶、臺作伙伴以及同事演示信息、共享應用程序以及開展專案協(xié)作。圖4是客戶端信息交互部分的頁面設計圖。
4.1.2交互式實時信息共享系統(tǒng)數(shù)據流實現(xiàn)
客戶端與服務器端的數(shù)據流的交互主要有以下幾個方面:1用戶登錄時,用戶權限認證及根據用戶信息配置相應的環(huán)境,并提取與其相關的會議信息;若會議已經開始,則自動切換到該會議正在進行的狀態(tài);2任一用戶切換模式(白板、資料、桌面)時,其他用戶采集數(shù)據進行處理;3任一用戶共享資料、筆跡、桌面,其他用戶獲取相應數(shù)據更新頁面;4用戶關閉會議,其他用戶收到消息,自動退出,并清空緩存中所有會議有關的記錄。圖5是客戶端與服務器端的數(shù)據流圖。
4.2交互式實時信息共享系統(tǒng)的應用
本系統(tǒng)是針對現(xiàn)代企業(yè)對信息交互和資料共享的高要求開發(fā)的交互式實時信息共享系統(tǒng),可以提高遠程會議質量,使異地多點會議達到所有與會人員在同一會議室開會的效果。適合方案討論、技術交流、資料學習、網絡培訓和緊急會議等。尤其適合大型企業(yè)多地點辦公的情況。圖6是真實系統(tǒng)會議中的用戶界面。
5總結
本文通過對為客戶帶來卓越桌面體驗的RlA技術的基本論述,及對為企業(yè)提供富互聯(lián)網應用程序的表示層解決方案的Flex技術的分析,基于目前傳統(tǒng)企業(yè)信息化數(shù)字化建設的需求,設計并實現(xiàn)了統(tǒng)一、完整、可擴展的的交互式實時信息共享系統(tǒng)。該系統(tǒng)是富因特網應用程序的一個典型應用,F(xiàn)tex客戶端通過HTTP、SOAP或AMF(Flash RemotIng二進制協(xié)議)與服務器端進行通信,并應用了Java serviet技術實現(xiàn)了文檔格式轉換和上傳,客戶端遠程下載等功能。為客戶提供了使用簡單、具有良好體驗的用戶界面,并降低了網絡和服務器的開銷。
該系統(tǒng)已在企業(yè)中成功運作,滿足了工作中對同步信息咨詢服務、資料實時共享、會議管理及交互式溝通等方面需求。通過數(shù)字化交互平臺,提供生動的無縫交流方式,實現(xiàn)了協(xié)作會議的即時訪問。有助于企業(yè)構建異地遠程辦公的信息化平臺,加強溝通效果,提高工作效率并減少差旅費用。