如今,大多数计算环境更多地是由不同平台组成,而不是固守任何一个平台。 Java 消息服务 (JMS) ,与可扩展标记语言 (XML) 一起,
满足了这种异构环境集成的愿望。这篇文章演示了如何使用 JMS 来创建基于 XML 的消息并将这些消息同样分发到 Java 和非 Java 应
用程序。
经过几年构建、扩展和维护庞大的分布式应用之后,程序员逐步体会到平台无关的行为和平台无关的数据的好处了。
Java 编程语言已经向满足平台无关的行为(尽管例如 TCL 这样的脚本语言在一段或更长时间内还受到关注)的需要迈进了一步。而且
XML(可扩展标记语言)正在成为开放、平台无关的数据解决方案的中坚力量。
本文演示了在与 Java 消息服务 (JMS) 一起使用的情况下,XML 如何满足平台无关的数据的愿望。
消息传递将它们联系在一起
JMS 为消息服务定义了通用 Java 语言接口。它支持最常见的消息传递模型(包括发布/订阅和点到点)。
首先将平台无关的数据与 Java 技术放在一段文字中提及看起来比较奇怪。然而,既然 JMS 是一种基于 Java(因此是平台无关的)的
技术,我们为什么在使用 JMS 时需要平台无关的数据呢?
答案来源于经常使用消息传递的环境。消息传递的一个最大优点体现在应用集成领域。被集成的应用多半不全是 Java 应用。
在这种情况下 JMS 非常理想,因为它是一种接口规范 -- 而不是实现。这意味着 JMS 位于已经有了相当的应用现有技术的上面一层。
(当然,所有 Java 实现也能利用这种 JMS 和 XML 的解决方案。)
图 1. 位于专有消息服务上层的 JMS
图 1 说明了这样一种环境。非 Java 应用与专用消息服务直接进行通信。Java 应用通过 JMS 通信。每一样是无缝的,对吗?
但不完全是。数据仍然是一个需要解决的问题。
回页首
平台无关的数据解决了问题