构建并部署简单 Web服务资源
了解如何构建简单的 Web 服务资源(Web Services Resource)以及如何将其部署到 IBM Lotus Expeditor。本文介绍了用于生成服务器端和客户端组件的 WSRF Tool,以及如何开发可用于测试 Web 服务资源(WS-Resource)的测试客户机……
Web服务资源框架(Web Services Resource Framework,WSRF)规范为使用 Web 服务有状态地访问资源的机制制定了标准。IBM Lotus Expeditor 将 WSRF 作为一项特性整合进来,使您可以将 Open Service Gateway initiative(OSGi)服务作为资源公开。
本文介绍了 WSRF 所涉及的概念,并阐明了与建模和公开简单的有状态资源(使用 Web 服务作为 OSGi 包实现)相关的步骤。然后进一步说明了如何使用 WSRF 规范中所定义的消息交换模式标准集,访问这种有状态资源。本文使用的示例代码是为 IBM Lotus Expeditor Client for Desktop V6.1.0 所提供的 OSGi 运行时开发的。
在本文中,您将学习以下内容:
- 如何建模简单的有状态资源。
- 如何使用 Lotus Expeditor Toolkit 来实现 WS-Resource 提供程序端组件。
- 如何使用 Lotus Expeditor Toolkit 来创建 WS-Resource 客户端组件。
- 如何在 Lotus Expeditor Client 中部署 WS-Resource。
- 如何开发与 WS-Resource 一起工作的应用程序。
本文假定您已具备核心 Java 开发技能,以及 Web 服务、XML 和 OSGi 的基础知识。同时,为了运行示例应用程序,您必须在 Windows/Linux 系统上安装以下软件:
- Java 1.4.2
- Lotus Expeditor Client V6.1.0(带有 Web Services Resource Framework 6.1.0.0)
- Eclipse 3.2.0 和 Web Tools Project (WTP) 1.5.1
- Lotus Expeditor Toolkit(带有 Mobile Web Services 6.1.0)
Lotus Expeditor 中的 WS-Resource
WS-Resource 是资源和 Web 服务的组合,通过此 Web 服务可以访问资源。Lotus Expeditor Client for Desktop 使用以下组件原型来实现 WS-Resource:
- 资源
资源是封装了一个或多个必须公开为 WS-Resource 的有状态 OSGi 服务对象的 OSGi bundle。这些服务对象可以是业务实体视图(如 ShoppingCart 或 PrintJob),或是物理资源的软件 facade(如 Printer)。您需要提供服务对象的实现作为 OSGi bundle。
- Web 服务
Web 服务是充当 WS-Resource 的 Web 服务 facade 的 OSGi bundle。此组件公开了 WSRF 标准端口类型和定制端口类型,如 WS-Resource 的 Web 服务描述语言(Web Services Description Language,WSDL)中所述。您可以使用 Mobile Web Services 生成器向导为给定的资源描述生成完整的 Web 服务 bundle。
- 适配器
适配器是充当 Web 服务 bundle 和资源 bundle 之间桥梁的 OSGi bundle。它将传入的 Web 服务消息(包括 WSRF 标准端口类型和定制端口类型)发送到请求方选定的资源实例。资源的任何响应(包括异常)将通过适配器和 Web 服务 bundle 作为正常响应或错误返回给请求方。生成 Web 服务 bundle 时,Mobile Web Services 生成器向导也生成了带有占位符的适配器 bundle。您需要提供将适配器绑定到资源实例的实现。
- 客户机存根(client stub)
客户机存根是通过应用程序可用于访问 WS-Resource 并与 WS-Resource 一起工作的 Java 归档。这种客户端组件(也称为 Web 服务客户机存根)将 Java API 调用转换为订阅由 WS-Resource 发布的 WSDL 文件的 SOAP 消息。您完全可以使用生成器向导来生成这些客户机存根。
- 本文关键词:

