- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JMS企业即时通讯系统设计
基于JMS企业即时通讯系统设计 【摘要】 为了提高企业工作效率,促进员工之间合作沟通,在研究J MS(J ava消息服务)技术的基础上,本文设计了一种企业即时通讯系统。考虑实际应用中的需要,提出了员工编号登录、组织人员同步、通知获取回执等设计方案。本文详细介绍了企业即时通讯系统的总体架构,系统消息规范,以及系统工作流程。 【关键词】 即时通讯 J MS 消息 XML 一、引言 即时通讯是一种基于网络的即时交流消息的业务。一些企业基于安全的考虑或联网的限制,需要在其内部搭建即时通讯平台。而实际应用中,中小企业往往不需要特别多的功能,市面上的即时通讯工具中有近80%的功能很少被使用,部分功能甚至从未被用到。此外,这些通讯工具也存在一些不足,比如手工添加好友不仅繁琐且容易遗漏,没有提供可靠的通知服务等等[1]。本文使用JMS技术设计搭建了一种适用于企业用户的即时通讯系统。 二、JMS技术概述 JMS是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java 应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发[2]。 JMS 定义了以下几种元素[3]:(1) JMS提供者:实现JMS规范的消息队列和通知等接口,对外提供消息服务;(2)JMS客户:生产或消费基于消息的Java应用程序或对象;(3)JMS生产者:创建并发送消息的JMS客户;(4)JMS消费者:接收消息的JMS客户;(5)JMS消息:JMS 客户之间传递的数据对象。 此外,JMS还定义了以下两种消息传输模型[3]:(1)队列模型:通过队列分发消息,用来解决生产者和消费者之间点到点的通信;(2)发布/订阅者模型:支持向一个特定的消息主题发布消息,可被一个或多个消费者订阅。 三、系统总体设计 即时通讯系统主要包括即时信息和状态呈现两大核心服务[4],以及用户登录、用户信息维护、查看好友信息等基础服务。结合一般的即时通讯工具,并考虑到企业用户的需求,本文设计的系统还具有以下特点:1、用户可以使用企业员工编号直接登录,无需注册;2、企业组织结构和员工列表自动同步到客户端,不用手工添加好友;3、提供通知推送服务,并为每条通知提供已读回执;4、管理员可以通过系统后台对系统数据进行维护。 本文设计的系统在网络架构上分为客户端和服务器端两部分,在软件开发模式上又可分为三层:表现层、逻辑层和数据层。系统体系结构如图1所示。 1、表现层:表现层是系统的用户界面部分,负责将用户操作传递给逻辑层,并同时接收逻辑层的信息。主要包括PC客户端界面和后台管理Web界面。 2、逻辑层:逻辑层主要负责处理系统业务,是整个系统的核心。其包含消息分发部分和业务处理部分。前者负责创建和分发JMS消息,后者负责接收和处理JMS消息。在具体实现时,客户端和服务器端均有相应的消息模块和业务模块:客户端的消息模块创建、发送和接收JMS消息,业务模块处理JMS消息和响应用户操作;服务器端的消息模块充当JMS提供者来分发JMS消息,业务模块接收并处理特定的消息。此外逻辑层还包含后台管理部分,提供Web服务以便管理员进行系统管理。 3、数据层:数据层负责完成系统中数据的定义、维护、访问和更新,同时管理并响应逻辑层的数据请求。包括服务器端的MySQL数据库和客户端的SQLite数据库。数据库中维护有组织员工信息、聊天记录、通知记录等数据。 四、系统详细设计 4.1 系统通信消息设计 系统中各模块之间通过JMS消息进行通信。为了进行有效的交互,通信双方需要遵循一定的协议[5]。本文对JMS消息做以下规范:1、按照功能不同,对JMS消息进行分类。2、不同消息携带相应内容的消息体;3、消息体均采用TextMessage类型,并按照XML标准对内容进行组织。 系统中消息具体分为三类:(1)即时信息:包括即时聊天消息、群组聊天消息、通知消息与通知回执消息;(2)状态呈现:状态呈现消息;(3)基础操作:包括组织人员同步消息、用户登录请求与响应消息、用户信息维护请求与响应消息、好友信息查询请求与响应消息。 4.2 系统业务流程设计 服务器启动之后,其消息模块作为JMS提供者开启JMS服务,等待接收和分发客户端发来的JMS消息,而其业务模块开始监听ServerQueue队列,等待处理用户操作消息。 客户端启动之后,其消息模块作为JMS客户连接服务器,对登录用户编号的队列进行监听,等待接收服务器或其他用户发来的消息,而其业务模块除了要等待处理收到的消息,还要对用户在客户端界面上的操作进行响应,调用消息模块接口创建和发送消息。用户成功登录并同步列表之后,客户端还需订阅Status主题,以获取其他用户的状态消息。
文档评论(0)