论文部分内容阅读
近段时间以来,愈来愈多的项目都提出了使用消息传递策略来解决异类主机通信的问题,以及近年来消息中间件在实际工程中需求的大面积增长,使得消息中间件的开发受到业界和学术界的重视。消息中间件为分布式系统中创建、发送、接收消息提供了一套可靠、通用的方法,它屏蔽了不同操作系统和网络协议的具体细节,减少了开发跨平台和网络协议软件的复杂性。由于没有统一的规范和标准,基于各种消息中间件的应用不可移植,不同的消息中间件也不能互操作,这大大阻碍了消息中间件的发展。Java消息服务(Java Message Service,JMS)是SUN及其伙伴公司提出的旨在统一各种消息中间件系统接口的规范,它促进了分布式环境中各个组件之间可靠的异步通信,可以用来创建松散藕合的消息系统,从而大大简化了企业应用的开发。本文在研究了JMS规范、XML技术、密码技术和JNDI服务的基础上设计并实现了一个符合JMS 1.1规范的消息中间件系统。这个中间件系统实现了出版/订阅和点对点的消息模式;实现了六类标准的JMS消息;实现JMS标准API;实现了持久化消息;提供了消息的选择机制;实现了消息的同步接收和异步接收;针对传统的的过虑方法效率较低,提出了一种改进的消息过滤算法,提高了系统的性能;设计和实现了基于XML的消息格式。虽然基于JMS的消息系统有种种优势,然而它自身却有很大的一个不足:JMS规范不提供控制或配置消息完整性或消息隐秘性的功能。在实际的消息系统中,数据的安全性和可靠性一直是客户比较关心的问题。对此,本文对即将传递到网络上的数据首先以三重DES算法进行加密,以保证消息在传递的途中不会被有恶意人的窃取和篡改;然后将加密后的消息附着在以XML格式定义的消息头和消息属性的后面传递到服务器;服务器从消息头中提取所需的信息将消息放入目的地。这样就弥补了基于JMS的消息系统在安全性方面的不足。最后,使用LoadRunner工具对系统进行了负载和压力测试,并与其它产品进行了比较;对本文涉及的相关技术进行了归纳和总结,对还不完善和没有实现的地方进行了讨论,并指出了下一步的工作。