?

基于RIA的交互式信息實時共享系統研究

2009-12-17 08:40慕立俊杜尋社鄧紅梅吳彥鵬
網絡與信息 2009年12期
關鍵詞:服務器端客戶端應用程序

慕立俊 杜尋社 袁 林 鄧紅梅 吳彥鵬

摘要:RlA技術是集快速、低成本部署、實時多媒體通信為一體的新一代互聯網應用技術。本文設計并實現的交互式信息實時共享系統基于RlA架構,結合了多種流行的多媒體開發技術,為客戶提供了統一完整可擴展的網絡會議信息處理平臺,滿足了工作中對同步信息交互式咨詢及資料實時共享等方面需求,加快了傳統企業信息化建設。

關鍵字:富互聯網應用技術;LiveCycleDataService;RFB協議;通道;消息服務

1引言

伴隨著Internet日益成為應用程序開發的默認平臺,計算機應用系統的架構在由C/S架構到B/S架構轉變,基于瀏覽器的各種web程序應運而生。傳統網絡程序的開發是基于頁面的、服務器端數據傳遞的模式,把網絡程序的表示層建立于HTML頁面之上。這種傳統的基于頁面的系統已經漸漸不能滿足網絡瀏覽者的更高的、全方位的體驗要求了。為了解決這個問題,富互聯網應用程序(Rich InternetApplications,縮寫為RIA)脫穎而出。

本文基于RIA設計模式,結合Flex,Java,JSP,C++,數據庫等技術實現了交互式實時信息共享系統一網絡會議信息處理系統。該系統通過數字化交互的方式,實現了協作會議的即時訪問,提供了生動的無縫交流方式。加強溝通效果,構建異地遠程辦公的信息化平臺,能夠減少差旅費用,提高工作效率。2系統架構2.1RIA系統架構簡介RIA是集桌面應用程序的最佳用戶界面功能與Web應用程序的快速、低成本布署。以及互動多媒體通信的實時快捷于一體的新一代網絡應用程序。RlA中的富客戶端(Rich Client)提供可承載已編譯客戶端應用程序(以文件形式,用HTTP傳遞)的運行環境,客戶端應用程序使用異步客戶,服務器架構連接現有的后端應用服務器。這是一種安全、可升級、具有良好適應性的新的面向服務模型,這種模型由采用的Web服務所驅動,使客戶機的能力復原到與桌面型計算機軟件應用或傳統的C/S系統中的客戶機能力。它適合傳統的N層開發過程。同時也能夠在現有Web應用程序和環境內逐步添加新功能以充分利用現有網絡應用投資。它也可以作為基礎網絡服務的互動表現層,允許用戶在線和離線工作。RIA有能力解決各種復雜性,使需要復雜性的應用得以開發并且減少開發成本,為演進中的Web Service為主的網絡提供動態高效的前端應用。結合了聲音、視頻和實時對話的綜合通信技術使RIA具有前所未有的網上用戶體驗。圖1是RlA的應用程序模型。

本系統參考RlA架構,采用以事件驅動及消息服務為中心的思想,運用RIA的解決方案一基于Flash的Flex技術及Java、C++技術開發,使用HTTPService和WebService進行數據訪問,通過遠程過程(RPC)調用組件,使客戶端程序與遠程服務器進行交互。系統的架構按照Flex的執行結構劃分為3層:資源層、服務器的交互層及客戶端的邏輯層??蛻舳说倪壿媽邮褂糜蒐iveCycle Data Services ES(以下簡稱LCDS)提供的基于消息框架與服務器交互,該基于消息的框架在客戶端是通道(channels),通道封裝了Flex客戶端和LCDS服務端之間的連接行為。通道被分組并組成通道集,達到通道搜索和通道容錯的目的。服務器的交互層是一個J2EE的web容器,Flex客戶端通過channel發送一個請求,請求在服務端會到一個endpoint,從endpoint開始請求會通過一條Java對象處理鏈,到達服務器端的Java程序進行數據傳輸及后處理。資源層是以數據庫為中心的資源管理模塊,進行數據的存儲及轉換。這種層次的劃分使得對任何事件及消息的響應都必須經過LCDS中轉,不但有效地劃分了功能層次,增強了易管理性,而且系統的層次明顯、結構清晰、易于擴展。

