概述
介绍中间件、MOM、JMS、ActiveMQ,及相互的关系。
中间件
由于业务的不同、技术的发展、硬件和软件的选择有所差别,导致了异构组件或应用并存的局面。要使这些异构的组件协同工作,一个有效的方式就是提供一个允许它们进行通信的层,该层即为中间件。
在概念上,中间件位于应用程序层与平台层(操作系统和底层网络服务)之间:
分类:
- 基于远程过程调用(Remote Procedure Call, RPC)的中间件
允许一个应用程序中的过程调用远程应用程序中的过程,就好像它们是本地调用一样。 - 基于对象请求代理(Object Request Broker, ORB)的中间件
- 面向消息(Message-Oriented Middleware,MOM)的中间件
使分布式应用程序可以通过发送和接收消息来进行通信和交换数据。
MOM
全称:Message-Oriented Middleware 中文:面向消息的中间件。
MOM通信模型:
MOM模型中的四个基本元素:消息传递提供者、目的地、客户端(发送方或接收方)、消息。
发送方客户端将消息发送到消息提供者维护的目的地,这些消息一直被保留直到接收方客户端将消息取出。
JMS
全称:Java Message Service 中文:Java消息服务。
JMS是Java的一套API标准,最初的目的是为了使应用程序能够访问现有的MOM系统(客户端通过JMS访问消息提供者);后来被许多现有的MOM供应商采用,并实现为MOM系统。
基于JMS实现的MOM,又被称为JMS Provider。
ActiveMQ
Apache出品,完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。
它有很多功能、特色,所以它的详细信息很复杂。但是基于这一刻,我们只需要知道两件事:(1) 它是MOM;(2) 它是JMS的一个实现。
相互关系
参考
-
Sun Java System Message Queue 3.7 UR1 技术概述 — 第 1 章 消息传送系统:简介
这里有一系列的文章,对JMS的技术做了详细的说明,只是没有代码