您将使用哪种消息传输?

当后端系统和 WebSphere Partner Gateway 相互发送消息时,双方必须使用相同的消息传输协议。消息传输协议定义了 发送消息时所用的通信协议。

WebSphere Partner Gateway 通过它的后端集成接口与后端系统进行通信。表 11 列出了该后端集成接口支持的传输协议。

表 11. 后端集成支持的传输协议
传输协议 了解更多信息
HTTP 或 HTTPS HTTP 传输协议
文件系统文件 文件系统协议
JMS JMS 协议

表 12 显示了中心向后端系统发送文档时的封装类型和业务协议所支持的传输协议。

表 12. 从 WebSphere Partner Gateway 到后端系统的传输所支持的传输协议
封装类型 业务协议 HTTP 或 HTTPS? JMS? 文件系统?
后端集成 RosettaNet(RNSC)
二进制
EDI(请参阅 表 14 以获取有关 EDI 的信息)
XML
ROD
EDI(请参阅 表 14 以获取有关 EDI 的信息)
仅 cXML
仅 SOAP
二进制
XML
ROD

表 13 显示了后端系统向中心发送文档时的封装类型和业务协议所支持的传输协议。

表 13. 从后端系统到 WebSphere Partner Gateway 的传输所支持的传输协议
封装类型 业务协议 HTTP 或 HTTPS? JMS? 文件系统?
后端集成 RosettaNet(RNSC)
XML
二进制
ROD
仅 XML
EDI(请参阅 表 14 以获取有关 EDI 的信息)
仅 cXML
仅 SOAP
仅二进制
仅 ROD

表 14 显示了各种 EDI、XML 和面向记录的数据(ROD)文档所支持的传输协议和封装类型。

表 14. WebSphere Partner Gateway 和后端系统之间的 EDI 传输所支持的传输协议
封装类型 文档 HTTP 或 HTTPS JMS 文件系统
后端集成 含有单个事务的单个交换(例如一个包络中的 X12 850 事务)
含有多个事务的单个交换(例如同一个包络中的一个 X12 850 事务与一个 X12 890 事务)
含有单个事务的多个交换(例如同一个文件的两个 X12 包络,每一个都含有一个单个事务)
含有多个事务的多个交换(例如同一个文件的两个 X12 包络,每一个都含有两个或多个事务)
不能由自身传递的 EDI 事务(例如,一个 X12 850 事务),因为事务必须在一个 EDI 交换中
以后转换为 EDI 事务的文档(如 XML)。
含有单个事务的单个交换
含有多个事务的单个交换
含有单个事务的多个交换
含有多个事务的多个交换
EDI 事务(不受支持;必须有交换包络)
以后转换为 EDI 事务的文档(如 XML)

前面的表中列出了中心与后端系统之间有效的传输协议。中心可以使用其他传输协议来发送文档或从参与者那里接收文档。例如,中心可以通过使用 FTP 脚本传输将一个文档发送到远程 FTP 服务器。它也可以用 FTP 脚本传输接收文档。中心配置指南中描述的 FTP 脚本传输可用于通过因特网发送和接收文档,但是它必须用于发送和接收来自增值网络(VAN)的文档。

HTTP 传输协议

为了使用 HTTP 协议发送消息,WebSphere Partner Gateway 使用了 HTTP/S 1.1。为了接收来自后端系统的消息,WebSphere Partner Gateway 既支持 HTTP/S V1.0 也支持 V1.1。

HTTP 消息可以包括集成封装属性。 是否包括这些属性取决于与参与者连接相关的封装类型,如下所述:

过程

当在 WebSphere Partner Gateway 和应用程序之间发送 HTTP 或 HTTPS 消息以进行异步交换时,会发生以下步骤:

  1. 源系统(WebSphere Partner Gateway 或后端系统)使用特定的 URL 将 HTTP 消息发送到目标系统。
  2. 目标系统接收到消息并发送协议级应答 - HTTP 200 或 202,以表示所有权的变更。 源系统忽略该应答消息的主体。如果在该过程中发生错误,目标系统将 HTTP 500 发送回源系统。
  3. 如果 WebSphere Partner Gateway 是目标系统(换句话说,当 WebSphere Partner Gateway 接收消息时),它会持久存储消息并释放与源系统的连接。
  4. 然后目标系统可以异步处理该消息。

如果交换是同步的(例如,对于 SOAP 或 cXML),在相同的 HTTP 连接中,会返回一个带 HTTP 200 消息的响应。

使用 HTTP 协议从后端系统发送消息

要使用 HTTP 协议将消息发送到 WebSphere Partner Gateway,后端系统采用如下步骤:

  1. 创建消息。

    传输级头中的 Content-Type 属性提供了用于消息的编码。

  2. 根据为连接设置的封装类型对消息进行封装。

    对于后端集成封装,后端系统添加了 WebSphere Partner Gateway 所需的协议头属性。

  3. 将消息发布到 WebSphere Partner Gateway 用于接收这些消息的 URL。
  4. 如果交换是同步的,则后端系统将等待接收响应,该响应所用的连接与用于请求的连接是相同的。

要在这个方向上启用 HTTP 消息交换,使用社区控制台的“目标详细信息”页,为入站文档设置一个中心的目标。该目标指定一个 URL。后端系统需要知道这一地址以将文档发送到中心。

使用 HTTP 协议从后端系统接收消息

