OA与视高会议系统集成接口.docx
《OA与视高会议系统集成接口.docx》由会员分享,可在线阅读,更多相关《OA与视高会议系统集成接口.docx(37页珍藏版)》请在冰豆网上搜索。
OA与视高会议系统集成接口
OA系统无缝集成视高视频会议解决方案
1系统架构图
1.1集成前的系统简单架构
模块说明:
●认证服务器
负责对登录会议室的每个客户端进行认证,以判断用户是否合法。
●备份认证服务器
当认证服务出现问题时,可以即时切换到备份服务器进行认证,避免用户出现不能登录使用的情况。
●会议服务器
简单的说就是负责管理客户端连接、管理会议相关数据(B/S结构,即:
会议服务器集成了Web服务器的功能。
)以及转发会议音视频数据等等。
●会议用户#n(即:
客户端)
视频会议的客户端。
●浏览器端
主要实现了对与会议相关的数据的操作。
主要包括了会议的增加、会议属性的修改及会议的删除等。
其中会议具体的配置参数,可从后面相关的接口中看到。
1.2集成后的系统简单架构
模块说明:
●系统验证模块
1.第一种认证方式:
认证服务器方式,我们提供一个验证模快,负责对登录会议室的每个客户端进行认证,以判断用户是否合法。
该模快通过配置的方式,来取得OA系统中用户的信息,从而达到验证的目的。
说明:
我们提供的认证服务器是通过配置数据源来实现的,整个配置内容保存在DBConfig.ini中,形式如下:
数据库类:
[AuthSource_DB]
AuthType=0;认证类型信息,0表示数据库认证
ServiceType=ST_CONF;会议服务器类型
ClientType=CT_CONF;会议客户端类型
DbType=3;数据库类型,0MySql1FIREBIRD2ORACLE3SQLSERVER
DbAddr=127.0.0.1;数据库服务器地址
DbPort=1433;数据库服务器端口
DbName=qsoa;数据库名字
DbUser=sa;数据库管理员帐号
DbPass=sa;数据库管理员密码
TableName=JZWFUSERS;要查找数据库中的表名
IDField=USERID;用户ID所在的字段名
NameField=LOGINNAME;用户名所在的字段名
PasswordField=PASSWORD;用户密码所在的字段名
PasswordIsMd5=0;在数据库中存放的密码是否为MD5码,0表示未经过加密,1表示已加密
DbConnCount=10;最小数据库连接数
DbMaxConnCount=20;最大数据库连接数
FunName=GetPassword;函数名
DllName=dll.dll;解密DLL名字
IsEncrypt=0;是否使用DLL函数解密,0表示不使用,1表示使用
文件类:
[AuthSource_INI]
AuthType=1;认证类型信息,1表示文件方式认证
ServiceType=ST_CONF;服务器类型,ST_CONF表示会议服务器
ClientType=CT_CONF;客户端类型,CT_CONF表示会议客户端
PasswordIsMd5=0;在数据库中存放的密码是否为MD5码,0表示未经过加密,1表示已加密
FileName=.\UserInfo.ini;文件所在路径
FunName=GetPassword;函数名
DllName=dll.dll;解密DLL名字
IsEncrypt=0;是否使用DLL函数解密,0表示不使用,1表示使用
UserInfo.ini格式如下:
[User1]
UserId=用户ID(可缺省)
Name=用户名
Pwd=123用户密码
[User2]
UserId=
Name=qqq
Pwd=qqq
原理:
认证服务器通过配置文件连接数据库,当用户登录时候,认证服务器会接收到登录用户的信息,通过数据库进行验证,验证成功后,用户进入会议室。
解密函数原型:
typedefvoid(*GetPassword)(constchar*Cryptograph,char*NewPwd);
2.第二种认证方式:
LDAPServer方式,即轻型目录服务器认证
[AuthSource_LDAP]
AuthType=2;认证类型信息,其他支持ldap协议访问目录的认证
ServiceType=ST_CONF;服务器类型,ST_CONF表示会议服务器
ClientType=CT_CONF;客户端类型,CT_CONF表示会议客户端
RootName=o=tcl,c=cn;目录根结点的名字
HostName=192.168.1.10;目录服务器所在主机地址
HostPort=389;目录服务器端口号
MgrAccount=cn=Manager,o=tcl,c=cn;访问目录的管理员帐号
MgrPassWord=secret;管理员密码
objectClass=inetOrgPerson;要访问的组织对象节点
UserIdField=uid;用户ID的字段名
UserNameField=cn;用户名字的字段名
UserPwdField=userPassword;用户密码的字段名
PasswordIsMd5=0;在数据库中存放的密码是否为MD5码,0表示未经过加密,1表示已加密
FunName=GetPassword;函数名
DllName=dll.dll;解密DLL名字
IsEncrypt=0;是否使用DLL函数解密,0表示不使用,1表示使用
3.第三种认证方式:
AD认证,即活动目录服务认证
[AuthSource_AD]
AuthType=3;认证类型信息,3表示AD认证
ServiceType=ST_CONF;服务器类型,ST_CONF表示会议服务器
ClientType=CT_CONF;客户端类型,CT_CONF表示会议客户端
RootName=dc=zjhz,dc=seegle,dc=com;活动目录根结点的名字
HostName=192.168.1.10;活动目录服务器所在主机地址
HostPort=389;活动目录服务器端口号
objectClass=User;用户所在目录中的组织名
UserSIdField=objectSid;用户条目中存放SID的属性名
UserNameField=cn;用户条目中存放用户名字的属性名
PasswordIsMd5=0;在数据库中存放的密码是否为MD5码,0表示未经过加密,1表示已加密
FunName=GetPassword;函数名
DllName=dll.dll;解密DLL名字
IsEncrypt=0;是否使用DLL函数解密,0表示不使用,1表示使用
4.第四种认证方式,临时密码认证,是由我们视频会议的认证模快和OA提供的认证模快来共同完成认证的过程。
●OA系统其它模块
略
●会议服务器
简单的说就是负责管理客户端连接、管理会议相关数据(B/S结构,即:
会议服务器集成了Web服务器的功能。
)以及转发会议音视频数据等等。
●会议用户#n(即:
客户端)
视频会议的客户端。
●OA系统中的会议管理模块
主要实现了对与会议相关的数据的操作。
主要包括了会议的增加、会议属性的修改及会议的删除等。
其中会议具体的配置参数,可从后面相关的接口中看到。
1.3变化分析
通过对上面集成前后的简单架构图的比对中,可以看出以下不同处:
●认证模块的变化。
1、集成前由视频会议的认证服务器负责认证。
2、集成后由我们新提供的认证服务器负责认证或者集由OA系统的认证服务器负责认证,两种方式选其一,其中我们新提供的认证服务器包括了数据库,文件,LDAPServer,AD四种接口。
●OA系统中新增了会议管理模块。
1、集成前视频会议系统本身提供了一个Web方式会议管理功能。
2、集成后则需要把会议管理的功能移入OA系统中。
3、OA根据我们提供的接口,来实现一个类似于视频会议集成前的那个Web会议管理功能。
根据上面分析,分别需要OA系统、视频会议系统提供如下接口:
●OA系统
1、新增会议管理模块。
主要负责通过视频会议服务器对会议进行管理。
如新增会议(包括了会议编号、会议名称、会议模式、会议人数、会议的起止时间等等)、修改会议属性、删除会议等等;
●视频会议系统
主要提供上面提到的会议管理模块的相关接口。
详细的接口说明参见本文后面的第三方系统接口。
2第三方系统(ThirdSystem简写:
TS)接口
✧认证接口
1.TS请求ConfSrv认证。
协议:
HTTPPOST
格式:
http:
//域名/ts.req?
type=0
数据格式:
xmlversion="1.0"encoding="UTF-8"?
>
User
Pass
2.ConfSrv进行验证并返回验证结果。
数据格式:
xmlversion="1.0"encoding="UTF-8"?
>
xxxxxxxxxxxxxxxxxxxxxxxxx
返回码
返回码对应信息
说明:
返回码说明:
0表示成功非零表示失败。
seq在后续请求中必须上传。
✧获取会议列表
1.TS获取会议列表。
格式:
http:
//域名/ts.req?
type=1
数据格式:
xmlversion=”1.0”encoding=”UTF-8”?
>
xxxxxxxxxxxxxxxxxxxxxxxx
2.ConfSrv收到该请求后,首先要根据seq来判断一下超时问题。
超时则返回:
xmlversion="1.0"encoding="UTF-8"?
>
非零值
登录已经超时,请重新登录。
正常则返回:
xmlversion="1.0"encoding="UTF-8"?
>
会议ID
会议名称
主/从会议
是否在会议列表中隐藏
是否允许任何人参加
是否锁定会议
会议创建人
是否与会者
是否是会议相关人员
自动清空会议数据
自动录制会议
自动保存上传文件
当前在线人数
最大与会人数
会议开始时间
会议结束时间
会议ID
会议名称
主/从会议
是否在会议列表中隐藏
是否允许任何人参加
是否锁定会议
会议创建人
是否与会者
是否是会议相关人员
自动清空会议数据
自动录制会议
自动保存上传文件
当前在线人数
最大与会人数
会议开始时间
会议结束时间
...............
说明:
上面数据中的需要在后续的操作中传回服务器进行验证。
因此后续所有操作必须有标签。
✧增加会议
1.TS增加会议。
格式:
http:
//域名/ts.req?
type=2
2.ConfSrv收到该请求后,首先要根据seq来判断一下超时问题。
请求数据格式:
xmlversion=”1.0”encoding=”UTF-8”?
>
xxxxxxxxxxxxxxxxxxxxxxxx
65535说明:
id为65535时系统自动分配。
会议名称
会议描述
会议密码
会议密码确认
是否在会议列表中隐藏
主从会议说明:
如果为主会议,下面必填,从会议不填。
2007-03-1616:
33:
02
2007-04-1516:
33:
02
最大与会人数
最大游客人数
最大主席人数
计费模式
付款人
收款人
资费标准
是否允许任何人参加
是否锁定会议
自动清空会议数据
自动录制会议
自动保存上传文件
上级会议IP说明:
如果为从会议,下面必填,主会议不填
上级会议端口
上级会议ID
xxxxxx
xxxxxx
超时则返回:
xmlversion="1.0"encoding="UTF-8"?
>
非零值
登录已经超时,请重新登录。
增加成功返回:
xmlversion="1.0"encoding="UTF-8"?
>
新增会议的ID
0
增加成功
说明:
上面数据中出了必填外,其它可以只传增加了的数据,未传的数据以系统缺省值保存。
✧修改主会议属性一
1.TS修改主会议属性一。
格式:
http:
//域名/ts.req?
type=3
2.ConfSrv收到该请求后,首先要根据seq来判断一下超时问题。
请求数据格式:
xmlversion=”1.0”encoding=”UTF-8”?
>
xxxxxxxxxxxxxxxxxxxxxxxx
会议ID唯一标识,不允许修改。
会议名称
会议描述
是否允许任何人参加
是否在会议列表中隐藏
是否锁定会议
自动清空会议数据
自动录制会议
自动保存上传文件
说明:
上面数据中出了必填外,其它可以只传修改了的数据,未修改的可以不必传。
超时则返回:
xmlversion="1.0"encoding="UTF-8"?
>
非零值
登录已经超时,请重新登录。
修改成功返回:
xmlversion=”1.0”encoding=”UTF-8”?
>
0
修改成功
✧修改主会议属性二
1.TS修改主会议属性二。
格式:
http:
//域名/ts.req?
type=4
2.ConfSrv收到该请求后,首先要根据seq来判断一下超时问题。
请求数据格式:
xmlversion=”1.0”encoding=”UTF-8”?
>
xxxxxxxxxxxxxxxxxxxxxxxx
会议ID唯一标识,不允许修改。
最大与会人数
最大游客人数
最大主席人数
会议开始时间
会议结束时间
计费模式
付款人
收款人
资费标准
说明:
上面数据中出了必填外,其它可以只传修改了的数据,未修改的可以不必传。
超时则返回:
xmlversion="1.0"encoding="UTF-8"?
>
非零值
登录已经超时,请重新登录。
修改成功返回:
xmlversion=”1.0”encoding=”UTF-8”?
>
0
修改成功
✧修改会议密码
1.TS修改会议密码。
格式:
http:
//域名/ts.req?
type=5
2.ConfSrv收到该请求后,首先要根据seq来判断一下超时问题。
请求数据格式:
xmlversion=”1.0”encoding=”UTF-8”?
>
xxxxxxxxxxxxxxxxxxxxxxxx
会议ID唯一标识,不允许修改。
会议旧密码
会议新密码
会议新密码确认
说明:
上面数据中出了必填外,其它可以只传修改了的数据,未修改的可以不必传。
超时则返回:
xmlversion="1.0"encoding="UTF-8"?
>
非零值
登录已经超时,请重新登录。
修改成功返回:
xmlversion=”1.0”encoding=”UTF-8”?
>
0
修改成功
✧删除会议
1.TS删除会议。
格式:
http:
//域名/ts.req?
type=6
2.ConfSrv收到该请求后,首