使用 JMS 通道访问 Web 服务
1. 引言
Web 服务是 SOA 架构的重要推动者,它独立于底层平台和技术,还能穿透企业防火墙,起到远程控制的作用。然而,有时我们需要保证服务调用的一些 QoS(服务质量)方面。HTTP 传输通道的可靠性在某些场景下可能不足。Java JMS(Java Message Service)作为一种依赖平台的消息传递技术,可以增强 Web 服务的 QoS 特性。
2. JMS 概述
- 定义:JMS 定义了可靠的企业消息传递标准,也称为 MOM(Message Oriented Middleware)。企业消息传递为企业内关键业务数据和事件的松散耦合(异步)交换提供了可靠且灵活的机制。JMS API 在此基础上增加了通用 API 和提供者框架,使开发基于消息的可移植 Java 应用成为可能。
- 对 J2EE 的增强:
- 基于 JMS 的消息驱动 Bean 支持异步消费 JMS 消息。
- JMS 消息交换可参与 Java 事务 API(JTA)事务。
- JCA 接口允许不同供应商的 JMS 实现外部接入 J2EE 环境。
由于 MOM 是许多 ESB(Enterprise Service Bus)实现的核心,JMS 在基于 Java 的 ESB 中起着关键作用。
3. Web 服务与 JMS 的可靠性
在关键应用中,特别是涉及金融交易的交互,可靠性至