基于JMS的企业即时通讯系统的设计_第1页
基于JMS的企业即时通讯系统的设计_第2页
基于JMS的企业即时通讯系统的设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于JMS的企业即时通讯系统的设计基于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系统数据库设计

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

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

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

五、系统测试

即时通讯系统客户端与后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论