1 / 36
文档名称:

应用程序设计.pdf

格式:pdf   页数:36
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

应用程序设计.pdf

上传人:一文千金 2012/2/21 文件大小:0 KB

下载得到文件列表

应用程序设计.pdf

文档介绍

文档介绍:6
应用程序设计
为了说明创建使用路由器和分解的自助服务程序中使用的技术,我们为此项目创建一个
示例应用程序。本章将讨论用于创建此应用程序的 Java 设计技术。

此处介绍的信息旨在补充《使用 WebSphere Application Server 的自助服务模式》编
号:SG24-6175。我们以那本书介绍的应用程序设计为基础,将设计延伸为包括消息发
送功能。为此,我们非常重视 Sun 的 Java 消息服务(JMS)在企业消息发送应用程序中
的作用。我们将探讨支持 API,如 Sun 的 Java 命名和目录接口。另外,还将介绍 WebSphere
的 JMS 侦听器,而 JMS 侦听器是 WebSphere 企业服务中扩展的消息发送支持的组成部
分。

本章最后将从实例应用程序抽取一个应用案例,并详细讲述该应用程序设计。

61
JMS概述
Sun Microsystem 的 Java 消息服务(JMS)是定义 Java 应用程序与企业消息发送中间件
(如 MQSeries)如何进行交互的 API。本节假定基本了解消息发送系统涉及的概念,并
着重介绍如何把这些概念映射到 JMSAPI。

消息模型
首先,了解消息发送模型的不同类型非常重要。每种模型在为该模型定义专用操作的
JMS 中有一组接口。有两种体系结构可用于消息发送应用程序:点到点(PTP)和发布
/预订(pub/sub)。

点到点应用程序是根据以下观点创建的:每个消息均以特定队列为其地址。接收端应用
程序从该队列获取消息,并对其进行相应处理。在 JMS 中,PTP 类型带有“队列”前
缀,如下表所示。
JMS 父级 PTP 类型
ConnectionFactory QueueConnectionFactory
Connection Que ueConnection
Destination Queue
Session QueueSession
MessageProducer QueueSender
MessageConsumer QueueReceiver

发布/预订应用程序则是按照以下思想创建的:根据消息内容路由消息。消息被发送到
消息代理,该消息代理根据其内容把消息路由到适当订阅者。然后,订阅者就可对该消
息进行适当处理。在 JMS 中,发布/预订类型带有“主题”(Topic)前缀。

在本书中,我们重点考察 PTP 应用程序。

62
消息组件
由于 JMS 是为创建、发送和接收消息而存在,因而您会认为消息是 JMS 的核心组件。
JMS 消息由以下几部分构成:

标题:包含识别和路由消息的信息。

属性:可以有选择地添加到消息的定制值。属性可以是:
- 应用程序特定的:添加到消息的属性由 JMS 应用程序使用。
- 标准:JMS 属性。
- 提供者特定的:某个消息提供者特有的属性。

正文:数据。

消息类型
JMS 提供五种不同专业的消息,以提供访问每个消息内容的不同操作。图 6-1 显示这
些类型。


图 6-1 JMS 消息类型层次

不同消息类型包括:

BytesMessage:包含访问字节流的操作。此消息类型将与任何现有消息格式相匹配。

StreamMessage:包含访问 Java 原始值流的操作。

ObjectMessage: 包含访问序列化 Java 对象的操作。如果应用程序设计需要序列
化一个以上的对象,那么就请使用“集合”(Collection)对象。

63
MapMessage:包含从消息正文访问一组键值对的操作。关键字必需为字符串,值
必须为原始类型。

TextMessage:包含访问作为字符串的消息正文的操作。在实例应用程序中,我们
把 TextMessage 用作传输消息(用 XM 进行编码)的手段。

目标类型和子类型
下一个要掌握的概念是“目标”类型和子类型。基本上,目标是消息的容器。消息从一
个应用程序发送到目标,然后由另一个应用程序从目标中将其删除。

熟悉 MQSeries 的人也应该熟悉术语“队列”,而队列就是消息的目标。JMS 把队列称
为 PTP 应用程序中目标的一种特殊类型。按照消息发送模型,目标既可称为队列(用于
PTP),也可称为主题(用于发布/预订)。

另外,每个消息发送模式有一个更加专业化