基于JAVA的企业级即时平台设计与实现学士论文.docx
《基于JAVA的企业级即时平台设计与实现学士论文.docx》由会员分享,可在线阅读,更多相关《基于JAVA的企业级即时平台设计与实现学士论文.docx(60页珍藏版)》请在冰豆网上搜索。
![基于JAVA的企业级即时平台设计与实现学士论文.docx](https://file1.bdocx.com/fileroot1/2023-1/14/49ff1da0-70cf-492b-ba6b-a9ef99268914/49ff1da0-70cf-492b-ba6b-a9ef992689141.gif)
基于JAVA的企业级即时平台设计与实现学士论文
本科生毕业论文(设计)
题目基于JAVA的企业级即时
通讯平台设计与实现
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
摘要
即时通讯(IM:
InstantMessenger)软件是我国目前上网用户使用率最高的软件之一,即时通讯系统(InstantMessagingsystem)可使人们在网上识别在线用户并与之实时交流。
通过IM我们可以达到即时和沟通[1]。
在现代化的企业中,员工在工作时经常要与其他同事进行协同工作和跨部门合作,全方位地利用有限资源协同完成更多工作,因此各部门同事间需要进行即时的沟通。
而很多公司内部员工的沟通是基于Email、电话、短信、传真。
大公司在通信费用上的花销绝对不是个小数目,尤其是那些跨地域分公司众多的企业这块尤其突出。
在竞争如此激烈的社会,企业节约这部分费用也是利率提高的手段。
本文对企业即时通讯系统所涉及的技术问题进行了比较系统的研究,针对即时通讯的特点,运用Java、Apache的开源通信框架Mina(MultipurposeInfrastructureforNetworkApplications)以及Mysql开发一个在基于TCP/IP面向连接的企业内部沟通平台。
主要在一下几个方面做了研究:
①通信框架Mina。
用Apache的开源通信框架Mina作为本系统的应用层,通信连接类都是在Mina的基础上封装而成。
②Java技术。
在系统中大量运用Java中的Swing、多线程,IO流,集合框架以及众多的设计模式
③数据持久。
系统中运用了Mysql作为数据库,Hibernate作为ORM(ObjectRelationalMapping)层。
④解析XML。
用XML文件去为系统做配置,大消息内容也是基于XML。
所以此系统用了大量的XML解析。
本系统的最终目的是构造一个企业级的即时通讯软件,实现企业内部的即时通信。
通过该系统,在服务器端可以向全公司的人员发布通知、公司新闻、行业动向,而在客户端可以即时消息、文件传输等功能。
可实现使用者与各部门同事间协同办公的要求,满足企业内部进行更加高效沟通的需求,为企业提供一种公共的、可靠的内部沟通方式。
关键词:
即时通讯;Java;Swing;ApacheMina;XML;Hibernate
Abstract
AstointernetusersinChinaatpresent,IM(InstantMessenger)softwareisoneofthehighestratesofsoftware.InstantMessengerSystemwillenablepeopletoidentifyonlineusersandtheInternetwithreal-timecommunication.Wecanachievereal-timeviaIMandcommunication.
Inthemodernenterprise,employeesatworkoftenwereworkingtogetherwithothercolleaguesandcross-sectoralcooperation,all-roundcooperativeuseoflimitedresourcestodomorework,hencetheneedforreal-timecolleaguestocommunicate.AndmanyinternalstaffcommunicationisbasedonEmail,telephone,SMS,fax.Largecompaniesspendingoncommunicationcostsaredefinitelynotasmallnumber,especiallythosecross-regionalbranchpiecesofalargenumberofenterprisesinparticular.Insuchacompetitivesociety,businessisalsopartofthecostsavingsitmeanshigherinterestrates.
Inthispaper,enterpriseinstantmessagingsystemstechnicalissuesinvolvedinamoresystematicstudy.Fortheinstantmessagingfeatures,usingofJava,Apache'sopensourcecommunicationsframeworkMinaandMysql,IdeveloponeinternalcommunicationplatformwhichbaseonTCP/IPconnectionandisconnectionoriented.Mainlyinthefollowingaspectshavebeenstudied:
①:
CommunicationFramework(Mina).Apache'sopensourcecommunicationsframeworkwithMinaasapplicationlayerofthesystem.CommunicationconnectionclassisbasedonMinatopackage.
②:
ParsingXML.UsingXMLfiletoconfigurethesystem,themessagecontentisalsobasedonXML.Therefore,thesystemspentalotofXMLparsing.
③:
JavaTechnology.InthesystemmakeextensiveuseofJavaintheSwing,multithreading,IOstreams,CollectionsFrameworkandmanyofthedesignpatterns
④:
DataPersistence.InSystem,MysqlisusedforthedatabaseandHibernateasORMlayer.
Theultimategoalofthissystemistoconstructanenterprise-classinstantmessagingsoftware,instantmessagingwithintheenterprise.Throughthesystem,theserversidecanbeissuedtonotifyallthecompany'spersonnel,thecompanynews,industrytrends.Intheclientcaninstantmessages,filetransferandotherfunctions.Enablesuserswiththecollaborationbetweencolleaguesinthedepartmentofficerequirements,meetenterprisedemandsformoreefficientcommunication,andprovideapublicgood,reliableinternalcommunication.
Keywords:
InstantMessenger;Java;Swing;ApacheMina;XML;Hibernate;
第一章绪论
1.1本文研究背景及意义
1.1.1本文研究背景
近些年来,随着网络通信技术的不断发展和社会信息化建设水平的不断提高,即时通讯系统在社会生活和经济生活中得到了越来越广泛的应用。
即时通讯大大改变了人们的生活和工作方式也改变了企业的工作流程,规范了内部信息交互流程,减少了企业沟通的中间环节,降低了企业的沟通成本;并使沟通活动不再受地域和时间的限制,方便了企业的信息发布,密切了企业和员工的关系。
因此越来越多的企业采纳即时通讯系统作为内部的沟通模式。
随着互联网上的即时通讯工具大量出现,即时通信作为一种交流形式己经在社会经济生活中占据一定的地位。
另一方面,互联网技术的发展在推动即时通讯进步的同时,也使即时通讯系统的构建实现技术面临新的挑战。
作为网络信息技术前沿的Java,己经是软件界的一个热门话题,它提供的跨平台性、支持网络和数据库编程,为网络系统的开发提供了新的途径。
1995年,Sun公司的Java语言以其提供的跨平台应用程序开发与配置震撼了整个编程世界。
几年来,Java从一种编程语一言发展到了开发企业级应用系统的Java2平台。
1999年Sun公司推出J2EE,它包括Servlet,JSP和JavaBean等许多技术和规范。
J2EE平台也为Web应用的开发提供了从客户层到Web服务层到业务逻辑层的全方位技术支持,而且得到了IBM,BEA和ORACLE等很多公司的认可,是一种很有前途的也是比较成熟的开发网络应用的技术选择方案。
1.1.2本文研究意义
即时通信的确是对企业非常有用的一项技术,它能实现快速人际交流、数据共享,从而提高效率和生产力。
然而对于个人即时通信,企业主管们却是又爱又恨。
一个显而易见的顾虑是:
你没法知道你的属下正在用它做什么,而个人即时通信软件与生俱来的娱乐性,让这一顾虑看上去似乎更有道理。
于是针对企业用户的即时通信(EnterpriseInstantMessenger,以下简称EIM)产品应运而生,其易于管理的特性和相对“严肃”的风格,有理由使公司的老板们相信用友CRM趋利避害是可能的。
QQ,MSN等即时通讯面向全社会,会将与工作无关的人进入办公室,从而影响工作效率;而企业即时通讯客户端则是将工作相关的人引入电脑,从而提高工作效率。
”原因很简单,企业即时系统不仅可以使公司内外各个作业流程在电脑上表现出来,还能提高工作效率,简化业务流程。
以企业即时通讯客户端系统为例,其所具备的点对点、一点对多点、多点对多点群发消息、文件传输、文件共享、白板交流、协同浏览、在线支付、数据统计、发送手机短信等功能,完全可以帮助企业降低内外交易成本,增进工作效率。
而MSN等个人即时通讯系统,则更重视娱乐方面的功能,无法适应企业需求。
而且,由于缺乏监督和实名制等手段,个人即时通讯更容易与工作无关的陌生人取得联系。
这反而会降低工作效率,对企业即时通讯客户通的作用恰得其反。
首先,企业时常需要面对内部员工发布一些信息。
传统的文件方式需要先打印出来,然后人工分发,若要收集员工的反馈信息则还要另外准备,因此效率比较低。
使用客户通之后,向员工发布信息通知则变得相当简单,同时还可以即时得到反馈信息。
此外,召开内部会议是企业经常性的事务。
有了客户通,利用其网络会议功能,可以方便地在员工电脑前召开或者参加会议。
随着手机的普及,收发短信已经成为企业一种重要的联系方式。
因此手机短信功能也被集成到企业IM之中,用友CRM让信息传达变得非常方便快捷。
1.2国内外即时通讯发展状况
目前国内即时通讯产品市场竞争异常激烈,以腾讯QQ微软MSN网易POPO等为代表的众多即时通讯产品显然拥有大批使用者!
而其具备的高交互性特点和日新月异的新功能也让更多的网民对其爱不释手.现对国内几款主流即时通讯工具做一简要分析[2].
①腾讯QQ
据腾讯QQ官方消息,2009年QQ在国内已拥有10.57亿多的注册用户,4.84亿活跃用户,同时在线人数1亿以上.目前腾讯QQ已成为国内用户最多的个人即时通讯工具。
占据着国内约65%以上的市场份额
1999年2月,腾讯推出基于互联网的即时通讯工具--QQ,支持在线消息收发,即时传送语音,视频和文件,并且整合移动通讯手段!
可通过客户端发送信息给手机用户.目前QQ已开发出穿越防火墙、动态表情、给好友放录像、捕捉荧屏、共享文件夹、提供聊天场景、聊天时可显示图片等强大的使用功能.另外,QQ还增加了QQ群、QQ秀、QQ宠物、QQ游戏等娱乐功能.由于QQ良好的开放功能、休闲娱乐服务,使其拥有了庞大的用户群,在近几年内突飞猛进,牢牢占据着国内即时通讯霸主地位.
②微软MSN
MSN是微软公司开发的即时聊天工具,由于微软产品用户众多,操作简单,运行稳定,且与WindowsXP进行了无缝结合,使得MSN的普及速度非常快,现在已经是世界主流的聊天工具,在国内即时通讯软件中稳占了第二的位置.MSN支持手写功能,但与其他即时通讯软件最大的不同是不支持离线消息.微软会愚蠢到放弃功能强大的离线消息市场吗?
盖茨肯定没那么傻,MSN采用邮件地址作为用户名,借此建立MSN与HotMail之间的连接,当对方不在线时,你可以选择给对方的MSN邮箱或HotMail发送邮件.这样MSN就不仅是一个简单的即时通讯软件,而演变为以MSN为中心的整合服务.
③网易POPO
网易POPO是由网易公司开发的一款免费多媒体即时通讯工具,可谓即时通讯软件中杀出的一匹黑马,虽然推出时间不长,但POPO融合了QQ与MSN的优点,解决安全与隐私问题的功能非常完善,特别是好友的权限设置功能,优于其他即时通讯软件。
POPO既有即时文字聊天、语音通话、视频对话、文件传输等基本即时通讯功能,还提供邮件提醒、多人兴趣组、在线及本地音乐播放、网络电台、发送网络多媒体文件、网络文件共享、自定义软件皮肤等多种功能,并可与移动通讯终端等多种通讯方式相连[3]。
用户除了可以通过在线时长积分换取免费的短信服务,还可以设置在下线时将收到的信息转发到手机上。
另外,POPO还支持用户同时登录一MSN账户,实现了与MSN的互通互联.
④ICQ
ICQ是1996年11月在全世界范围推出的第一款即时通讯软件,是现在功能最强大、全球用户最多、应用最广泛的即时通讯工具。
但是,由于它的操作和设置比较复杂,再加上全英文的聊天界面,使许多中国用户对它望而生畏,在中国市场上所占份额逐渐萎缩。
近期,就在其他同行纷纷通过增加功能来吸引用户时ICQ反而推出了功能精简版的ICQLITE试图在中国市场东山再起[2]。
1.3本文内容及结构
本文对企业即时通讯系统所涉及的技术问题进行了比较系统的研究,针对即时通讯的特点,运用Java、Apache的开源通信框架Mina以及Mysql开发一个在基于TCP/IP面向连接的企业内部沟通平台。
这个系统除了没有用Web技术外几乎用了本人的全部技能,这大学4年里学的java技术都可以从这个项目中得以体会,主要在一下几个方面做了研究:
①通信框架Mina。
用Apache的开源通信框架Mina作为本系统的应用层,通信连接类都是在Mina的基础上封装而成。
②Java技术。
在系统中大量运用Java中的Swing、多线程,IO流,集合框架以及众多的设计模式。
在Swing运用了窗体重绘、倒影、透明等一系列技术。
在多线程方面研究了线程的同步、互斥、加锁。
系统里有大量的计模式例如:
单例模式、工厂模式、生产消费者模式、命令模式、责任链模式、观察者模式,适配器模式等等
③数据持久。
系统中运用了Mysql作为数据库,Hibernate作为ORM(ObjectRelationalMapping)层。
④解析XML。
用XML文件去为系统做配置,大消息内容也是基于XML。
所以此系统用了大量的XML解析。
本系统运用了最新的解析XML技术XStream,在本文中我会详细介绍下如何去现实Object和XML之间的转换。
结束语
图1-1:
本文结构图
第二章相关技术理论概述
2.1即时通讯常用技术简介
现在有许多的IM系统,如AOLIM、YahooIM和MSNIM,它们使用了不同的技术,而且它们互不兼容。
为了创建即时通讯的统一标准,人们经过了多次尝试:
IETF的对话初始协议(SIP)和即时通讯对话初始协议和表示扩展协议(SIMPLE)、应用交换协议(APEX)、显示和即时通讯协议(PRIM)及基于XML且开放的可扩展通讯和表示协议(XMPP)协议(常称为Jabber协议)。
人们多次努力,试图统一各大主要IM供应商的标准(AOL、Yahoo及Microsoft),但无