要使用 HTTP 协议从 WebSphere Partner Gateway 接收消息,后端系统采用如下步骤:

  1. 在特定的 URL 上侦听消息。
  2. 当接收到消息时,处理该消息:
  3. 如果交换是同步的,则后端系统将返回一个响应,该响应所用的连接与用于请求的连接是相同的。

要在这个方向上启用 HTTP 消息交换,使用社区控制台的“网关”页来设置网关,指出在哪里将文档传递到后端系统。

JMS 协议

JMS 协议基于 Java(TM)消息服务(JMS),它通过事务性的和持久的 JMS 队列来传递消息,JMS 队列可由诸如 IBM WebSphere MQ 之类的工具提供。JMS 协议支持下列 JMS 消息类型:

在 JMS 协议中,一个系统可以向另一个系统发送 JMS 消息。在第二个系统接收到该消息后,就从队列中除去它。从这时起,接收系统可以异步地处理消息。

JMS 消息可以包括集成封装属性。 是否包括这些属性取决于与参与者连接相关的封装类型,如下所述:

除二进制消息外,WebSphere Partner Gateway 支持在需要时发送和接收任何一种封装类型的 JMS 消息。应用程序所接收的二进制消息必须含有后端集成封装。反之则不然,因为 WebSphere Partner Gateway 支持使用任何一种封装类型向应用程序发送二进制消息。

设置使用 WebSphere MQ 的 JMS 环境

要设置您的 JMS 环境,需要下列提供程序。

对于使用 JMS 协议将业务文档发送到 WebSphere Partner Gateway 的后端应用程序,必须要配置一个 JMS 目标。JMS 目标从 JMS 队列接收消息,并且该文档被传入 WebSphere Partner Gateway 工作流。JMS 目标配置包括访问 JNDI 的必需参数,以及 JMS 对象的名称。对于与后端系统的集成,JMS 目标中配置的队列是后端系统发送 JMS 消息的队列。

类似地,WebSphere Partner Gateway 使用 JMS 网关将业务文档发送到一个队列,参与者从这个队列接收文档。因此,为将消息发送到后端系统,要确保在社区管理者的概要文件中配置了一个 JMS 网关。该网关应当被配置为将文档发送到后端系统的接收队列。JMS 网关配置包括访问 JNDI 的必需参数,以及 JMS 对象的名称。

使用 WebSphere MQ 设置 JMS 环境的概述

要利用 JMS 传输协议进行通信,WebSphere Partner Gateway 和后端应用程序需要通信的每个方向都有一个 JMS 队列。 因此,您必须采取下列步骤来提供相应的 JMS 队列:

未使用JMS 队列管理器可以存在于任何计算机上,包括:

另外,也可以使后端系统驻留的计算机和 WebSphere Partner Gateway 驻留的计算机上有一个队列管理器。 在这种情况下,使用设置通道将两个队列管理器结合起来。 使用这种方法,每一方都不需要使客户机连接到网络上。

使用 WebSphere MQ V5.3 配置 JMS 传输协议机制的指示信息在中心配置指南中提供。

使用 JMS 协议从后端系统发送消息

要使用 JMS 协议将消息发送到 WebSphere Partner Gateway,后端系统将采用如下步骤:

  1. 创建消息。
  2. 根据为连接设置的封装类型对消息进行封装。

    对于后端集成封装,应用程序添加必需的 JMS 头属性。

  3. 将消息发送到后端系统用于向 WebSphere Partner Gateway 发送消息的 JMS 队列。

使用 JMS 协议从后端系统接收消息

要使用 JMS 协议从 WebSphere Partner Gateway 接收消息,后端系统将采用如下步骤:

  1. 在 JMS 队列上侦听消息。
  2. 当接收到消息时,处理该消息:

文件系统协议

文件系统协议使得 WebSphere Partner Gateway 能够通过把消息放入已定义的目录结构中来发送消息。WebSphere Partner Gateway 通过从目录结构中读取消息来接收它们。文件系统协议仅支持“无”封装类型。

使用文件系统协议从后端系统发送消息

要使用文件系统协议将消息发送到 WebSphere Partner Gateway,应用程序必须采用下列步骤:

  1. 在临时目录中创建消息文件。
  2. 一旦文件准备就绪,就把它移到由 WebSphere Partner Gateway 轮询的目录。

要在这个方向启用文件系统消息,使用社区控制台的“目标详细信息”页面来为入站文档设置一个目标。消息的目标决定了 WebSphere Partner Gateway 轮询的目录。当创建目标时,WebSphere Partner Gateway 会为该目标创建一个 Documents 目录及其子目录,如下所示:

<doc_root>
     Documents
         Production
         Test
       <other destination types>

WebSphere Partner Gateway 定期轮询 Documents 目录及其子目录以检测消息文件。如果它发现消息,则 WebSphere Partner Gateway 持久存储该消息,然后从目录中删除该消息。然后,WebSphere Partner Gateway 按正常方式处理该消息。请参阅中心配置指南以获取关于如何创建目标的信息。

使用文件系统协议从后端系统接收消息

要使用文件系统协议接收消息,应用程序应当执行如下步骤:

  1. 轮询相应的目录以获取消息文件。
  2. 当发现消息时,持久保存它。
  3. 从目录中删除该消息。
  4. 处理该消息

要在这个方向启用文件系统消息交换,使用社区控制台的“网关”页面来设置网关,该网关指出文档的目标。WebSphere Partner Gateway 将消息文件放入网关定义的 Documents 目录。通过根据网关定义目的地目录,每个参与者连接都可以拥有一个不同的目录。 要获取关于网关的信息,请参阅中心配置指南

Copyright IBM Corp. 2003, 2005