消息推送技术方案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.3 预期读者与阅读建议
本文的目标读者是项目管理人员,系统分析人员,高级开发人员以及系统测试经理
1.4 术语、首字母缩写
无
1.5 参考资料
1. XMPP 客户端标准协议(XEP-0211) 2. XMPP 服务器标准协议 RFC3920 核心协议 Core 3. XMPP 服务器标准协议 RFC3921 即时消息和出席协议 Instant Messaging and
3
消息推送设计说明书
1 引言
1.1 目的
全方位分析企业 IM 系统的业务场景和技术体系,多维度考虑 IM 系统如何良好的与企 业现有系统进行无缝集成,同时最大可能考虑节省投入成本和缩短建设周期。
1.2 范围
本文档从业务和架构两个层面描述系统,对各个模块,子系统之间的依赖关系和主要 消息流程进行说明,不详细提供各个模块,子系统内部的具体实现。
3.1 用例设计 ............................................................................................................... 3 3.2 关键业务场景 ....................................................................................................... 4 3.3 关键约束 ............................................................................................................... 8 4 技术方案 ........................................................................................................................... 9 4.1 总体设计 ............................................................................................................... 9 4.2 服务器端 ............................................................................................................. 11 4.3 JS 客户端.............................................................................................................. 11 4.4 原生态客户端 ..................................................................................................... 15 5 XMPP 交流协议定义 ...................................................................................................... 15 6 与第三方 IM 系统整合 .................................................................................................. 17
2 设计原则及约束 ............................................................................................................... 2 3 需求 ................................................................................................................................... 3
消息推送设计说明书
企业 IM 消息系统技术方案
云南移动 EIP 项目组
2013 年 08 月 15 日
1
消息推送设计说明书
文档修改历史
日期 2014-08-14
创 建 / 修 改 文档版本 人
V1.0
修改描述
2
消息推送设计说明书
目录
1 引言 ................................................................................................................................... 1 1.1 目的 ....................................................................................................................... 1 1.2 范围 ....................................................................................................................... 1 1.3 预期读者与阅读建议 ........................................................................................... 1 1.4 术语、首字母缩写 ............................................................................................... 1 1.5 参考资料 ............................................................................................................... 1
返回查询结果
收到好友添加指令 发送消息给好友
收到同意指令
更新双方好友列表
发送消息给添加人
(Openfire)
5
3.2.4 创建兴趣群组
创建兴趣群组
云 移 资 讯
消息推送设计说明书
进入我的群组列表
IM
客
户 端
点击右上角添加按钮
弹出群组基本信息 录入界面
输入基本信息
点击提交按钮
通
收到群组创建指令
信
服
务
器
保存群组信息
显示用户群组列表
返回用户群组列表 更新用户群组列表
(Openfire)
3.2.5 群组主动添加人员
群组主动添加人员
云 移 资 讯
进入我的群组列表
IM
客
选择群组
户
端
点击添加按钮
显示企业通讯录
继续导航或查询
NO YES
结果合适?
显示导航或查询结果
选择好友添加 弹出消息给好友
同意?
点击同意
显示最新成员列表
广播用户离线消息
4
消息推送设计说明书
3.2.3 添加好友
添加好友
云 移 资 讯
进入好友列表界面
IM
客
户
端
点击右上角添加按钮
继续导航或查询
NO
YESቤተ መጻሕፍቲ ባይዱ
结果合适?
显示企业通讯录
显示导航或查询结果
选择好友添加 弹出消息给好友
关闭消息框
同意?
点击同意
开始聊天 收到同意消息
通 收到通讯录导航指令
信
服
务
器
查询EIP LDAP
1
2 设计原则及约束
消息推送设计说明书
要充分发挥移动应用的内在潜力,挖掘应用深度和扩大适应能力,需要采用先进的应 用架构和以实用为根本准则,使得系统既能满足业务需求,又能适应将来发展需要。因 此,在开发移动应用系统时需要尽量遵循互联网应用系统设计原则。
实用性原则:这是所有应用软件最基本的原则,直接衡量系统的成败,每一个提交到 用户手中的系统都应该是实用的,能解决用户的实际问题,否则该设计就是垃圾。
总体规划、分层实施原则:在开始设计之前应该对移动应用系统进行总体设计,然后 在总体设计指导下分步开发。基于 J2EE 技术的应用系统是一个融合了多元信息的集成系 统,现在一般都采用分层开发:表现层、控制层、业务逻辑层、模型层、数据访问层等, 在适应系统需求的准则下,设计低耦合的分层结构,利于团队成员的分工协作,提高开发 效率,降低项目风险,实现各个模块的功能设计,完成整个系统的开发。
讯
点击企业IM菜单
进入IM界面
客 户 端
发送用户信息
通
信
服
收到用户信息
务
器
收到好友和群组列表 和对应离线消息个数
显示好友和群组列表
检索用户好友和群组
检索离线消息个数
3.2.2 登出
登出
云 移 资 讯
IM
客
进入好友列表界面
点击左上角返回按钮
发送登出指令
户
端
(Openfire)
通 信
收到登出指令
服
务
器
进入导航菜单页面
<<uses>>
企业员工 <<extends>>
<<uses>>
发送音频文件
<<extends>>
选择好友 选择群组
接收信息 <<extends>>
收听音频文件
浏览历史聊天信息
3
3.2 关键业务场景 3.2.1 登录
IM客户端登录处理
消息推送设计说明书
IM
(Openfire)
云
移
登录云移资讯系统
资
可维护性和可管理性原则:Web 系统应该有一个完善的管理机制,而可维护性和可管理 性是重要的两个指标。
安全性原则:现在的计算机病毒几乎都来自于网络,Web 应用应尽量采用五层安全体 系,即网络层安全、系统安全、用户安全、用户程序的安全和数据安全。系统必须具备高 可靠性,对使用信息进行严格的权限管理,技术上,应采用严格的安全与保密措施,保证 系统的可靠性、保密性和数据一致性等。
弹出群组列表页面
Presence 4. XMPP 服务器标准协议 XEP-0030 服务发现 Service Discovery 5. Openfire 官方文档(http://www.igniterealtime.org/projects/openfire/documentation.jsp ) 6. JSJac 官方文档(https://github.com/sstrigler/JSJaC ) 7. Strophe 官方文档(http://strophe.im/strophejs/doc/1.1.3/files/strophe-js.html )
收到群组成员列表 更新消息
收到通讯录导航指令
通 信 服 务 查询EIP LDAP 器
收到好友添加指令
返回查询结果
发送消息给好友
收到同意指令
更新好友和群组关系
广播消息给群组人员
(Openfire)
6
消息推送设计说明书
3.2.6 好友申请加入群组
好友主动申请加入群组
云 移 资 讯
进入我的群组列表
IM
客
2
3 需求 3.1 用例设计
消息推送设计说明书
登录/登出
添加/删除好友
共享文件
<<extends>> <<extends>>
<<extends>>
<<extends>>
创建/删除兴趣群组
发送图片
<<extends>>
<<extends>>
加入或退出群组
发送文本信息
<<extends>> <<extends>>
适应性和可扩展性原则:系统需要具备一定的适应能力,特别是移动应用要能适应于 多种运行环境,来应对未来变化的环境和需求。可扩展性主要体现在系统易于扩展,例如 可以采用分布式设计、系统结构模块化设计,系统架构可以根据网络环境和用户的访问量 而适时调整,从某种程度上说,这也是系统的适应性。
可靠性原则:系统应该是可靠的,在出现异常的时候应该有人性化的异常信息方便用 户理解原因,或采取适当的应对方案,在设计业务量比较大的时候可采用先进的嵌入式技 术来保证业务的流畅运行。
本文的目标读者是项目管理人员,系统分析人员,高级开发人员以及系统测试经理
1.4 术语、首字母缩写
无
1.5 参考资料
1. XMPP 客户端标准协议(XEP-0211) 2. XMPP 服务器标准协议 RFC3920 核心协议 Core 3. XMPP 服务器标准协议 RFC3921 即时消息和出席协议 Instant Messaging and
3
消息推送设计说明书
1 引言
1.1 目的
全方位分析企业 IM 系统的业务场景和技术体系,多维度考虑 IM 系统如何良好的与企 业现有系统进行无缝集成,同时最大可能考虑节省投入成本和缩短建设周期。
1.2 范围
本文档从业务和架构两个层面描述系统,对各个模块,子系统之间的依赖关系和主要 消息流程进行说明,不详细提供各个模块,子系统内部的具体实现。
3.1 用例设计 ............................................................................................................... 3 3.2 关键业务场景 ....................................................................................................... 4 3.3 关键约束 ............................................................................................................... 8 4 技术方案 ........................................................................................................................... 9 4.1 总体设计 ............................................................................................................... 9 4.2 服务器端 ............................................................................................................. 11 4.3 JS 客户端.............................................................................................................. 11 4.4 原生态客户端 ..................................................................................................... 15 5 XMPP 交流协议定义 ...................................................................................................... 15 6 与第三方 IM 系统整合 .................................................................................................. 17
2 设计原则及约束 ............................................................................................................... 2 3 需求 ................................................................................................................................... 3
消息推送设计说明书
企业 IM 消息系统技术方案
云南移动 EIP 项目组
2013 年 08 月 15 日
1
消息推送设计说明书
文档修改历史
日期 2014-08-14
创 建 / 修 改 文档版本 人
V1.0
修改描述
2
消息推送设计说明书
目录
1 引言 ................................................................................................................................... 1 1.1 目的 ....................................................................................................................... 1 1.2 范围 ....................................................................................................................... 1 1.3 预期读者与阅读建议 ........................................................................................... 1 1.4 术语、首字母缩写 ............................................................................................... 1 1.5 参考资料 ............................................................................................................... 1
返回查询结果
收到好友添加指令 发送消息给好友
收到同意指令
更新双方好友列表
发送消息给添加人
(Openfire)
5
3.2.4 创建兴趣群组
创建兴趣群组
云 移 资 讯
消息推送设计说明书
进入我的群组列表
IM
客
户 端
点击右上角添加按钮
弹出群组基本信息 录入界面
输入基本信息
点击提交按钮
通
收到群组创建指令
信
服
务
器
保存群组信息
显示用户群组列表
返回用户群组列表 更新用户群组列表
(Openfire)
3.2.5 群组主动添加人员
群组主动添加人员
云 移 资 讯
进入我的群组列表
IM
客
选择群组
户
端
点击添加按钮
显示企业通讯录
继续导航或查询
NO YES
结果合适?
显示导航或查询结果
选择好友添加 弹出消息给好友
同意?
点击同意
显示最新成员列表
广播用户离线消息
4
消息推送设计说明书
3.2.3 添加好友
添加好友
云 移 资 讯
进入好友列表界面
IM
客
户
端
点击右上角添加按钮
继续导航或查询
NO
YESቤተ መጻሕፍቲ ባይዱ
结果合适?
显示企业通讯录
显示导航或查询结果
选择好友添加 弹出消息给好友
关闭消息框
同意?
点击同意
开始聊天 收到同意消息
通 收到通讯录导航指令
信
服
务
器
查询EIP LDAP
1
2 设计原则及约束
消息推送设计说明书
要充分发挥移动应用的内在潜力,挖掘应用深度和扩大适应能力,需要采用先进的应 用架构和以实用为根本准则,使得系统既能满足业务需求,又能适应将来发展需要。因 此,在开发移动应用系统时需要尽量遵循互联网应用系统设计原则。
实用性原则:这是所有应用软件最基本的原则,直接衡量系统的成败,每一个提交到 用户手中的系统都应该是实用的,能解决用户的实际问题,否则该设计就是垃圾。
总体规划、分层实施原则:在开始设计之前应该对移动应用系统进行总体设计,然后 在总体设计指导下分步开发。基于 J2EE 技术的应用系统是一个融合了多元信息的集成系 统,现在一般都采用分层开发:表现层、控制层、业务逻辑层、模型层、数据访问层等, 在适应系统需求的准则下,设计低耦合的分层结构,利于团队成员的分工协作,提高开发 效率,降低项目风险,实现各个模块的功能设计,完成整个系统的开发。
讯
点击企业IM菜单
进入IM界面
客 户 端
发送用户信息
通
信
服
收到用户信息
务
器
收到好友和群组列表 和对应离线消息个数
显示好友和群组列表
检索用户好友和群组
检索离线消息个数
3.2.2 登出
登出
云 移 资 讯
IM
客
进入好友列表界面
点击左上角返回按钮
发送登出指令
户
端
(Openfire)
通 信
收到登出指令
服
务
器
进入导航菜单页面
<<uses>>
企业员工 <<extends>>
<<uses>>
发送音频文件
<<extends>>
选择好友 选择群组
接收信息 <<extends>>
收听音频文件
浏览历史聊天信息
3
3.2 关键业务场景 3.2.1 登录
IM客户端登录处理
消息推送设计说明书
IM
(Openfire)
云
移
登录云移资讯系统
资
可维护性和可管理性原则:Web 系统应该有一个完善的管理机制,而可维护性和可管理 性是重要的两个指标。
安全性原则:现在的计算机病毒几乎都来自于网络,Web 应用应尽量采用五层安全体 系,即网络层安全、系统安全、用户安全、用户程序的安全和数据安全。系统必须具备高 可靠性,对使用信息进行严格的权限管理,技术上,应采用严格的安全与保密措施,保证 系统的可靠性、保密性和数据一致性等。
弹出群组列表页面
Presence 4. XMPP 服务器标准协议 XEP-0030 服务发现 Service Discovery 5. Openfire 官方文档(http://www.igniterealtime.org/projects/openfire/documentation.jsp ) 6. JSJac 官方文档(https://github.com/sstrigler/JSJaC ) 7. Strophe 官方文档(http://strophe.im/strophejs/doc/1.1.3/files/strophe-js.html )
收到群组成员列表 更新消息
收到通讯录导航指令
通 信 服 务 查询EIP LDAP 器
收到好友添加指令
返回查询结果
发送消息给好友
收到同意指令
更新好友和群组关系
广播消息给群组人员
(Openfire)
6
消息推送设计说明书
3.2.6 好友申请加入群组
好友主动申请加入群组
云 移 资 讯
进入我的群组列表
IM
客
2
3 需求 3.1 用例设计
消息推送设计说明书
登录/登出
添加/删除好友
共享文件
<<extends>> <<extends>>
<<extends>>
<<extends>>
创建/删除兴趣群组
发送图片
<<extends>>
<<extends>>
加入或退出群组
发送文本信息
<<extends>> <<extends>>
适应性和可扩展性原则:系统需要具备一定的适应能力,特别是移动应用要能适应于 多种运行环境,来应对未来变化的环境和需求。可扩展性主要体现在系统易于扩展,例如 可以采用分布式设计、系统结构模块化设计,系统架构可以根据网络环境和用户的访问量 而适时调整,从某种程度上说,这也是系统的适应性。
可靠性原则:系统应该是可靠的,在出现异常的时候应该有人性化的异常信息方便用 户理解原因,或采取适当的应对方案,在设计业务量比较大的时候可采用先进的嵌入式技 术来保证业务的流畅运行。