转载:http://laomaowww.blog.163.com/blog/static/166005673201082845623800/
1.1 OpenMeetings概述
OpenMeetings是一个多语言可定制的视频会议和协作系统。它支持音频、视频,能让你查看每个与会者的桌面。OpenMeetings还包含一个白板,通过白板可以导入各种格式的图片和涂鸦。OpenMeetings开发团队由来自全球各地的28位成员组成,具有很强的技术实力,团队负责人seba.wagner 同时还是另一个重要开源软件RED5的核心维护者。
OpenMeetings是一个优秀的开源项目,当然更加优秀的是支撑它的另两个开源项目:一个是大名鼎鼎的号称穷人的流媒体服务器的RED5;另一个同样也是RIA开发的顶梁柱之一:OpenLaszlo。
1.2 OpenMeetings组成
l Openmeetings是一款基于Flash的多语言可定制的开源(EPL)视频会议软件,通过RTMP和HTTP协议传送视频数据。支持在线聊天,视频,文件共享,桌面共享。它还包含一个白板,通过白板可以导入各种格式的文档、图片和涂鸦。
l 客户端用OpenLaszlo开发,在Flash player环境下运行。
l 服务器端采用Java开发,采用了Spring和Hibernate框架。
l 流媒体服务基于开源软件Red5。
l 其它的第三方辅助软件:
§ OpenOffice:文档转换
§ ImgMagic:图像处理
§ GhostScript:阅读开放性文档
§ SWFTools:将pdf文档转为flash格式在白板中播放
§ FFMpeg:录制、转换和流化音频和视频
1.3 OpenMeetings与传统的视频会议相比的优势
v 基于浏览器的网页视频会议系统;
v 客户端电脑只需Flash插件;
v 无需下载安装任何客户端;
v 入口可嵌入客户的企业网站;
v 实现视频会议、电子白板、文字聊天、文档转换和共享、屏幕共享、视频录制、后台管理等功能;
v 具备会议室、聊天室、面谈室等多种房间配置;
v 可建立公共房间、私有房间、个人房间、预约房间等多种房间模式。
1.4 OpenMeetings的特点
v 完全开源的系统
组建一套OpenMeetings,可以选择从操作系统(Linux)到数据库(MySQL)到流媒体服务器(RED5)到辅助软件(OpenOffice、FFMpeg等)到开发环境(OpenLaszlo、Eclipse)等完全开源的系统。
v 跨平台,支持多种数据库
? WIN32、Linux、Mac OS
? MySQL、Postgres、ORACLE、DB2
? 国际化
v 与各种第三方应用整合,扩展性强
? SIP Phone网关
? Single Sign On
? LDAP
1.5 功能
1.6 后台管理
v 组织管理
v 连接管理
v 房间管理
v 用户管理
v 国际化语言管理
v 系统配置管理
v 数据备份管理
1.7 平台框架
1.8 开发环境搭建
v 源代码下载:http://openmeetings.googlecode.com/svn/trunk/singlewebapp/
v JRE
v 基本IDE:Eclipse/MyEclipse
v 插件:SVN,Spket
v 第三方支持:OpenOffice.org,FFMpeg,SWFTools,ImageMagic,SoX
1.9 系统模型
上图的模型中,OpenMeetings的后台是一系列的service组成的,这些service由Java语言编写,这些service的实现类大都在包org.openmeetings.app.remote中,该包封装了大部分前后台交互的类。如文件服务、用户服务、会议服务、流服务等等。
前台是由OpenLaszlo编写lzx文件,编译完成后是一个Flash的形式(swf文件)。前后台的交互大部分通过RPC调用实现,即OpenLaszlo程序远程调用后台的Java类,也有部分回调。OpenLaszlo中RPC调用的实现可以参阅OpenLaszlo的开发指南。
前后台的交互也有少部分是通过http协议完成的,比如图片的上传和现实,文档的上传等等。这一部分与传统的B/S架构是类似,后台是Java语言编写的servlet,这些servlet位于包org.openmeetings.servlet。
1.10 技术体系层次