JMS、XML和异构企业

如今,大多数计算环境更多地是由不同平台组成,而不是固守任何一个平台。 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 通信。每一样是无缝的,对吗?

但不完全是。数据仍然是一个需要解决的问题。

平台无关的数据解决了问题

请考虑 JMS 的五种消息类型。JMS 提供了三种结构化或半结构化的消息类型(MapMessage、ObjectMessage 和 StreamMessage)以及两种非结构化的或自由格式的消息类型(TextMessage 和 BytesMessage)。

结构化的消息格式只代表了众多处理结构化数据方法中的少数几种(只有映射表、序列化对象和数据元素流是直接表示的)。更重要的是,它们引发了与非 Java 应用交互操作的问题。转换或映射,特别是在转换涉及到序列化的类时是如何实现的呢?

非结构化的消息格式似乎能够更好地进行交互操作,但这仅仅是因为它们在消息上很少利用结构。然而这个很小的便利却为每个接受者加重了语法分析和确认的负担。

XML 减轻了这种负担。它为丰富的功能性数据结构提供了清晰的标准化途径,并通过越来越多的工具来支撑它,这些工具是用来执行语法分析和确认这些费力的工作的。

通过在环节中使用 XML,每一样都是无缝的。

时间: 2024-09-19 13:28:38

JMS、XML和异构企业的相关文章

XML实现异构数据库间转换的实现与分析(转)

xml|数据|数据库|转换 XML实现异构数据库间转换的实现与分析 类型: XML/Biztalk 收录时间: 2002-4-8 9:20:00 XML中一种扩展的标记语言,它具有很好的扩展性标记.本文通过XML实现不同数据库的定义,实现对XML数据库的访问和异构数据库之间的互访.   关键词:XML  异构数据库  信息交换  数据库访问  1  引言   XML(Extensible  Markup  Language)它是由W3C组织于1998年2月  制定的一种通用语言规范,是SGML 

JMS and ActiveMQ first lesson(转)

  JMS and ActiveMQ first lesson -- jms基础概念和应用场景 2011-6-18 PM 9:30 主讲:kimmking <kimmking@163.com> 整理:林木森 ppt下载地址: http://code.google.com/p/activemq-store-mongodb/downloads/list 下面开始: kimmking:介绍下jms和ActiveMQ.在讲JMS之前,我们聊聊相关的背景.谁知道JMS是什么意思? kimmking:对,

jms基础概念和应用场景

JMS and ActiveMQ first lesson -- jms基础概念和应用场景 2011-6-18 PM 9:30 主讲:kimmking 整理:林木森 ppt下载地址: http://code.google.com/p/activemq-store-mongodb/downloads/list 下面开始: kimmking:介绍下jms和ActiveMQ.在讲JMS之前,我们聊聊相关的背景.谁知道JMS是什么意思? kimmking:对,是message service.那,什么

JMS性能测试方案

JMS综述 1.相关概念 1)JMS jms即Java消息服务(Java Message Service) 是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信.Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持,它提供标准的产生.发送.接收消息的接口简化企业应用的开发.是一组接口和相关语义的集合,定义了JMS客户端如何获取企业消息产品的功能.JMS并不是一个MOM.它是一个API,抽象了客户端和

Welogic中的JMS(原创)

WebLogic JMS 概述 企业消息传递系统使得应用程序能够通过消息的交换与其他系统之间进行通信.消息是包含协调不同应用程序之间通信所需信息的请求.报告和/或事 件.消息提供了提取级别,使您能够从应用程序代码中分离出有关目标系统的详细信息.Java 消息服务 (JMS) 是用于访问企业消息传递系统的标准 API.尤其是 JMS: 使得共享消息传递系统的 Java 应用程序能够交换消息 通过提供用于创建.发送和接收消息的标准接口简化了应用程序开发 如图中所说明,WebLogic JMS 接受来

XML入门教程:XML是如何被利用的?

xml|教程|入门教程 理解这一点很重要,即XML是被设计为存储.传输以及交换数据的.XML不是被设计为用来显示数据的. XML可以将HTML与数据分离 通过使用XML,您的数据可存储于HTML之外. 当我们使用HTML来显示数据时,数据存储于HTML中.通过使用XML,数据可以被存储在单独的XML文件中.这样做的话,您就可以把注意力集中在使用HTML进行数据布局和显示上面,并确保底层数据的改变不会牵扯到HTML的改变. XML数据也可作为数据岛存储于HTML页面内部.您仍然可以专注于使用HTM

XML基础教程:XML有什么用途?

XML是被设计为存储.传输以及交换数据的.XML不是被设计为用来显示数据的. XML可以将HTML与数据分离 ,通过使用XML,您的数据可存储于HTML之外. 当我们使用HTML来显示数据时,数据存储于HTML中.通过使用XML,数据可以被存储在单独的XML文件中.这样做的话,您就可以把注意力集中在使用HTML进行数据布局和显示上面,并确保底层数据的改变不会牵扯到HTML的改变. XML数据也可作为数据岛存储于HTML页面内部.您仍然可以专注于使用HTML对数据进行格式化和显示. XML用于交换

Visual Studio .NET使开发人员能够快速地构建和部署XML Web服务和应用程序

visual|web|web服务|xml|程序 Visual Studio .NET使开发人员能够快速地构建和部署XML Web服务和应用程序(2002.02.25)   来自:CSDN    华盛顿莱得蒙德,2002年2月8日 --四年以来,微软一直从事Microsoft .NET(公司下一代XML Web服务和应用程序的理念,它们以无缝的.安全的方式联接了整个互联网上的人.设备和信息)的基础工作.下周,微软将庆祝.NET的一个重要的里程碑--该工具将向全世界发行,通过程序员它将推动下一代的网

如何使用SQL Server 2000中的XML功能

在本文中我们将讨论如何通过T-SQL的FOR XML子句从SQL Server返回XML.本文将通过几个例子来介绍返回XML数据和架构信息的几种不同方式,还将介绍将XML转换成更令人满意的格式的方法.然后讨论OPENXML,以及将XML文档联接到数据库表和使用WriteXml和GetXml方法从数据集提取XML的方法. SQL Server 2000提供了一些XML功能,用于通过XML将关系行集合转换成分层的XML文档.读取XML文档和批量加载数据.例如,可以将XML文档传递到存储过程,将XML