IBM WPS 或 IBM WESB 中基于 SOAP over JMS 的 Web 服务,第 1 部分

来源:互联网 发布:删除开机引导软件 编辑:程序博客网 时间:2024/06/11 08:09

通常,HTTP 不是用于传递 Web 服务消息的可靠协议。因此在需要更多可靠性的时候,您可能需要某种备选协议。人们正在编写越来越多的现有或新的 JMS 应用程序来处理 SOAP 消息的有效负载。WebSphere Process Server 和 WebSphere Enterprise Service Bus 都支持使用 JMS 来传递 Web 服务消息,以提供更高的可靠性和与使用 SOAP 协议的 JMS 应用程序集成的能力。

这种支持是作为 Web 服务绑定来提供的,您可以将该绑定应用于 WebSphere Process Server 和 WebSphere Enterprise Service Bus 模块导出(提供服务的点)和导入(调用服务的点)。您可以将该绑定配置为使用 HTTP 或 JMS 来传输 SOAP 消息。当将带有 Web 服务绑定的导出连接到某个组件时,运行时将自动处理 Web 服务协议和 SOAP 消息到该组件所需形式的转换。类似地,当将某个组件连接到带有 Web 服务绑定的导入时,运行时将自动处理 Web 服务的调用。

当选择 SOAP over JMS 作为 Web 服务绑定时,将使用 WebSphere Application Server 的缺省 JMS 提供者——也称为服务集成总线(Service Integration Bus,SIBus)JMS 提供者——来创建必要的资源以提供或调用 Web 服务。

WebSphere Integration Developer 使得集成开发人员无需编写复杂的代码即可容易地构建和调用使用 SOAP over JMS 的 Web 服务。Web 服务资源的 Java Naming and Directory Interface (JNDI) 名称由 WebSphere Integration Developer 使用 SIBus JMS 提供者来自动生成。

软件要求

要按照本文所述进行操作,需要在计算机上安装以下软件:

  • WebSphere Integration Developer V6.02 或 V6.1
  • WebSphere Process Server V6.02 或 V6.1,或者 WebSphere Enterprise Service Bus V6.02 或 V6.1

本文的示例同时使用 6.02 和 6.1 版来进行了开发和测试。可下载的项目交换文件是从 WebSphere Integration Developer V6.1 中提供的。

消息模型

JMS 应用程序通过两种方式之一进行交互:

  • 点对点:当存在两个直接交互的应用程序时,该消息模型称为点对点模型,并且所使用的 JMS 资源是一个队列
  • 发布/订阅:当存在一组产生信息的独立应用程序和另一组使用信息的独立应用程序时,该消息模型为发布/订阅模型,并且所使用的 JMS 资源是一个主题

示例同时演示了点对点和发布/订阅消息模型,因此您可以了解在 WebSphere Integration Developer 中构建基于 SOAP over JMS 的 Web 服务将需要哪些 JMS JNDI 资源。

自动生成的 JNDI 名称及其对应的资源用于点对点消息模型。要使用发布/订阅消息模型,必须同时在部署描述符和管理控制台中重新配置 JNDI 名称及其对应的资源。





回页首

点对点消息模型的应用场景

此场景演示了由使用 SOAP over JMS Web 服务绑定的模块来提供并由使用相同绑定的另一个模块来调用的 Web 服务。在此例中,在消息发送方和接收方使用相同 JMS 目的地的场合使用了点对点消息模型。一个 JMS 目的地用于请求消息,一个用于响应消息,如图 1 所示。


图 1. 使用 SOAP over JMS 绑定的点对点场景示例
使用 SOAP over JMS 绑定的点对点场景示例

图 1 显示了点对点消息模型中的 SOAP over JMS 使用示例。Web 服务应用程序 WSJMSBackEndService 包括一个带有 Web 服务 SOAP over JMS 绑定的导出和一个 Java 组件。该导出负责接收和发送 SOAP over JMS 消息时的 Web 服务处理,并通过其接口调用 Java 组件。该 Java 组件提供后端服务的实现;它不知道正在使用 SOAP over JMS 协议来调用它自己。

WSJMSMessageSender 应用程序具有一个带有 Web 服务 SOAP over JMS 绑定的导入,该导入通过将消息放在请求目的地和从应答目的地读取消息来调用 WSJMSBackEndService。请求消息在需要时使用 JMSReplyTo 标头字段来指示响应目的地。

创建用于点对点消息的基于 SOAP over JMS 的 Web 服务

首先您将创建一个带有共享接口的库,本文中的应用程序将使用该库。该库具有一个接口,名为 CustomerService,并带有三个操作。按照以下步骤操作,以在 WebSphere Integration Developer 中创建一个接口和一个业务对象(business object,BO):

  1. 要在 Business Integration 透视图中创建库,请选择 New > Library 以调出向导,然后输入 MyLibrary 作为名称。单击 Finish
  2. 要在 MyLibrary 中创建 BO,请选择 Data Type > New > Business Object。在字段中输入数据,如图 2 所示。

    图 2. 具有五个字段的 BO



本文转自IBM Developerworks中国

        请点击此处查看全文