企业级即时通信系统的开源解决方案.docx
- 文档编号:27736788
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:45
- 大小:1.97MB
企业级即时通信系统的开源解决方案.docx
《企业级即时通信系统的开源解决方案.docx》由会员分享,可在线阅读,更多相关《企业级即时通信系统的开源解决方案.docx(45页珍藏版)》请在冰豆网上搜索。
企业级即时通信系统的开源解决方案
材料清单
一、毕业论文
二、毕业设计任务书
三、毕业设计开题申请表
四、毕业设计开题报告正文
企业级即时通信系统的开源解决方案
专业:
信息与计算科学学号:
05125071
指导老师:
徐小萍
摘要:
本文着重分析了开源产品在构建企业级即时通信中的优势及作用,并提出其开源解决方案,本文主要从如下方面详细研究了该解决方案。
首先,分析企业级即时通信的需求、特点及国内外现状.第二,简要描述开源文化及开源技术的特点及作用,并结合企业级即时通信进行需求分析。
第三,从软件工程角度,对该开源解决方案进行需求分析、系统分析、详细分析以及应用实施介绍。
第四,从企业级即时通信与办公OA整合、即时通讯与WEB应用整合方面对即时通讯系统的应用作了简单扩展。
最后,展示了利用开源技术所实现的产品效果,即本文的开源解决方案(Java+SmackAPI+Openfire+MySQL)。
全文以构建企业级即时通讯工具为骨架,穿插着XMPP、Openfire和MySQL等多种开源产品。
从中可见开源产品怎样活化一个企业级应用,并付予安全性、可靠性及实用性。
关键词:
企业级即时通信;开源解决方案;XMPP协议;开源产品;开源技术
TheOpen-Sourcesolutionof
EnterpriseInstantMessagingSystem
Speciality:
InformationandComputingScienceName:
LinZiGuan
StudentID:
05125071Advisor:
Xuxiaoping
Abstract:
Thisarticlemainlyanalysestheadvantageandeffectofopen-sourceproductsinconstructingenterpriseinstantmessaging,andproposesopen-sourcesolutions.Theresearchofthearticleisdividedintofourgroupsasfollows.Firstly,thearticleanalyzestherequirement,characteristicofenterpriseinstantmessaging,andthepresentdomesticandinternationalstate。
Secondly,thearticledescribesthecharacteristicandfunctionofopen-sourcecultureandtechnology。
Thirdly,inthesightofsoftwareengineering,thisarticleprovidesdemandanalysis,systematicanalysis,detailedanalysisandintroduceofapplicationandpracticetotheopen—sourcesolution.Fourthly,thisapplicationofinstantmessageprogramisexpandedtointegrateenterpriseinstantmessageprogramwithOAsystemorwebapplication.Atlast,weshowtheproducteffectwithopen-sourcetechnology,i.e。
Java+SmackAPI+Openfire+MySQL。
Allaroundthearticle,theresearchusestheopen—sourcesolutionofEnterpriseInstantmessagingSystemasparamount,andintersperseswithavarietyofopen-sourceproducts.Wecanseehowopen—sourceproducemakesanenterprise-levelapplicationlively,andisentrustedsecurity,reliabilityandpracticability.
Keywords:
EnterpriseInstantMessagingSystem;Open—Sourcesolution;XMPPprotocol;Open-sourceproduct;Open-sourcetechnology
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。
2IM的企业特色………………………………………………………………………9
4.3需求总结……………………………………………………………………………10
5系统分析……………………………………………………………………………………11
5。
1整体框架……………………………………………………………………………11
5.2客户端框架…………………………………………………………………………13
5.3服务端框架…………………………………………………………………………13
6详细设计……………………………………………………………………………………14
6.1开发语言及开发平台……………………………………………………………14
6.2XMPP协议……………………………………………………………………………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年芬兰人JarkkoOikarinen发明了一种网络聊天协议IRC(InternetRelayChat),该协议仅支持文本聊天。
1996年第一个即时通信产品ICQ诞生,即时通信的技术和功能开始基本成型[1][2]。
到现在,已有上百种即时通信工具在网络中互联(比如,国内流行的个人聊天工具腾讯QQ,国外的MSN等[3])。
这些集娱乐、共享、协作于一身的即时通信工具,其意义已远远超出单纯的文字通信.不管是个人用户使用,还是企业用户使用,即时通信工具都是维护良好的人际关系网、共享协作、信息交流的有力工具。
但在早期,很多企事业单位都将个人聊天工具作为日常办公的交流工具,而不注重其特殊的企业级功能。
但随着企事业单位的规模日益扩大,他们对办公软件的安全性、交互性,以及其企业文化内涵有了更高的要求。
因此专门针对企事业单位的办公软件如雨后春笋般地发展起来,如著名的办公软件WPS、MSOFFICE。
与此同时,企业级即时通信工具也受到用户的青睬,但往往由于成本问题而不被列入采购范围[4]。
于是,人们努力地寻找着在商业产品以外的更好的解决方案。
从1984年RichardStallman发起GNU和FreeSoftwareFoundation计划[4]开始,开放源代码(简称:
开源)这一概念不停地颠覆人们的认识。
譬如MySQL开源数库已被全球约5,000家企业采用,Jboss开源服务器的应用比例也在一直攀升,市场占率由2003年的9%上涨至2004年的35%。
1997年夏,制作《泰坦尼克号》所用的160台Alpha图形工作站中,有105台采用了--Linux操作系统[5].在国内,上海交通大学校利用开源软件建立起多点视频会议系统,并得到了广泛的应用[6]。
开源概念渐渐地影响着我们的生活和生产活动,它的出现以及成长过程让我们思考着以下几个问题:
为什么市场需要“开源"?
开源给我们带来什么?
我们能为开源做些什么?
带着以上问题,本文以构建企业级即时通信系统为例,向用户展现开源的魅力。
从需求分析到交付使用,全文穿插着多种开源产品。
本文力求向用户传递一种信息——开源不仅仅为我们提供了产品及源代码,更提供了新的解决方案.
2开源环境与企业应用的结合
2.1企业应用的需求及特点
为提高企业办事效率,降低企业办公成本,大部分企业都进行了办公自动化(简称:
OA——OfficeAutomation)改革,主动优化办公环境。
即尽可能充分利用电子技术资源与信息资源,提供日常办公的各项功能[7]。
其中包括,精简业务流程、完善协作环境、提高信息流通速度、促进管理信息化、节省日常开支。
常见的有:
办公OA、ERP、CRM、电子政务、B2B、B2C等。
目前国内至力于企业应用的公司有:
用友、金蝶、速达[8](图1)等企业。
图1速达ERP软件
总的来说,企业级应用具有以下特点[9]:
(1)数据持久化(Persistentdata)
企业级应用需要持久保存数据。
比如客户信息、员工信息、帐务信息等。
这些数据对企业的的正常运行起着至关重要的作用。
在一般的应用中,数据库是数据保存、更新、查找的有利工具,其地位更是必不可少。
(2)海量数据的存储
一般来说,企业级应用包含的数据量是巨大的。
一个中型的系统就会包含超过1GB的数据量一一被组织成数万条记录。
管理这些数据就成为这个系统的主要部分。
现代的系统经常使用关系型数据库。
(3)数据的并发访问
多用户并发地存取数据是企业级应用的常见情况.对很多系统来说,使用人员可能不到百人,但是对于基于Internet的Web系统来说,使用者的递增速率是几何级的.
(4)大量的用户图形界面
为了应付日益庞大的数据量,大量的UI界面被投入使用。
普通用户与专业用户的习惯差异很大,他们很少有技术层面的专长.为了满足不同的需求,数据的表现形式也是千差万别的。
(5)需要和其它应用集成
企业级应用并不是信息孤岛,它们经常需要和遍布在企业角落的其它企业级应用集成在一起。
(6)复杂的业务逻辑
业务逻辑是由企业根据自身的需要制定的业务规则决定的.有时候规则会很随意,看上去似乎没有任何的逻辑。
企业往往有自己特定的需求,特殊的情况。
这些层出不穷的特例导致了业务的复杂性,无逻辑性,使得商业软件的开发十分困难。
为解决以上问题,各企业会选择较为成熟的技术以及生产单位,以构建一个稳建的信息化平台。
因此新技术以及新产品的推广并不是很顺利的,开源软件实际应用更是如此。
2.2开源软件的现状
简单地说,开源/自由程序是一种这样的程序:
它们充分地允许用户自由地运行、研究和修改程序,以及传播原始的或经过修改的程序(而不需要支付权利金给原开发者)[10]。
开源软件以自由、开放、安全、协同,具备广泛支持著称。
经过多年的发展,开源软件也像商业软件那样,形成了成熟的解决方案。
因此,近年来更多的个人用户及企业用户开始把开源软件投入到生活和生产应用中。
据Infoq报道[11],开源调查中心(OSC)近日发布了一份报告,报告显示了开源软件在世界各地、各企业中的使用情况.政府和金融服务公司对开源软件的使用名列前茅;与其他国家(包括美国)相比,欧洲则更多地使用了开源软件。
OSC在为期六个月的时间里,收集了企业计算机所使用的开源软件包的相关信息,他们发现在被检测的两千多台机器上有多于三十万种的开源软件包.平均而言,政府机构在每台机器上安装了123个不同的开源软件包;金融服务公司在每台机器上安装了117个不同的包。
2.3企业应用与开源软件的磨合
企业环境常关注相关应用的成本效益、性能及安全问题。
在成本方面,企业只需支付低廉的使用费或免费使用.如表2。
1所示某企业的配选方案.相比之下,仅一套正版windowxp操作系统,家庭版199美元,专业版299美元.
在安全性方面,不管在商业产品上,还是在开源产品上,安全性都颇受争议。
显然,世界上没有十全十美的强功能、高安全的软件.但是,开源产品的BUG能在开源社区很快地被发现。
表格2.1开源环境解决方案[12]
应用类别
软件名称
费用(美元)
操作系统
RedHat9.0
80
Web服务器
Apache
0
数据库
MYSQL
0
办公套件
OpenOffice
0
电子商务套件
OSCommerce
0
图形处理
GIMP
0
在性能方面,开源软件不能完全适用于高压环境。
很多开源软件在应用上没能达到企业对性能的要求。
然而,在一些性能瓶颈上,企业可以作出适当取舍,比如采用Oracle数据库或MSSQLServer数据库。
随着技术的提高以及优秀设计的推出,开源环境终究能很好地解决以上问题。
因此,企业环境与开源环境的磨合过程,也是企业对应用作出取舍的过程。
为了能让开源应用尽快投入角色,可以参考以下几点建议:
(1)合适的才是最好的。
并非Oracle就能解决所有的问题,也并非MYSQL就代表小应用,合适的就是最好的。
对于中小企业,如果只需要基本的数据管理及维护能力,MYSQL也是很好的选择。
(2)使用优秀的解决方案.优秀的解决方案是经过开源社区与具体应用互相敲磨而成的。
目前国内也有很多较为成熟的开源企业应用软件,例如:
北京恩信科技的开源ERP(图2)、北京共创开源软件的桌面操作系统等.
图2恩信科技开源ERP软件
3企业级即时通信(EnterpriseInstantMessaging,简称EIM)
以企业级应用的开源解决方案作为导向,本节将重点介绍,企业对即时通信工具的需求,以及如何用开源产品来满足这种需求.
3。
1企业是否需要即时通信工具
一个企业即时通信系统厂商向赵一飞(赵一飞,上海交通大学副教授,美国启明研究院副院长,上海市职业培训指导中心高级物流师职业鉴定专家组成员)介绍最新的企业级即时通信系统,他的第一个反应却是“有免费的软件,我们为什么要花钱搭建一个即时通信系统”.对企业级即时通信系统的误解以及收费是它打开市场的阻碍。
随着企业规模的扩大,传统的聊天工具已不能满足企业内部协作和交流的需求.因此,越来越多的企业开始关注企业级即时通信产品,并主要看中它在降低交流成本、提高沟通效率、与OA系统无缝结合等方面的优势.
跨越物理空间的距离、实现即时交流是即时通信系统最吸引企业之处。
即时通信系统可以让员工能够知道同事是否在线,避免了员工在打电话找同事上耗费大量时间,使同事之间在任何地点、任何时间都能进行即时交流.同时填补了OA系统在处理即时业务以及事件通知的点对点能力、即时能力上的不足。
真正实现企业内部的协同工作。
中化集团在海外有41家分支机构,为了实现全球即时联络,2000年,它通过实施IBM公司的Sametime模块,建立了企业即时通信系统,成为国内较早引入即时通信系统的企业。
2003年,办公网分布在全国20多个城市的上海浦东发展银行引入了微软刚刚发布的企业级即时通信系统——LiveCommunicationServer.如今,浦发银行经常出差的员工不管出差到哪个城市,他只要到达浦发银行任意一个办公区,用随身携带的笔记本电脑随便连上一个局域网端口,同事就可以立刻看到他在线,发送即时消息联络他,并在线讨论工作。
目前,浦发银行的企业局域网有7000多台终端,安装了LiveCommunicationServer的终端已达到1000多台[13][14]。
此外,大型企业,尤其具备跨区域经营能力的大型企业也是即时通信系统的需求者.有人曾粗略预计过,像联想、海尔这样的大型企业每年用于内部电话、传真及800免费电话的费用都是百万元级的,如果它们能引入即时通信系统,既能帮助员工实现互动沟通和协作,又能有效而低成本地获得企业内外的信息。
显然,企业级即时通信工具再好也应该根据具体的经营状况而定。
它对有些企业来说反而是一种累赘。
因为部分企业仅仅把即时通信工具等同于一般的聊天工具,而有的则作为一种日常办公工具。
3。
2商业化解决方案
商业化的即时通信软件已形成良好的应用模式,及强大的企业支持。
其抗险能力强,功能完善,且具备较多的成功解决案例。
例如:
国内的GoCom、腾讯RTX(图3),国外的IBMLotusSametime、AOL的AIMPBE。
但是企业在实施初期,需要支付高昂的费用.
图3腾讯RTX
3.3新的选择--开源解决方案
自由、安全、社区支持、价格合适,早已是人们对开源产品的印象。
随着开源技术的成熟,个人或企业使用开源软件作为解决方案的数量日趋增加。
在即时通信方面,常用的开源通信协义是XMPP,它继承了在XML环境中灵活的发展性.目前,常见的开源即时通信软件有Spark(图4)、JeCat-Jabber、LinQ、Instabird、Pidgin等。
而MySQL则是典型的开源数据库.
在开源社区中,有很多成熟的解决方案,如:
Openfire+Spark+MySQL。
完备的开源技术,使得构建开源环境下的企业级即时通信成为可能。
它们不但具备商业化软件同样成熟的解决方案,更重要的是,它们具备自由开源的理念以及开源社区的广泛支持。
图4Spark即时通信工具
4需求分析
不同的企业对即时通信工具的需求都有所不同.有的需要与OA系统产生交互功能,有的需要多人视频会议。
因此下文将论述该软件的基本需求,如需扩展,可参阅相关资料.
4.1与传统IM相近的功能
企业级即时通信工具,首先是作为即时通信工具来使用,因此必需满足该部份功能。
在通信技术或通信能力上,应该与传统的IM相近。
如简单的文字通信、文件传输、查看好友信息等。
而聊天记录、个人头像、截图等扩展功能都是在基本功能的基础上建立起来的。
其次,在架构时,我们应该考虑网络通信问题。
像QQ和MSN那样的聊天工具都是建立在广域网下的,或者有代理服务器.而企业级IM是建立在企业内部局域网内,除非企业的OA或应用软件架构在广域网,否则需要解决网间路由的问题(注:
可使用openfire的路由插件解决)[15]。
4.2IM的企业特色
作为企业级软件,首先是具有企业文化特色.除了企业外部美工形象外,其内部架构也很重要。
比如部门分级,A部分下设有A1和A2子部份.由于IM的使用涉及公司里成百上千的员工,所以清晰的部门分级是提高效率的措施之一。
与此同时,个人信息也应当具有企业特色.在传统IM中,个人信息(包括个人资料和个人办公状态)存在着虚拟性以及极端的不真实性。
而企业IM应该使用真实信息。
很明显的应用是,当企业IM与OA系统集成时,当某员工需要在业务审批流程中签署文件,此时该文件需要具有不可抵赖性、不可篡改性。
在信息流通上,除了用优质的物理设施来支持外,合理的业务逻辑也很重要.在传统IM上,信息是允许丢失的,但企业IM则不允许任何重要信息丢失。
如审批业务时,有一小环节的信息丢失,使得下流的任务不能按时开展,而处理上流的业务又得不到反馈,在这个争分夺秒的时代,这是一件很可怕的事。
因此,该系统应该具有信息保存以及信息恢复的能力.
在信息安全上,企业的操作系统应该安装杀毒软件、防火场等软件,除此之外,企业IM的信息应该有自身一套安全措施.比如防修改,防抵赖等。
在此可使用信息加密,指纹识别等技术.常用的加密方式是MD5,验证方面可考虑CA认证方式。
信息监控是最容内被忽视的一个模块。
因为平常看不出该模块的实际效益。
但在重要环节上,它却是信息安全,维护信息流通性的有力后盾。
信息监控的任务主要集中在流量监控、操作监控、任务流监控等方面。
当发生网络异常时,相关人员可及时采取措施,防止该异常对企业网络环境的破坏。
很多政企的预警系统都是建立在信息监控网络上的。
4.3需求总结
企业IM更注重信息的传递能力及安全性,它不需要像传统IM一样拥有繁多的系统功能。
当然也可以作相应的扩展。
例如多人视频会议、文件夹传输(不同于一般的文件传输,可传输文件目录结构)、发起问卷调查、项目申报、SMS短信服务等.这些功能都视具体应用环境而定.
5系统分析
系统分析是在需求分析的基础上,构建出具体模型.本文的系统分析,将对企业IM分成客户端及服务端进行设计。
其中涉及的内容有,整体框架、客户端框架、服务器框架。
5。
1整体框架
首先假设企业要求把即时通信工具构建在内部局域网(广域网的结构相似).其次是企业内部已建立起基本的数据资源(如:
部门信息、员工信息,表5.1展示了其本的数据要求)。
表格5。
1部门、员工信息
字段属性
数据类型
ISNULL
部门信息
部门ID(DEPID)
INT
NOTNULLPK
部门名称(DEPNAME)
VARCHAR(30)
NOTNULL
部门父ID(DEPPID
INT
NOTNULLFK
员工信息
员工ID(USERID)
INT
NOTNULLPK
员工登录名(ULOGINNAME)
VARCHAR(20)
NOTNULL
员工性名(USERNAME)
VARCHAR(10)
NOTNULL
员工EMAIL(EMAIL)
VARCHAR(40)
NULL
密码(PASSWORD)
VARCHAR(40)
NULL
部门—员工信息
部门ID(DEPID)
INT
NOTNULLPKFK
员工ID(USERID)
INT
NOTNULLPKFK
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业级 即时 通信 系统 解决方案