论文部分内容阅读
即时通讯(Instant Messaging,IM)是基于互联网协议的应用程序,它能够使应用不同类型设备的用户进行通信。IM最流行的形式是聊天,在聊天的同时可以在计算机之间交换文本消息。时至今日,可以说,即时通讯工具已经从时尚(以OICQ、MSN等为代表)发展成为一种富有价值的通讯工具,即时通讯软件在商务上的魅力日益彰显,它不仅让企业内部员工实时地沟通,还为客户提供一种实时的互动的反馈。即时通讯成为继短信、免费邮箱和搜索引擎之后互联网的又一个竞争热点。手机的不断普及以及其功能的日益强大,已经为即时通讯从传统的PC机到手机的移植做好了充分的准备。而移动通讯和互联网的不断靠拢也为手机上网提供了极其便利的条件。可以说,如今基于小型移动设备平台上的即时通讯是具有很大的市场潜力的。因为它不仅具备传统即时通讯优势,还因其特有的便携和普及的特性,可以为使用者提供更方便快捷的服务。有了它,用户随时随地都能够和自己的好友聊天,和贸易伙伴洽谈业务。本课题正是在这样的背景条件下建立的。本文首先对即时通讯的历史、现状和发展前景进行了简要的介绍,然后对开源即时通讯系统Jabber的系统架构、组件、Subscriptions运行机制以及服务器方案的选择等等进行了详细的阐述,最后结合本文所实现的手机IM产品Gm(产品名),解释了如何在手机平台上利用Jabber技术实现即时通讯的各种功能,并给出了核心代码。本文所做的主要工作、技术难点与创新如下:1、Jabber技术的研究:通过大量查阅Jabber的相关资料和代码,追溯其发展过程,研究Jabber设计系统框架、体系结构和开发模式,使得即时通讯系统在稳定性、可扩展性等方面得到最大的优化。2、实现基于移动设备的即时通讯系统:基于Jabber技术,采用J2ME语言在手机平台上实现了即时通讯功能。由于使用了Jabber技术,系统能够提供自身的Presence信息,真正地帮助用户做到“随时在线”。在文中,作者提出了基于Jabber的手机即时通讯系统的系统架构,并且有步骤的讨论了如何实现一个基于Jabber的,可移植性强的、稳定的手机即时通讯系统。3、系统整体架构体系的制定:本文实现的手机即时通讯系统采用的是客户/服务器架构的体系结构,服务器采用基于Jabber的WildFire,用户数据和系统信息的存储由MySQL数据库实现,而由于客房端是基于手机的java虚拟机平台的,所以采用J2ME语言进行开发。4、分析、研究并制定服务器端技术解决方案:对主流的各种即时通讯服务器从不同的角度进行比较和分析,并重点讨论了基于Jabber的开源的服务器WildFire,指出了WildFire服务器的特点和优势,制定了手机即时通讯系统服务器的解决方案。5、针对小型移动设备设计客户端解决方案:由于小型移动设备的固有特点,如运算能力差、内存小和对Java的支持程度的不统一,使得基于手机平台的即时通讯软件的开发存在许多困难。本文中,为客户端程序设计的模块划分提出了合理的解决方案,将客户端分为底层通讯模块、中层的数据解析模块和定义模块以及最上层的功能模块四个部分。6、根据客户端设备与网络条件设计了完善的网络的连接方案:在本文中实现的即时通讯系统中,手机客户端和服务器端的通讯是通过中国移动公司的GPRS网络实现的,由于客户使用的手机机型的差异和用户所在地区网络条件的不同,系统中兼容了Http连接和Socket连接两种方式,并且客户端程序的网络连接功能模块具有自动切换的网络连接方式的功能,同时为了兼容中国移动公司GPRS网络的一些特殊限制(如CMWAP网关等),还采取了相应的措施。7、通讯数据编解码方案:在系统的通讯过程中,XML数据流需要频繁的在客户端、WildFire服务器以及MySQL数据库之间传递,文中对这个通讯过程进行了详尽的分析,并对通讯过程中数据流的编码转换提出了切实可行的解决方案,保证了通讯的畅通和有效。本文主要工作在Nokia、Motorola、SE等品牌主流机型都得到实现,整个系统目前运转正常,注册用户已超过50万,取得一定的社会和经济效益。作者在读研期间,已经在《计算机系统应用》学术刊物上发表一篇论文。