2.3交互式實時信息共享系統模塊分析

基于上述的交互式實時信息共享系統架構,為了滿足各企事業單位在同步信息咨詢服務、資料共享、會議管理及交互式溝通等方面的需求,在功能上該系統分系統管理、視音頻控制管理、數據服務管理、信息處理、數據庫管理及遠程桌面共享控制等幾大核心模塊,系統功能框架請參照圖2。下面將對各個模塊做詳細介紹。

2.3.1系統管理模塊系統管理部分包括用戶和角色管理,會議和會議室管理及信道管理。用戶和角色管理負責管理用戶權限。本系統包括兩種角色:管理員和普通用戶。管理員可以查看所有的用戶信息,創建新用戶、用戶信息更新及刪除,對系統進行常規維護。會議和會議室管理負責虛擬會議室的新建、維護及各會議室會議的預約。信道管理是指單個會議室中多個通訊通道建立、管理及分配。本系統中每個會議室最多可有三個獨立的通道分別進行獨立或交互的實時信息共享。2.3.2視音頻控制管理模塊視音頻控制管理部分采用Polycom提供的MCU多點控制模塊作為標準視頻會議核心管理音視頻交換、遠程指揮和調度核心音視頻交換設備,通過H.264視頻壓縮協議,Serin14語音壓縮協議和H.239(P+C)數據協議,為用戶提供高質量的音頻、視頻和數據通信功能。2.3.3數據服務管理模塊●提供RPC服務,即遠程過程調用服務:基于HTTP或SOAP協議獲取服務器端數據,或者基于AMF格式,通過調用遠程對象獲取數據和觸發服務器端邏輯:

●提供數據管理能力:管理客戶端和服務器端的數據同步、大規模數據的數據分頁以及數據沖突等;

●提供消息服務:Web層客戶端應用同服務端的消息發布和訂閱,基于每個客戶端的服務質量服務(QOS)、RTMP通道支持;

●提供支持離線應用的能力:例如離線數據緩存及本地消息隊列等;

●提供企業Flex應用集成所需的代理服務、Web層編譯Flex應用能力、支持WSRP接口的門戶部署、集群部署、支持Ajax的數據服務、實現Flex RIA應用和Aiax程序交互的Flex-Aiax Bridge、多種服務適配器、服務器端PDF生成等其他各種服務。2.3.4信息處理模塊信息處理部分使用基于消息的框架完成客戶端與服務器的交互,該框架基于Flex組件使用通道與LCDS服務端通信。利用HTTP服務或WEB服務調用遠程服務,使用諸如確認消息(Acknowl-edegMessaget)和命令消息(CommandMessage)等類型與LCDS中對應的服務通信,實現了多點會議狀態同步,資料實時共享,數字白板數據同步、遠程過程調用等功能。

2.3.5數據庫管理模塊數據庫管理部分提供了會議記錄,檢索及下載等功能。會議記錄功能支持將會議的信息,與會人名單,會議過程中討論的資料及相應標注,以及在電子白板上記錄的內容自動保存到服務器上以便會后下

