消息中间件原理及消息中间件原理及JMS简介简介
摘要:摘要:
现今,越来越多的企业面临着各种各样的数据集成和系统整合,CORBA、DCOM、RMI等RPC中间件技术也应运而生,但由
于采用RPC同步处理技术,在性能、健壮性、可扩展性上都存在着诸多缺点。而基于消息的异步处理模型采用非阻塞的调用
特性,发送者将消息发送给消息服务器,消息服务器在合适的时候再将消息转发给接收者;发送和接收是异步的,发送者无需
等待,二者的生命周期也可以不必相同,而且发送者可以将消息间接传给多个接收者,大大提高了程序的性能、可扩展性及健
壮性,这使得异步处理模型在分布式应用上比起同步处理模型更具有吸引力。[5]
本文首先介绍了消息中间件的原理,然后介绍了目前流行的消息中间件产品和一些开源实现。最后详细分析了SUN及其伙伴
公司提出的旨在统一各种消息中间件系统接口的规范(JMS)。
关键字:消息中间件,JMS,点对点,发布/订阅
一、中间件简介一、中间件简介
1.1 中间件的定义中间件的定义
中间件(middleware)是基础软件的一大类,属于可复用的软件范畴。中间件在操作系统软件,网络和数据库之上,应用软件之
下,总的作用是为处于自己上层的应用软件提供运行于开发的环境,帮助用户灵活、高效的开发和集成复杂的应用软件。[1]
IDC对中间件的定义为:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资
源,中间件定位于客户机服务器的操作系统之上,管理计算机资源和网络通信。
因而中间件是指一类软件,是基于分布式处理的软件,最突出的特点是其网络通信功能。也可认为中间件是位于平台和应用之
间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,可以有符合接口和协议的多种实现。
[1]
图1.1 中间件
1.2 中间件的分类中间件的分类
按照IDC的分类方法,中间件可分为六类:[1]
1) 终端仿真/屏幕转换
2) 数据访问中间件(UDA)
3) 远程过程调用中间件(RPC)
4) 消息中间件(MOM)
5) 交易中间件(TPM)
6) 对象中间件
然而在实际应用中,一般将中间件分为两大类:一类是底层中间件,用于支撑单个应用系统或解决一类问题,包括交易中间
件、应用服务器、消息中间件、数据访问中间件等;另一类是高层中间件,更多的用于系统整合,包括企业应用集成中间件、
工作流中间件、门户中间件等,他们通常会与多个应用系统打交道,在系统中层次较高,并大多基于前一类的底层中间件运
行。
1.2.1 终端仿真终端仿真/屏幕转换屏幕转换