APP下载

基于RIA的交互式信息实时共享系统研究

2009-12-17慕立俊杜寻社邓红梅吴彦鹏

网络与信息 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层:资源层、服务器的交互层及客户端的逻辑层。客户端的逻辑层使用由LiveCycle 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模式开发,由服务器统一进行后台管理,以避免在客户端进行复杂的安装及配置。客户端只需Web浏览器通过LCDS通道与Java服务器端的appliication通信,完成信息交互、数据同步、远程控制等交互式实时信息共享系统的核心功能。图3是整个系统实现的总体架构。4.1.1客户端信息交互部分实现客户端信息交互部分由三个主要的界面接口组成,数字白板页、资料共享页及桌面共享页。客户按照需要切换不同的页面进行远程通讯。通过数字白板,用户可以与各远程客户端分享手写笔记、草图及其他讨论的信息;通过资料共享页,用户可以上传图片、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架构的嵌入式监控组态外设扩展机制研究与应用
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序