论文部分内容阅读
目前,即时通信产品是移动社交网络的重要产品之一,为推动人们交流、推动商业发展、推动移动网络的发展起到了重要作用,甚至改变了人们的日常交流方式。比较成熟的即时通信产品包括腾讯QQ,微信,Skeype等。但是随着这些产品的发展,他们的一些缺点也逐渐凸显出来。所以对即时通信软件的进一步研究具有重要意义。调查表明,即时通信工具的主要问题在于:(1)专有性太强,每款软件都有自己独特的功能,不能够直接引入到其他商业沟通领域使用;(2)重复开发周期太长,将即时通信嵌入到商用领域需要做大量重复性开发,使得软件的可重用性降低;(3)安全性较差,不能保证涉密内容的安全性,用户信息安全受到威胁。针对上述问题,本文将即时通信作为一个开放业务进行开发,并通过IaaS平台开放给商业用户,从而增加即时通信业务的开放性,降低即时通信的开发周期,更方便地对即时通信业务进行安全控制,本文围绕上述几个问题,主要工作如下。(1)深入调研和分析了目前即时通信产品存在的问题,并根据这些问题选择了将即时通信作为业务开放出去的思路搭建了基于OpenStack的即时通信业务IaaS云平台,在IaaS云平台上实现并封装了即时通信功能接口。(2)基于上述云平台,搭建了Openfire服务器,并对该服务器进行了针对性的二次开发。主要的二次开发工作有两点。第一,实现了XMPP和HTTP协议之间的数据封装转换;第二,开发基于Openfire的足迹分享和定位功能插件,丰富了Openfire的功能。(3)在上述一个平台一个服务器的基础上实现了Android客户端,主要实现了一对一聊天相关功能、群组相关功能、足迹分享功能和定位功能,最后,对系统进行了功能测试,测试了客户端以及系统和云平台之间的各功能,验证了平台的即时通信接口的正确性。基于IaaS平台的即时通信应用的开发结果证明,云平台上封装即时通信息功能的接口,可以独立引入到其他商业领域,解决了即时通信专有性强的问题;扩展Openfire功能为开源服务器拓宽了功能领域;基于该平台的开发具有更短的开发周期,简化了开发成本。