【delphi开源代码栏目提醒】:网学会员,鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“视频会议服务器管理客户端设计与实现 - 硕士论文”一文,供大家参考学习!
分类号 学号 M200976020学校
代码 1 0 4 8 7 密级 硕士学位
论文 视频会议服务器管理客户端 设计与实现 学位申请人:吴 方 学 科 专 业:软件工程 指 导 教 师:高建生 副教授 答 辩 日 期:2011.12.23A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree for the Master of Engineering Design and Implementation of an MCU Server Manage Client Candidate : Wu Fang Major : Software Engineering Supervisor : Assoc. Prof. Gao Jiansheng Huazhong University of Science and Technology Wuhan 430074 P. R. China December 2011 独创性声明 本人声明所呈交的学位
论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除文中已经标明引用的内容外,本
论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
学位
论文作者签名: 日期: 年 月 日 学位
论文版权使用授权书 本学位
论文作者完全了解学校有关保留、使用学位
论文的规定,即:学校有权保留并向国家有关部门或机构送交
论文的复印件和电子版,允许
论文被查阅和借阅。
本人授权华中科技大学可以将本学位
论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位
论文。
保密□, 在 年解密后适用本授权书。
本
论文属于 不保密□。
(请在以上方框内打“√”) 学位
论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 华 中 科 技 大 学 硕 士 学 位 论 文 摘 要 当前国外视频会议系统已发展较为成熟,国内在此领域也发展得很迅速。
这些产品在功能上大同小异,但在细节上还是有很大的差异的,如软件易用性、易维护、易扩展方面。
视频服务器管理客户端作为用户和服务器的媒介,易用性和扩展性是用户衡量客户端好坏的两个标准。
一般来说,这类的客户端大多是 C/S 结构的,多采用 C、C、
Delphi 实现,围绕服务器提供的接口进行开发。
当前 WEB2.0 已相当成熟,而且也有很多成功的案例。
一些现成的框架和组件也使 WEB2.0 应用开发越来越容易。
将客户端实现成一个高交互、易部署、易扩展的 WEB 应用是一个不错的尝试。
本文的 MCU 客户端应用部署在 WEB 服务器上,用户通过浏览器可以很方便进行操作,不需要用户在机器上安装客户端。
如 通过一些 WEB2.0 的组件, DHTMLX,让用户界面看起更像 C/S 结构的,保留用户的使用习惯。
对于企业方,这种应用非常便于维护和升级,而且也非常便于用户权限控制。
随着技术的不断更新和进步,考虑采用何种技术或方案来系统变得越来越重要。
尝试一些更加简洁和高效的技术或方案,对于完善和优化企业产品是很有必要的。
关键词:MCU 视频服务器管理客户端 视频会议 I 华 中 科 技 大 学 硕 士 学 位 论 文 Abstract Video Conferencing system is very mature external and interiorly it is alsodeveloped very rapidly. Its products are mostly the same in functions but here are stillmany differences in details of the software such as the usability maintainability andScalability. MCU server manage client is the media between the users and the server and it hastwo standards-usability and Scalability. Generally the structure of most clients is C/S anddeveloped with languages C C
Delphi as the interfaces that the server has offered.With Some existing framework and component the application development of WEB 2.0is getting much more easier. It is a good try to develop the client as an interactive easilydeployed and expansible WEB application. According to these rules Company M re-designed and re-developed the MCU Clientwhich is deployed on WEB server. Users can easily operate via browses without installingclient in the computers. Via some component of WEB 2.0 such as DHTMLX theinterface of the users look much more like the structure of C/S so the users can followtheir using habit. And it is very easy for company to maintain and update the system alsoto control the authorities of the users. With the updating and advancement of the technology choosing technical proposalsto design and implement the system is getting more and more important. To try someconciser and more efficient technical proposal is very necessary for the improvement andperfecting of the company product.Key words: Meeting control unit Vedio conferencing server management client Vedio conferencing. II 华 中 科 技 大 学 硕 士 学 位 论 文 目 录摘 要............................................................................................................... IAbstract ........................................................................................................... II1 绪论1.1 研究背景................................................................................................ 11.2 国内外研究现状.................................................................................... 11.3 本文主要的研究工作 ........................................................................... 22 关键技术2.1 异步 JAVASCRIPT 与 XML 技术简介Ajax ..................................... 32.2 JAVASCRIPT 框架简介jQuery .......................................................... 52.3 WEB UI 组件简介(DHTMLX) ....................................................... 52.4 Java EE 应用程序框架简介Spring .................................................... 62.5 本章小结................................................................................................ 73 需求分析3.1 总体需求用例图.................................................................................... 93.2 功能需求.............................................................................................. 103.3 本章小结.............................................................................................. 124 系统设计4.1 系统逻辑架构...................................................................................... 134.2 系统物理架构...................................................................................... 144.3 系统开发架构...................................................................................... 154.4 系统主要功能模块设计 ..................................................................... 164.5 本章小结.............................................................................................. 19 III 华 中 科 技 大 学 硕 士 学 位 论 文5 系统实现5.1 开发环境.............................................................................................. 205.2 程序文件目录规划 ............................................................................. 205.3 主要功能实现...................................................................................... 235.4 本章小结.............................................................................................. 406 系统测试6.1 测试环境.............................................................................................. 416.2 功能测试.............................................................................................. 416.3 性能测试.............................................................................................. 446.4 兼容性测试.......................................................................................... 456.5 测试结果及分析.................................................................................. 456.6 本章小结.............................................................................................. 467 总结与展望7.1 全文总结.............................................................................................. 477.2 展望...................................................................................................... 47致 谢.......................................................................................................... 48参考文献...................................................................................................... 49 IV 华 中 科 技 大 学 硕 士 学 位 论 文 1 绪论1.1 研究背景 目前市面上的视频会议系统已经很成熟。
其中视频会议服务器(MCU meetingcontrol unit)是该系统的核心,为用户提供群组会议、多组会议的连接服务,各大厂商也都有着自己的实现(当然会遵循一些通用的标准)。
视频会议服务器的客户端也都大多数是围绕服务器提供的接口来进行开发,提供一个易用、易维护、易扩展的管理客户端,对 MCU 而言也相当重要,好的客户端能使 MCU 的功能体现得淋漓尽致。
本文正是按照这些原则,对 MCU 客户端进行开发实现。
对比 B/S 和 C/S 的通信模式,在数据一致性、数据实时性、网络应用限制、扩展性等方面,B/S 模式都优于 C/S。
所以采用 B/S 架构来构建客户端有利于降低投资成本,提供软件可扩展性。
但 B/S 也有其不足,如交互性不佳、连接无状态等等。
本系统使用 jQuery 和DHTMLX 来构建高交互性的 web 客户端,充分发挥 B/S 的优势,同时使用一些
开源、稳定的 javascript 框架来弥补 B/S 的不足。
1.2 国内外研究现状 视频会议系统,提供“面对面”的可视化多点会议服务,目前已经广泛应用于行政会议、远程教育、远程医疗、抗灾抢险、军事指挥、金融证券等领域。
通常视频会议系统客户端都包括电子白板、协同浏览、多媒体点播、文件共享等功能,针对MCU 服务器的管理仅仅作为一个小模块存在于该客户端中,而且是 C/S 结构,鉴权、升级都会有所不便。
目前越来越多的公司也都将 MCU 服务器的管理客户端作为单独的产品来开发,和视频会议客户端区分开来,有的甚至开放其 MCU 服务器的接口,让合作者来实现管理客户端,以达到合作共赢的目的。
这和数据库的模式很像,通常好的数据库管 1 华 中 科 技 大 学 硕 士 学 位 论 文理客户端都不是数据库厂商开发出来的。
1.3 本文主要的研究工作 本文中实现的系统主要是围绕 MCU 服务器提供的接口来进行设计和开发的,在易用性、可扩展性、交互性方面做了深入的研究。
主要的研究内容包括: (1)通过学习使用 java 语言实现了一个基于 B/S 结构的视频会议服务器管理客户端,研究了 java web 开发工具。
(2)jQuery 的使用。
(3)XDHMTL
开源组件的使用。
(4)SPRING 的使用。
(5)java socket 客户端的实现。
(6)tomcat 服务器的简单配置与使用。
(7)系统功能性测试与测试用例的编写。
2 华 中 科 技 大 学 硕 士 学 位 论 文 2 关键技术 目前大多数的 MCU 服务器管理客户端都是 C/S 架构的,这种架构可以很容易的开发高交互的应用,且和服务器是长连接的方式,但同时也带来安装麻烦、升级麻烦的问题1。
本文的视频会议服务器管理客户端采用 B/S 架构方式来构建客户端应用,同时运用 ajax 技术、j2ee 技术方案和成熟的 WEB UI 组件来构建高交互的 WEB 应用。
本章将简单介绍这些技术。
2.1 异步 JAVASCRIPT 与 XML 技术简介Ajax AJAX 为“Asynchronous JavaScript XML”(异步的 JavaScript 与 XML 技术),是一种广泛应用在浏览器的网页开发技术2。
Ajax 是多项技术的综合应用,Ajax 概念由 Jesse James Garrett 所提出,AJAX: (1)运用 XHTMLCSS 来表达信息; (2)运用 JavaScript 操作 DOM(Document Object Model)运行动态效果; (3)运用 XML 或者 JSON 进行数据交换及操作; (4)运用 XMLHttpRequest 为 Agent 与网页服务器进行异步数据交换; AJAX 不是指一种单一的技术,而是有机地利用了一系列相关的技术3。
事实上,AJAX 的应用使用支持以上技术的 Web 浏览器作为运行平台。
这些浏览器目前包括:Internet Explorer、Mozilla、Firefox、Opera、Konqueror及 Mac OS 的 Safari。
传统 web 应用和 Ajax 的 web 应用的最大区别在于一个是同步方式,一个是异步方式4。
如图 2-1 所示。
3 华 中 科 技 大 学 硕 士 学 位 论 文 图 2-1 传统 web 应用和 Ajax web 应用的模型 传统的 web 应用为了刷新页面中某一块区域的数据必须请求服务器然后刷新整页数据,这其中有很多数据并不是我们想要的5,这无疑增加了服务器的压力,同时也占用了不必要的带宽。
在传统的 web 应用中解决此类问题比较有效的方式就是将这块数据封装到 IFRAME 中,但这并不是一种较好的解决方案。
而在 Ajax 应用中通过 XMLHttpRequest 可以直接与服务器进行通信,在页面给出相应的 javascipt 回调函数即可方便的更新某一 DIV(或其它元素)中的数据,而且整个过程还是异步的6。
4 华 中 科 技 大 学 硕 士 学 位 论 文2.2 JAVASCRIPT 框架简介jQuery jQuery 是一个高性能、稳定的 javascript 框架7。
其操作 DOM,事件,完成 javascript动画都相当方便,同时提供的 ajax 类库也使我们在不同的浏览器上使用 ajax 极其方便,是开发高交互 WEB 应用不可缺少的底层 javacript 框架8。
目前国内外各大互联网公司很多都在使用 jQuery 作为基本的 javascript 框架来开发各自的 WEB UI 组件。
2.3 WEB UI 组件简介(DHTMLX) DHTMLX 是一套非常强大的 WEB UI 组件,包括如:表格、树形显示、日历、布局、编辑器等十几个 UI 组件9。
DHTMLX 分为 Standard Edition 和 ProfessionalEdition 两个版本,前者是
开源免费的,它的 API 和 Demo 都非常详细。
本系统选用的是 DHTMLX 的
开源版本。
这款 WEB 使用 DHTMLX WEB UI 开发的应用可以提高应用在 WEB 上的交互性。
UI 组件相当成熟,非常适合本系统在 WEB 上实现高交互的目的。
如图 2-2 所示。
图 2-2 使用 DHMTLX UI 应用的截图 5 华 中 科 技 大 学 硕 士 学 位 论 文2.4 Java EE 应用程序框架简介Spring Spring Framework 是一个
开源的 Java/Java EE 应用程序框架,以 Apache 许可证形式发布,也有.NET 平台上的移植版本。
该框架基于 Expert One-on-One Java EEDesign and Development(ISBN 0-7645-4385-7)一书中的
代码,最初由 Rod Johnson和 Juergen Hoeller 等开发10。
组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现,如图 2-3 所示。
图 2-3 Spring 的七个模块 每个模块的功能如下: (1)核心容器:核心容器提供 Spring 框架的基本功能。
核心容器的主要组件是 BeanFactory,它是工厂模式的实现。
BeanFactory 使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序
代码分开11。
(2)Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。
Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能12。
(3)Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程 6 华 中 科 技 大 学 硕 士 学 位 论 文功能集成到了 Spring 框架中。
所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。
Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。
通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
(4)Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。
异常层次结构简化了错误处理,并且极大地降低了需要编写的异常
代码数量 。
(例如打开和关闭连接) SpringDAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构13。
(5)Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。
所有这些都遵从Spring 的通用事务和 DAO 异常层次结构。
(6)Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。
所以,Spring 框架支持与 Jakarta Struts的集成。
Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
(7)Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的MVC 实现。
通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI14。
可以说 Spring 给 JEE 重新注入了活力,使那些被 EJB 弄得焦头烂额的企业看到了一线曙光,也使那些痛苦不堪的 java 程序员们又重新点燃了对 java 的希望。
2.5 本章小结 本章主要介绍了此系统中涉及的关键技术。
分为两方面,一方面是 WEB 端的技术选择,这里选用 jQuery 作为基本的 javascript 和 ajax 开发框架,采用 DHTMLX UI .