文档介绍:目录
摘要: 1
关键字: 1
1 引言 1
选题的背景和意义 1
技术概要 1
Rational 统一过程 2
系统需求和开发环境 2
2 需求分析 3
软件系统概述 3
软件系统功能简介 3
3 概要设计 3
概要设计简介 3
用例图 4
边界分析图 4
4 详细设计 5
总体架构 5
服务端设计 6
ChatUserSessionBean的实现 6
PlutoDataStorage的实现 8
PlutoMessageEngine的实现 8
数据库设计 9
客户端设计 10
clientcore 11
swingui 13
客户端UI设计 14
5 本系统的架构分析 15
Java消息服务-JMS 15
JMS消息的组成 16
JMS消息传递模式 17
JMS在本系统的实现 17
致谢 18
参考文献 19
附录 19
ABSTRACT 21
KEY WORDS: 21
即时通信系统的设计与实现
摘要:
局域网即时通信是一个企业内部进行组织和交流的重要工具。本文严格按照Rational统一过程构建了一个即时通信系统,重点研究了规范的软件架构过程及关键技术JMS、JMX、EJB和Mbean在本系统中的应用,通过数据包在局域网中的传送、信息处理任务在服务器和客户端的合理分配实现了高效的即时信息交流,提高了企业内部的信息安全性,节约了成本,在企业管理中有重要的应用价值。
关键字:
即时通信;统一建模语言;统一软件开发过程;Java消息服务
1 引言
选题的背景和意义
根据来自Osterman Research的调查报告,已经有84%的企业的网络中使用了不同形式的即时信息软件,到2007年,即时信息软件的使用将会遍及所有的企业[1]。不同于QQ、MSN等即时通信软件,在局域网内部构建的即时通讯系统以其易用性、安全性、实时交互、资费低廉等优点,被越来越多的企业所青睐,极大降低了公司的管理成本,把公司的管理提高到了一个新的层次。本文提供的即时通信系统是微盟电子公司的一个titan项目的子项目,由本人和另外两位公司新员工在经验丰富的软件工程师的耐心指导下完成。本系统的整个开发过程严格按照软件工程的规范进行,以提高开发效率、降低软件维护难度,增强软件的可扩展性。
技术概要
本即时通信工具的开发采用目前最流行的Java语言及相关的Swing技术、J2EE技术、EJB技术、JMX技术、MBean技术(managed bean)和JMS技术(Java Message Server)。总体采用3层的客户机/服务器(C/S)模型进行设计,包括:数据库服务器,应用程序服务器端,应用程序客户端。
Java的可移植性是其广为流行的最大优势,也是本系统选用它作为开发语言和开发平台的原因;使用其
Swing控件开发的用户图形界面简洁明了,美观方便;在各个层次的组件划分中还使用到了J2EE和EJB,分别对各个层次的消息进行处理。同时对框架结构的管理采用的是JMX,MBean负责客户端和服务器的会话连接管理,但其状态维护由EJB负责。消息的发送与接收通过Java消息服务JMS实现。JMS为每个用户建立自己的消息队列,通过消息队列给在线用户发送接收到的消息。[2] [3]
Rational 统一过程
统一建模语言(Unified Modeling Language ,UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML 是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法[4]。Rational 统一过程(Rational Unified Process,RUP) 是Rational软件公司(UML的诞生地,已经被IBM并购)创造的软件设计方法学, 与敏捷过程和微软过程并称为当今软件界最具影响力的三种软件开发过程,它不仅为大多数软件开发环境提供了一个可供裁剪的过程框架,还在于它为软件开发提供了一个兼顾技术和管理的完整视角。在其基础上,可以方便的集成软件工程领域的最新实践成果,如“软件重用”,“逆向工程”,“软件架构”,“面向方面”和“主动过程”等内容,形成更加完善的软件研发解决方案[5]。
在本即时通信系统的研发过程中,我们严格遵循Rational 统一过程进行系统建模、分析与设计,充分利用