材 料 清 单
一、毕业论文
二、毕业设计任务书
三、毕业设计开题申请表
四、毕业设计开题报告正文
I
企业级即时通信系统的开源解决方案
专业:信息与计算科学 学号:05125071
指导老师:徐小萍
摘要:本文着重分析了开源产品在构建企业级即时通信中的优势及作用,并提出其开源解决方案,本文主要从如下方面详细研究了该解决方案。首先,分析企业级即时通信的需求、特点及国内外现状。第二,简要描述开源文化及开源技术的特点及作用,并结合企业级即时通信进行需求分析。第三,从软件工程角度,对该开源解决方案进行需求分析、系统分析、详细分析以及应用实施介绍。第四,从企业级即时通信与办公OA整合、即时通讯与WEB应用整合方面对即时通讯系统的应用作了简单扩展。最后,展示了利用开源技术所实现的产品效果,即本文的开源解决方案(Java + Smack API + Openfire + MySQL)。全文以构建企业级即时通讯工具为骨架,穿插着XMPP、Openfire和MySQL等多种开源产品。从中可见开源产品怎样活化一个企业级应用,并付予安全性、可靠性及实用性。
关键词:企业级即时通信;开源解决方案;XMPP协议;开源产品; 开源技术
II
The Open-Source solution of Enterprise Instant Messaging System
Speciality: Information and Computing Science Name: Lin ZiGuan Student ID: 05125071 Advisor: Xu xiaoping
Abstract: This article mainly analyses the advantage and effect of open-source products in constructing enterprise instant messaging, and proposes open-source solutions. The research of the article is divided into four groups as follows. Firstly, the article analyzes the requirement, characteristic of enterprise instant messaging, and the present domestic and international state. Secondly, the article describes the characteristic and function of open-source culture and technology. Thirdly, in the sight of software engineering, this article provides demand analysis, systematic analysis, detailed analysis and introduce of application and practice to the open-source solution. Fourthly, this application of instant message program is expanded to integrate enterprise instant message program with OA system or web application. At last, we show the product effect with open-source technology, i.e., Java + Smack API + Openfire + MySQL. All around the article, the research uses the open-source solution of Enterprise Instant messaging System as paramount, and intersperses with a variety of open-source products. We can see how open-source produce makes an enterprise-level application lively, and is entrusted security, reliability and practicability.
Key words: Enterprise Instant Messaging System; Open-Source solution; XMPP protocol; Open-source product; Open-source technology
III
目 录
1 引言??????????????????????????????????? 1 2 开源环境与企业应用的结合??????????????????????? 2 2.1 企业应用的需求及特点?????????????????????? 2 2.2 开源软件的现状?????????????????????????? 3 2.3 企业应用与开源软件的磨合 ???????????????????? 4 3 企业级即时通讯 ????????????????????????????? 6 3.1 企业是否需要即时通讯工具 ???????????????????? 6 3.2 商业化解决方案?????????????????????????? 7 3.3 新的选择——开源解决方案 ???????????????????? 7 4 需求分析????????????????????????????????? 9 4.1 与传统IM相近的功能 ??????????????????????? 9 4.2 IM的企业特色??????????????????????????? 9
4.3 需求总结?????????????????????????????10 5 系统分析???????????????????????????????? 11 5.1 整体框架?????????????????????????????11 5.2 客户端框架???????????????????????????? 13 5.3 服务端框架???????????????????????????? 13 6 详细设计???????????????????????????????? 14 6.1 开发语言及开发平台 ??????????????????????? 14 6.2 XMPP协议?????????????????????????????15 6.3 服务端的设计??????????????????????????? 18 6.4 工程实施及交付使用??????????????????????? 23 7 设计展示???????????????????????????????? 24 7.1 登录界面 ?????????????????????????????24 7.2 群组聊天 ?????????????????????????????24 7.3 文件传输 ?????????????????????????????24 7.4 个人信息 ?????????????????????????????26 8 补充及扩展??????????????????????????????? 27 8.1 与办公OA整合 ??????????????????????????27 8.2 整合到WEB应用??????????????????????????27 9 小结???????????????????????????????????28 参考文献 ????????????????????????????????? 29 致谢????????????????????????????????????31
1 引言
1988年芬兰人Jarkko Oikarinen发明了一种网络聊天协议IRC(Internet Relay Chat),该协议仅支持文本聊天。1996年第一个即时通信产品ICQ诞生,即时通信的技术和功能开始基本成型[1][2]。到现在,已有上百种即时通信工具在网络中互联(比如,国内流行的个人聊天工具腾讯QQ,国外的MSN等[3])。这些集娱乐、共享、协作于一身的即时通信工具,其意义已远远超出单纯的文字通信。不管是个人用户使用,还是企业用户使用,即时通信工具都是维护良好的人际关系网、共享协作、信息交流的有力工具。
但在早期,很多企事业单位都将个人聊天工具作为日常办公的交流工具,而不注重其特殊的企业级功能。但随着企事业单位的规模日益扩大,他们对办公软件的安全性、交互性,以及其企业文化内涵有了更高的要求。因此专门针对企事业单位的办公软件如雨后春笋般地发展起来,如著名的办公软件WPS、MS OFFICE。与此同时,企业级即时通信工具也受到用户的青睬,但往往由于成本问题而不被列入采购范围[4]。于是,人们努力地寻找着在商业产品以外的更好的解决方案。
从1984年Richard Stallman发起GNU和Free Software Foundation计划
[4]
开始,开放源代码(简称:开源)这一概念不停地颠覆人们的认识。譬如MySQL
开源数库已被全球约5,000家企业采用,Jboss开源服务器的应用比例也在一直攀升,市场占率由2003年的9%上涨至2004年的35%。1997年夏,制作《泰坦尼克号》所用的160台Alpha图形工作站中,有105台采用了——Linux操作系统[5]。在国内,上海交通大学校利用开源软件建立起多点视频会议系统,并得到了广泛的应用[6]。
开源概念渐渐地影响着我们的生活和生产活动,它的出现以及成长过程让我们思考着以下几个问题:
为什么市场需要“开源”? 开源给我们带来什么? 我们能为开源做些什么?
带着以上问题,本文以构建企业级即时通信系统为例,向用户展现开源的魅力。从需求分析到交付使用,全文穿插着多种开源产品。本文力求向用户传递一种信息——开源不仅仅为我们提供了产品及源代码,更提供了新的解决方案。
1