预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共86页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

中图分类号:TP391密级:学科分类号:081202论文编号:8300015-2015-S31硕士学位论文基于WebSocket的异构应用协同服务设计与实现研究生姓名张艺学科专业计算机软件与理论研究方向军用软件集成指导教师毕会娟研究员级高工培养单位华北计算技术研究所电子科学研究院二〇一五年三月十五日学位论文独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。除已特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。作者签名:日期:年月日学位论文使用授权本人完全了解填写培养单位名称有关保留和使用学位论文的规定,本人在攻读学位期间论文工作的知识产权单位属于填写培养单位名称。培养单位和学位授予单位有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。保密的学位论文在解密后适用此授权。作者签名:日期:年月日导师签名:日期:年月日摘要随着网络带宽的不断增加、人们对于应用便捷性要求的不断提升和云和服务概念的不断深化,在采用传统C/S应用之外,越来越多的用户开始选择直接通过浏览器登陆服务来完成工作。同样的,在协同过程中,多种类应用之间的协同工作也已经成为一个趋势。如何解决传统C/S架构下协同应用和B/S架构下协同应用之间的协同工作问题,如何提供B/S架构下的协同能力、提供B/S架构与C/S架构下异构应用间的协同能力,已经成为协同服务的迫切需求。为了给协同过程提供对多种类应用的支持,使基于C/S架构的协同应用和基于B/S架构的协同应用之间可以进行协同工作,本文提出并实现了一个基于WebSocket的异构应用协同服务。该服务支持包括基于HTTP的全双工流技术(BOSH)和WebSocket在内的各种通信协议,能同时对C/S架构下的部分应用和B/S架构下的部分应用提供支持。此外,本文提出的基于WebSocket的异构应用协同服务采用了可扩展通讯表示协议(XMPP)这一标准化协议来作为协同信息的具体承载形式,方便了各协同应用之间的消息解析与加工、方便了服务器对消息进行解析与处理。首先,本文深入研究了计算机支持的协同工作(CSCW),研究了C/S架构下与传统B/S架构下各种通信技术的原理及实现,包括MINA框架的内部构造、BOSH技术的原理等,并且重点研究了WebSocket的工作原理及实现方式。其次,设计并实现了一个应用协同服务,支持包括WebSocket技术在内的多种通信技术,实现了异构应用间的一对一协同与群组协同。初步设计了一个基于WebSocket的客户端,支持协同信息的接收与发送。最后,设计了一个实验,验证了基于WebSocket的异构应用协同服务可以支持包括WebSocket在内的多种异构应用之间的协同,验证了基于WebSocket的协同应用在性能、带宽占用、响应速度上和传统B/S架构下协同应用所具有的优势。本文所提出并且实现的基于WebSocket的异构应用协同服务实现了包括WebSocket在内的多种网络通信技术,支持采用不同连接技术的多种客户端之间的一对一协同工作与群组间协同工作,采用了分层设计,将连接、会话、数据处理等功能进行了明确的划分,以提高其工作稳定性,并且使其具有良好的可扩展性,保证了未来对其它通信技术增加支持的可行性。关键词:计算机支持的协同工作,服务器主动推送,WebSocket,HTML5,XMPPABSTRACTWiththecontinuousincreaseofthenetworkbandwidth,withusers’gradualincrementofneedforeasy-usedapplications,withthecloudservicesgaintheirpopularity,moreandmorepeoplechoosetofinishtheirwordthroughthebrowserbesidesusingapplicationsundertheC/Sstructure.Atthesametime,inthedurationofcooperativework,cooperativeworkbetweenmulty-applicationshasbecomeatendency.HowtosolvetheproblemofprovidingtheabilitytolaunchcooperativeworkwithapplicationsundertheB/Sstructureandlaunchcooperativeworkbetweena