开始之前
本教程适用于有兴趣利用 Apache Derby 和 Web 服务的 Java™ 开发人员。您将创建一系列 Java 类,这些 Java 类将通过 WSRF 和 WS-Notification 标准公开 Derby 数据库的特定元素。
本系列教程共分为三个部分,从 Web 服务的角度介绍了 Derby。Web 服务是无状态的,而大多数应用程序却不是。
- 第 1 部分 向您展示了如何使用 WS-Resources 从 Web 服务的固有的无状态环境里引用 Derby 数据和结构。
- 本文是该系列教程的第 2 部分,将展示如何用 Apache Derby 来生成和使用 Web 服务通知。例如,数据库可以在插入、更改数据,或者出现错误时发送通知。它还可以订阅一个特殊事件,当收到特定通知时采取行动(例如清空一张表)。
- 第 3 部分将在第 1 部分和第 2 部分的基础上,说明如何使用 MUWS 来远程管理基于 Derby 的应用程序。
在 第 1 部分 中,创建了一个 Person Web 资源,在其中公开了人员的名称、别名和状态。而且还提供了一种用于启用和禁用人员的方法。
在第 2 部分中,将添加对 WS-Notification 框架的支持。WS-Notification 为客户机(使用者)提供了一个标准方法用于订阅关于特定资源的通知。通知可以采取多种形式并且可以由多种不同事件来触发。在本教程中,主要介绍了如何将触发器添加到在第 1 部分中开发的 enable 和 disable 服务中,以便在 Person 资源的状态发生改变时发出通知。
本教程涵盖了以下主题:
- 使用 Pubscribe 框架
- 修改 WSDL 以生成必要的代码
- 向已有的 Person 资源类中添加通知
- 改进代码以便更高效地发现通知和资源属性
这里是存在一些限制的。仅当使用 Web 资源更新状态时,状态更改才会触发通知事件。在数据库内部发生的更改不会触发通知消息。如果需要让数据库更改也触发通知,则需要编写基于 Java 的数据库触发器,该数据库触发器将向 Web 服务发送简单对象访问协议 (Simple Object Access Protocol,SOAP) 消息。
本教程中的示例使用 Java 平台(1.5 版或更高),并且还使用了以下工具:
- Apache Tomcat:此服务器用于保存可以提供对 Web 资源的访问的 Web 服务。
- Apache Derby:此数据库用于保存关于人员的信息。Web 服务可以在数据库中查找关于任何给定 Web 资源的信息。
- Apache WSRF:此框架极大地简化了 Web 资源的开发过程
- Apache Pubscribe:此框架支持 WS-Notification 标准,并提供桩消息和方法。
- Apache Ant:Ant 是一个构建环境,该环境配有一个标准的构建文件,并且可以运行开发最终应用程序所需的命令。
本教程中的示例和指导信息都是基于上述配置安装和 Microsoft® Windows® 环境的,当然,这些原理也可以应用在 UNIX®/Linux® 环境中。