拍卖 Web Service 详细信息

此 Web Service 是作为另外一种使用 XML 的与拍卖应用程序使用的商品数据库进行交互的方法而开发的。拍卖 Web Service 的用户可在数据库中添加和删除商品,以及查看当前拍卖中一个或所有商品的信息。

Web Service 是一组可通过因特网发布、查找和调用的相关应用程序功能。Web Service 允许在不同平台上运行和使用不同语言开发的应用程序使用基于 XML 的组件进行交互操作。

一般有两种方法来进行 Web Service 开发:自顶向下方法和自底向上方法。在自顶向下方法中,Web Service 基于 Web 服务描述语言(WSDL)和 XML 模式定义(XSD)文件中定义的 Web Service 接口和 XML 类型。开发者然后修改此框架实现来与业务逻辑进行交互。在自底向上方法中,Web Service 是基于 Java bean 或 EJB 中的现有业务逻辑创建的。生成 WSDL 和 XSD 文件来描述结果 Web Service 接口。自顶向下方法允许对使用的 Web Service 接口和 XML 类型进行更多的控制,推荐使用此方法来开发 Web Service。

拍卖 Web Service 是使用自顶向下方法开发的,即通过首先定义 WSDL 和 XSD 文件。WSDL 文件定义公开的接口、调用的操作以及在这些操作期间传递的消息。WSDL 文件引用 XSD 文件来获取这些消息的确切定义。

对于拍卖列表 Web Service 应用程序,操作提供了以下功能:

  • 将商品添加到目录
  • 从目录除去商品
  • 显示有关特定商品的信息
  • 显示目录中所有商品的列表
下图说明了此 Web Service 的开发阶段。此文档中的章节描述了随此拍卖样本提供的 Web Service 代码中的两个主要组件。第二个组件,即 Java bean 框架,包含三个全部使用向导开发的不同片断。因为这些片断是同时生成的,并且是作为一个单元一起测试的,所以一起描述它们。

以下章节描述如何创建应用程序的这些关键组件,以及它们作为一个整体在开发此拍卖样本中有何重要性:

使用 WSDL 和 XSD 编辑器定义 WSDL 和 XSD 文件

Web 服务描述语言(WSDL)和 XML 模式定义(XSD)文件中定义的 Web Service 接口和 XML 类型通过定义元素及其关联操作来描述 Web Service 的外观和操作。

当开发此拍卖 Web Service 时,使用 XML 模式编辑器创建了新的 XSD 文件来定义在 Web Service 中传递的 XML 模式类型。

然后,使用“新建 WSDL 文件”向导创建了一个新的 WSDL 文件。此向导使用缺省样式和文档文字创建框架 WSDL 文件。这是 Web 服务互操作性组织(Web Services Interoperability Organization,WS-I)推荐的选择。WS-I 是业界一个开放的组织,它发布平台和语言准则来确保不同供应商开发的 Web Service 能彼此相互操作。

在创建框架 WSDL 文件后,使用了 WSDL 编辑器来编辑此 WSDL 文件。随新生成的绑定一起在 WSDL 文件中创建了新操作、消息和部件。WSDL 编辑器是与 XML 模式编辑器紧密耦合的。可从 WSDL 编辑器打开 XML 模式编辑器以便 WSDL 文件中的部件能引用 XSD 文件中定义的 XML 模式类型,如以下屏幕捕捉所示。

 

使用 Web Service 向导生成 Java Bean 框架

Java Bean 框架是使用 Web Service 向导从 WSDL 和 XSD 文件创建的。Web Service 向导根据 JAX-RPC 编程模型生成 Java 代码。Web Service 部署描述符是根据 Web Services for J2EE 规范生成的。

随着框架 Web Service 的创建,我们也选择了使用此向导来创建另外两个元素:

  • Java 代理:代理是一个 Web Service 客户机,它使得客户机能与服务提供者交谈。
  • 样本 JSP:此样本 JSP 是个 JavaServer Pages 文件,它为了测试目的而与 Web Service 客户机交互。

同时作为框架 Web Service 来创建 Java 代理和样本 JSP 使得立刻测试此 Web Service 的所有元素变得更加容易。

一旦创建了 Web Service 框架,生成的 Java 框架实现文件便在 Java 编辑器中打开。如 WSDL 文件所定义,它包含方法所需要的接口。此时,开发者修改此框架实现文件来访问后端业务逻辑。

生成的样本 JSP 是基本的,并可工作。其内容被组织到了三个框架中。左边的框架包含用户可与之交互的所有方法的列表。单击这些方法中的其中一个方法会在右上框架中打开一个输入区域。一旦在此表单中完成输入,单击“调用”按钮就会调用此方法来处理输入,并会在右下框架中显示其结果。

对于此拍卖 Web Service,我们更改了生成的样本 JSP 来创建视觉效果更吸引人的界面,并添加了对处理数组的支持。因为返回数据库中所有商品的列表的操作返回的是数组。