论文部分内容阅读
为了更好的在分布式系统平台之间进行数据交换,消息中间件通过高效可靠的消息传递机制为其提供保障。它不仅有效的屏蔽了底层操作系统、数据库之间的差异,还屏蔽了网络协议之间的差异,从而提供了统一的通讯方式在不同应用程序之间,这样一来无论是开发跨平台,还是开发跨网络协议的应用程序,其复杂性都极大的降低。在JMS规范出现之前,业界并没有制定统一的标准,不同消息中间件产品并没有统一的接口,因此基于消息中间件的的应用可移植性差。另外不同的消息中间件之间无法进行互操作,这也使得它的发展受到极大的阻碍。Java消息服务由SUN公司于1998年提出,这套规范的出现旨在统一各种消息中间件系统接口,方便程序员在此基础上进行开发。它定义了一套通用接口和相关语义,用于支持诸如持久化、事件监听等一系列服务。JMS的出现带来了许多好处,它不仅屏蔽了操作系统和硬件的差异,更为重要的是有效解决了异构消息中间件之间互操作这个一直以来棘手的难题。目前它被绝大多数厂商所采纳,成为事实上的工业标准。本文在研究消息中间件技术的基础之上,遵循JMS制定的规范,给出了消息中间件系统Common JMS的整体架构,并予以实现。首先,本文对中间件和消息中间件的基本概念、分类以及功能进行了阐述,然后介绍了常见的消息中间件产品,接下来分析了JMS体系结构,涉及JMS传输模式、JMS消息数据结构、JMS消息API、JMS编程模型等一系列问题。在相关理论基础之上,作者分别针对消息中间件的服务器端以及客户端进行了详细的设计与实现。作为消息服务系统,Common JMS采用RMI作为底层通讯协议,在服务器端提供了命名与目录服务,并实现了点对点和发布/订阅消息两种消息传递模式,同时为了保证系统的可靠性,实现了基于文件的持久化。另外,为了改进服务器的质量和运行效率,提供了诸如事件监听、多线程管理、日志等一系列功能。在整个消息中间件完成之后,对其进行了测试,并与其它消息中间件产品进行了对比。测试表明,在发送者、接收者数量波动比较稳定的情况下,Common JMS在持久化方面性能有所改进;在发送者、接收者数量均增加的情况下,Common JMS效率比较均匀,波动偏差较小最后,我们给出了Common JMS消息中间件在湖北省科技攻关重大专项《下一代网络管理系统及平台的研究与开发》之中的应用情况及说明。