I材料清单一、毕业论文二、毕业设计任务书三、毕业设计开题申请表四、毕业设计开题报告正文II企业级即时通信系统的开源解决方案专业:信息与计算科学学号:05125071指导老师:徐小萍摘要:本文着重分析了开源产品在构建企业级即时通信中的优势及作用,并提出其开源解决方案,本文主要从如下方面详细研究了该解决方案。首先,分析企业级即时通信的需求、特点及国内外现状。第二,简要描述开源文化及开源技术的特点及作用,并结合企业级即时通信进行需求分析。第三,从软件工程角度,对该开源解决方案进行需求分析、系统分析、详细分析以及应用实施介绍。第四,从企业级即时通信与办公OA整合、即时通讯与WEB应用整合方面对即时通讯系统的应用作了简单扩展。最后,展示了利用开源技术所实现的产品效果,即本文的开源解决方案(Java+SmackAPI+Openfire+MySQL)。全文以构建企业级即时通讯工具为骨架,穿插着XMPP、Openfire和MySQL等多种开源产品。从中可见开源产品怎样活化一个企业级应用,并付予安全性、可靠性及实用性。关键词:企业级即时通信;开源解决方案;XMPP协议;开源产品;开源技术IIITheOpen-SourcesolutionofEnterpriseInstantMessagingSystemSpeciality:InformationandComputingScienceName:LinZiGuanStudentID:05125071Advisor:XuxiaopingAbstract: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引言……………………………………………………………………………………………12开源环境与企业应用的结合……………………………………………………………22.1企业应用的需求及特点…………………………………………………………22.2开源软件的现状……………………………………………………………………32.3企业应用与开源软件的磨合……………………………………………………43企业级即时通讯……………………………………………………………………………63.1企业是否需要即时通讯工具……………………………………………………63.2商业化解决方案……………………………………………………………………73.3新的选择——开源解决方案……………………………………………………74需求分析………………………………………………………………………………………94.1与传统IM相近的功能……………………………………………………………94.2IM的企业特色………………………………………………………………………94.3需求总结……………………………………………………………………………105系统分析……………………………………………………………………………………115.1整体框架……………………………………………………………………………115.2客户端框架…………………………………………………………………………135.3服务端框架…………………………………………………………………………136详细设计……………………………………………………………………………………146.1开发语言及开发平台……………………………………………………………146.2XMPP协议……………………………………………………………………………156.3服务端的设计………………………………………………………………………186.4工程实施及交付使用……………………………………………………………237设计展示……………………………………………………………………………………247.1登录界面……………………………………………………………………………247.2群组聊天……………………………………………………………………………247.3文件传输……………………………………………………………………………247.4个人信息……………………………………………………………………………268补充及扩展…………………………………………………………………………………278.1与办公OA整合……………………………………………………………………278.2整合到WEB应用……………………………………………………………………279小结……………………………………………………………………………………………28参考文献………………………………………………………………………………………29致谢………………………………………………………………………………………………3111引言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]。开源概念渐渐地影响着我们的生活和生产活动,它的出现以及成长过程让我们思考着以下几个问题:为什么市场需要“开源”?开源给我们带来什么?我们能为开源做些什么?带着以上问题,本文以构建企业级即时通信系统为例,向用户展现开源的魅力。从需求分析到交付使用,全文穿插着多种开源产品。本文力求向用户传递一种信息——开源不仅仅为我们提供了产品及源代码,更提供了新的解决方案。22开源环境与企业应用的结合2.1企业应用的需求及特点为提高企业办事效率,降低企业办公成本,大部分企业都进行了办公自动化(简称:OA——OfficeAutomation)改革,主动优化办公环境。即尽可能充分利用电子技术资源与信息资源,提供日常办公的各项功能[7]。其中包括,精简业务流程、完善协作环境、提高信息流通速度、促进管理信息化、节省日常开支。常见的有:办公OA、ERP、CRM、电子政务、B2B、B2C等。目前国内至力于企业应用的公司有:用友、金蝶、速达[8](图1)等企业。图1速达ERP软件总的来说,企业级应用具有以下特点[9]:(1)数据持久化(Persistentdata)企业级应用需要持久保存数据。比如客户信息、员工信息、帐务信息等。这些数据对企业的的正常运行起着至关重要的作用。在一般的应用中,数据库是数据保存、更新、查找的有利工具,其地位更是必不可少。(2)海量数据的存储一般来说,企业级应用包含的数据量是巨大的。一个中型的系统就会包含超过1GB的数据量一一被组织成数万条记录。管理这些数据就成为这个系统的主要部分。现代的系统经常使用关系型数据库。3(3)数据的并发访问多用户并发地存取数据是企业级应用的常见情况。对很多系统来说,使用人员可能不到百人,但是对于基于Internet的Web系统来说,使用者的递增速率是几何级的。(4)大量的用户图形界面为了应付日益庞大的数据量,大量的UI界面被投入使用。普通用户与专业用户的习惯差异很大,他们很少有技术层面的专长。为了满足不同的需求,数据的表现形式也是千差万别的。(5)需要和其它应用集成企业级应用并不是信息孤岛,它们经常需要和遍布在企业角落的其它企业级应用集成在一起。(6)复杂的业务逻辑业务逻辑是由企业根据自身的需要制定的业务规则决定的。有时候规则会很随意,看上去似乎没有任何的逻辑。企业往往有自己特定的需求,特殊的情况。这些层出不穷的特例导致了业务的复杂性,无逻辑性,使得商业软件的开发十分困难。为解决以上问题,各企业会选择较为成熟的技术以及生产单位,以构建一个稳建的信息化平台。因此新技术以及新产品的推广并不是很顺利的,开源软件实际应用更是如此。2.2开源软件的现状简单地说,开源/自由程序是一种这样的程序:它们充分地允许用户自由地运行、研究和修改程序,以及传播原始的或经过修改的程序(而不需要支付权利