載和查閱。會議檢索及下載功能提供會議歷史記錄的查詢,與會人會后可通過搜索找到相應會議,下載會議過程中的資料及會議記錄。2.3.6遠程桌面共享控制模塊針對與會者需要在會議期間查詢一些數據或者查看一些專業軟件的操作結果,并且能夠在與會者之間實時共享這些查詢結果和操作結果的需求,遠程桌面共享及控制模塊基于網絡實現遠程主機的一對一及多對一連接,實現了連接后一方或多方可以看到另一方的計算機屏幕,對方在計算機上的任意操作都可以被共享,達到隨時從桌面共享文檔和進行演示的效果。參與會議的用戶可以共享桌面、應用程序、文件以及企業專業軟件等各類內容。使各地的客戶、合作伙伴以及同事能夠演示實時信息、共享應用程序以及開展專案協作。

3關鍵技術研究

3.1Adobe Flex以Flash Player 9和Action Script 3.0提供的豐富的類庫為基礎,Flex框架作為Flex的核心部分提供了一個豐富的可擴展用戶界面組件設置,一個用于控制布局和用戶互動的靈活模型,和從遠程服務訪問數據的健壯底層構造。Flex組件庫包含超過100種組件和容器。開發者可以使用這些內建組件構造程序的用戶界面,把它們作為子類以修改其行為,或是使用組件的API生成全新的組件。和其它用戶界面開發環境一樣,Flex允許開發者利用預定義互動,比如數據網格中可拖拽的列,或將一些明確定義的事件定義為有特殊用途的行為。Flex應用程序通過一組內置的服務組件訪問數據和服務。開發者可通過HTi-P和網絡服務訪問XML數據,同樣,也可訪問利用FlexData Services提供的額外服務,包括連接的遠程Java對象,發布/訂閱的信息。和新的Flex Data Services。為了促進數據處理。Flex提供了豐富的數據粘合底層構造,當數據返回時它會自動更新用戶界面,當等待服務器返回結果時它允許程序保持響應。3.2LiveCycIe Data ServiceLiveCycle是Adobe企業解決方案平臺,包含業務流程管理系統(UveCycle Process Management)、企業版權管理系統(LjveCycleRlghts Management)、表單服務(LjveCycle Forms)等12個解決方案組件。LiveCycle Data Servlce是其中的一個整合RIA應用和J2EE等企業應用的解決方案組件。

LiveCycle Data Services是Adobe公司提供的用于開發使用Flex作為前端,JAVA作為后端的中間組件。它提供一組基于信息的服務,支持聯接企業架構和不同層間透明同步數據的能力,展示了在客戶端和服務器間轉移數據的健壯的消息基礎架構。LCDS客戶端使用由LCDS提供的基于消息的(message-based)框架與服務器交互。LCDS服務端是一個J2EE web服務器和高度可擴展的網絡socket服務器的結合。Flex客戶端通過通道(ohanneI)發送請求,該請求接著被路由到LCDS服務端上的端點(endpoInt)。從端點,請求又被路由到java對象鏈,該鏈包括MessageBroker對象,一個服務對象,一個終點對象和最后的適配器對象。適配器可以通過調用本地或后端系統或像JMS服務這樣的遠程服務完成該請求。

3.3RFB協議遠程控制因為進一步克服了由于地域性差異而帶來的不便性,所以在網絡管理、遠程技術支持、遠程交流、遠程辦公等領域有著非常廣泛的應用。RFB(遠程幀緩沖)是一個用于遠程訪問圖形用戶接口的簡單協議,它工作在幀緩沖層,主要涉及顯示協議、輸入協議、像數數據表示、協議擴展、協議消息幾部分。RFB是一個真正意義上的“瘦客戶端”協議。在RFB協議的設計中重點強調客戶端的盡少需求。這樣一來,客戶端能運行在更廣范圍的硬件環境上,并且客戶端的實現也盡可能簡單。

RFB協議對于客戶端是“無狀態”的。如果一個客戶端和服務器斷開了連接,稍后再一次連接到這臺服務器上,用戶的會話不會被關閉,狀態會一直保持著。不同的客戶端可以連接到同一個服務器上,在新的客戶端上用戶看到的是和原來的客戶端上相同的圖形用戶接口,這樣能夠高效的利用網絡帶寬,達到高質量的共享和控制效果。

