论文部分内容阅读
消息中间件是利用可靠高效的消息递送机制帮助分布式系统进行平台数据交换的系统软件。消息中间件屏蔽了底层异构操作系统、网络平台、通讯协议和消息格式的差异,为不同应用程序提供一致的通讯方式,减少了开发跨平台和网络协议的应用程序的复杂性。但由于没有统一的规范和标准,消息中间件都是针对特定的分布式系统使用特定的协议和接口,以至于基于消息中间件的应用不可移植,不同的消息中间件也不能互操作,这大大阻碍了消息中间件的发展。Java消息服务(Java Message Service,JMS)是SUN公司提出的旨在统一各种消息中间件系统接口的规范。JMS定义了一套通用的接口和相关语义,提供了诸如持久化、验证和事务的消息服务。JMS不但屏蔽了操作系统和硬件的差异,还解决了异构消息中间件之间互操作的难题。目前JMS己被各大软件公司和开源组织所接受,成为了工业界的事实标准。本文在分析和研究消息中间件技术和JMS规范的基础上,设计和实现了一个符合JMS规范的消息中间件系统ncceJMS。首先,本文讨论了中间件和消息中间件的概念、分类和功能,讨论了消息中间件的特点以及常见消息中间件产品,接着分析了JMS规范体系,包括JMS消息数据结构、JMS消息传输模式、各种JMS API、JMS编程模型等。在研究了相关理论基础之上,本文提出了消息中间件系统ncceJMS的体系结构,针对体系结构中的四部分网络通信接口、JNDI服务器、消息服务器和客户端分别进行了详细的设计和实现。作为消息服务系统,ncceJMS实现了基于TCP/IP协议的网络通信接口,提供了命名与目录服务(JNDI),实现了JMS规范的标准API,实现了点到点和发布/订阅消息传递的模式,同时在消息服务器端还实现了基于文件的消息持久化,实现了事件监听、流量控制、多线程管理、消息过滤和日志功能,提高了服务器的质量。最后,对系统进行了测试,并给出了消息中间件系统在863项目“网络协作创作环境”中的应用。