您现在的位置: 论文网 >> 工商管理论文 >> 企业研究论文 >> 基于JMS的企业即时通讯系统的设计论文

基于JMS的企业即时通讯系统的设计

出处:论文网
时间:2015-09-06

基于JMS的企业即时通讯系统的设计

  一、引言

  即时通讯是一种基于网络的即时交流消息的业务。一些企业基于安全的考虑或联网的限制,需要在其内部搭建即时通讯平台。而实际应用中,中小企业往往不需要特别多的功能,市面上的即时通讯工具中有近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主题,以获取其他用户的状态消息。

  4.2.1 用户基础操作

  用户基础操作包括用户登录、用户信息维护、好友信息查询等。业务流程如下:

  1、客户端向ServerQueue队列发送用户操作请求消息,消息体中携带操作类型、操作必要信息,比如用户编号、用户密码等;2、服务器端业务模块接收到消息并进行处理,将处理结果封装成响应消息,发送到该用户的队列;3、客户端接收响应消息,进行解析和处理。

  4.2.2 人员组织同步

  人员组织结构包括企业部门列表,以及各部门员工列表。业务流程如下:

  1、用户登录成功之后,服务器向该用户队列发送组织员工同步消息,消息体携带组织列表和员工列表信息;2、客户端接收消息,显示在用户界面。   4.2.3 用户状态呈现

  状态呈现指用户上下线后在客户端界面的用户状态的即时改变。业务流程如下:

  1、用户进行状态操作之后(上线、忙碌、离开、离线),客户端向Status主题发布状态呈现消息,消息体携带用户当前状态;2、客户端每隔60秒向Status主题发布当前状态;3、客户端接收到好友状态消息,在用户界面进行呈现;4、在60秒之内没有接收到好友的状态消息,则判断该好友处于离线状态。

  4.2.4 即时聊天

  即时聊天指用户之间实时的交流,包括点对点聊天和群组聊天。业务流程如下:

  1、用户选择好友,输入聊天内容并点击发送后,客户端向对方队列发送即时聊天消息,消息体携带发言用户编号、聊天内容等信息,并将聊天内容保存到本地数据库;2、用户创建或选择群组(群组信息由创建者生成),输入聊天内容并点击发送后,客户端向群组内所有好友的队列发送群组聊天消息,消息体携带群组编号、群组名称、群组成员、发言用户编号、聊天内容等信息,并进行保存;3、客户端接收聊天消息,在界面进行显示并保存。

  4.2.5 通知推送

  通知推送指用户对一个或若干部门内所有用户发布通知消息,并接收已读回执。业务流程如下:

  1、用户选择部门,输入通知内容并点击发送后,向该部门内所有用户的队列发送通知消息,消息体携带通知编号、发布者编号、通知内容等信息,并保存到本地数据库;2、客户端接收通知消息,显示并保存;3、用户点击阅读后,客户端向通知发布者的队列发送通知回执消息,消息体携带通知编号、接收者编号等信息。

  4.3 系统数据库设计

  系统数据库包括服务器端数据库和客户端数据库两部分。服务端数据库维护系统中所有员工和组织的基本信息;客户端数据库维护群组记录、聊天记录和通知记录等信息。

  服务器端员工基本信息表包含用户编号、用户登录密码、用户显示名称、用户部门与岗位以及用户个人信息(性别、联系方式等)。组织基本信息表包含企业内的部门列表。系统管理员可以通过后台管理页面对组织员工信息进行维护,进行添加、修改和删除操作。

  客户端聊天记录表包含聊天消息收发者、聊天内容、聊天时间、群组编号等信息。群组记录表包含群组编号、群组名称、群组成员等信息。通知记录表包含通知收发者、通知内容、通知回执信息等。

  五、系统测试

  即时通讯系统客户端与后台管理界面如图2所示。

  六、结束语

  结合一般的即时通讯工具的优缺点,并考虑企业用户的实际需求,本文使用JMS技术设计了一种企业即时通讯系统。本系统除了用户即时聊天、好友状态呈现等基础服务,还有组织员工同步、通知消息推送、系统后台管理等特有服务,很好的满足了企业用户的需要,有效地促进员工交流沟通,提高企业工作效率。

基于JMS的企业即时通讯系统的设计

论文搜索
关键字:企业 系统 设计 JMS
最新企业研究论文
企业净资产收益率的提升途径分析——以中国
企业员工知识共享激励机制研究探讨
国有企业混改过程中存在的问题及对策探讨
人力资源管理促进企业绩效提升的探讨
试论企业绩效的优化管理
浅谈体育企业的社会责任履行
关于人力资源在企业中的合理配置与管理研究
互联网时代如何提高纺织企业的销售管理
新媒体在国有企业新闻宣传中的实践和思考
基于价值链的高新技术企业成本控制方法研究
热门企业研究论文
民营中小企业可持续发展与制度创新
完善企业内部控制体系的思考
中小企业营销过程中的信用风险及其防范
我国高星级酒店服务质量研究
我国中小企业品牌战略实施研究
谈中小企业内部控制制度
人为本——论国有企业改革
浅析企业内部货币资金的控制与监管
国有大中型企业内部控制:问题、成因及对策
浅谈企业并购