4交互式實時信息共享系統的實現與應用

4.1系統實現

整個系統基于RIA模式開發,由服務器統一進行后臺管理,以避免在客戶端進行復雜的安裝及配置??蛻舳酥恍鑇eb瀏覽器通過LCDS通道與Java服務器端的appliication通信,完成信息交互、數據同步、遠程控制等交互式實時信息共享系統的核心功能。圖3是整個系統實現的總體架構。4.1.1客戶端信息交互部分實現客戶端信息交互部分由三個主要的界面接口組成,數字白板頁、資料共享頁及桌面共享頁??蛻舭凑招枰袚Q不同的頁面進行遠程通訊。通過數字白板,用戶可以與各遠程客戶端分享手寫筆記、草圖及其他討論的信息;通過資料共享頁,用戶可以上傳圖片、PPT等資料與遠程客戶端實時共享,并可共享資料上的實時批注。通過桌面共享頁面,用戶可以共享桌面、應用程序、文件以及企業專業軟件等各類內容。使各地的客戶、臺作伙伴以及同事演示信息、共享應用程序以及開展專案協作。圖4是客戶端信息交互部分的頁面設計圖。

4.1.2交互式實時信息共享系統數據流實現

客戶端與服務器端的數據流的交互主要有以下幾個方面:1用戶登錄時,用戶權限認證及根據用戶信息配置相應的環境,并提取與其相關的會議信息;若會議已經開始,則自動切換到該會議正在進行的狀態;2任一用戶切換模式(白板、資料、桌面)時,其他用戶采集數據進行處理;3任一用戶共享資料、筆跡、桌面,其他用戶獲取相應數據更新頁面;4用戶關閉會議,其他用戶收到消息,自動退出,并清空緩存中所有會議有關的記錄。圖5是客戶端與服務器端的數據流圖。

4.2交互式實時信息共享系統的應用

本系統是針對現代企業對信息交互和資料共享的高要求開發的交互式實時信息共享系統,可以提高遠程會議質量,使異地多點會議達到所有與會人員在同一會議室開會的效果。適合方案討論、技術交流、資料學習、網絡培訓和緊急會議等。尤其適合大型企業多地點辦公的情況。圖6是真實系統會議中的用戶界面。

5總結

本文通過對為客戶帶來卓越桌面體驗的RlA技術的基本論述,及對為企業提供富互聯網應用程序的表示層解決方案的Flex技術的分析,基于目前傳統企業信息化數字化建設的需求,設計并實現了統一、完整、可擴展的的交互式實時信息共享系統。該系統是富因特網應用程序的一個典型應用,Ftex客戶端通過HTTP、SOAP或AMF(Flash RemotIng二進制協議)與服務器端進行通信,并應用了Java serviet技術實現了文檔格式轉換和上傳,客戶端遠程下載等功能。為客戶提供了使用簡單、具有良好體驗的用戶界面,并降低了網絡和服務器的開銷。

該系統已在企業中成功運作,滿足了工作中對同步信息咨詢服務、資料實時共享、會議管理及交互式溝通等方面需求。通過數字化交互平臺,提供生動的無縫交流方式,實現了協作會議的即時訪問。有助于企業構建異地遠程辦公的信息化平臺,加強溝通效果,提高工作效率并減少差旅費用。

猜你喜歡
服務器端客戶端應用程序
刪除Win10中自帶的應用程序
谷歌禁止加密貨幣應用程序
虛擬專用網絡訪問保護機制研究
新聞客戶端差異化發展策略
基于Qt的安全即時通訊軟件服務器端設計
基于Qt的網絡聊天軟件服務器端設計
一種基于Java的IM即時通訊軟件的設計與實現
基于C/S架構的嵌入式監控組態外設擴展機制研究與應用
三星電子將開設應用程序下載商店
微軟軟件商店開始接受應用程序
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合