WebSphere® Application Server 的“Web Service 业务活动”(WS-BA) 技术支持遵循 WS-BA 规范的 Web Service 的实现。
使用时应满足的先决条件
- WebSphere Application Server V8.0 或 V8.5 以及包含单个独立应用程序服务器的概要文件。
- 本主题中的过程仅包含适用于 Windows 平台的指示信息。要在 UNIX 平台上运行此样本,请在完成此任务时完成下列操作:
- 将 Windows 批处理文件的文件扩展名 (.bat) 替换为 UNIX Shell 脚本的文件扩展名 (.sh)。
- 将 Windows 路径名替换为适当的 UNIX 标准路径名。例如,将 Windows 中使用的 \ 替换为 UNIX 中使用的 /。
要点: 针对 WebSphere Application Server V8.0 或 V8.5 测试了此样本。
下载样本
要使用此样本,请从产品下载站点下载“Web Service 业务活动”样本文件:
- 选择下列其中一种方法将 WSBASample.zip 文件下载到工作站上的某个目录中:FTP 或 HTTP。您可以在工作站上创建 /samples/WSBASample 目录路径,然后将“Web Service 业务活动”样本文件下载到该目录路径。
- 从所显示的对话框中,指定用于保存压缩文件的目标目录,然后单击确定。
- WSBASample.zip 文件中包含采用以下目录结构的样本文件:
/WSBASample
/docs
/images
/installableApps
/scripts
/src
/style
readme.html
注意: readme.html 文件中包含有关安装和运行此样本的信息。
样本描述
此样本中有一个基本方案和一个中间方案。
- 基本方案
基本方案说明了在由于业务发生异常错误而未能发送电子邮件时,可以如何使用 WS-BA 补偿处理来生成电子邮件通知。您可以选择产生异常错误以便测试配置。
- 中间方案
中间方案说明了在一个流程执行两个事务时可以如何使用 WS-BA 补偿处理。
第一个事务是预订航班。此事务有两个服务提供商:
如果航班提供商 A 返回错误,那么 WS-BA 补偿处理将尝试使用航班提供商 B 来完成预订航班。如果这两个航班提供商都返回错误,那么将生成一个取消预订的电子邮件。
第二个事务是预订酒店。此事务有两个服务提供商:
如果酒店提供商 A 返回错误,那么 WS-BA 补偿处理将尝试使用酒店提供商 B 来完成预订酒店。如果这两个酒店提供商都返回错误,那么将生成一个取消预订的电子邮件。
完成这两个预订事务之后,旅行社也可以决定不确认预订。在这种情况下,会回滚这些事务,并且会为每个预订生成取消预订的电子邮件。
有四个预先配置的设置和一个定制设置供您测试:
- 预先配置的设置 A
- 在此设置中,航班提供商 A 无法处理预订请求。应用程序改为向航班提供商 B 预订航班。然后,它成功地向酒店提供商 A 预订了酒店。此测试表明 WS-BA 支持能够克服事务处理期间产生的轻微故障,方法是:在第一个服务提供商失败时它可以查找替代的服务提供商。
- 预先配置的设置 B
- 在此设置中,航班提供商 A 产生了异常错误,因此,应用程序向航班提供商 B 预订航班。酒店提供商 A 产生了异常错误,因此,应用程序向酒店提供商 B 预订酒店。此测试表明 WS-BA 支持能够克服在业务活动期间产生的轻微故障,方法是:尽管已经完成了一个事务(预订航班),但还是要查找替代提供商以预订酒店。
- 预先配置的设置 C
- 在此设置中,两个航班提供商和两个酒店提供商都返回了错误,并且未完成任何事务。应用程序将生成两个取消预订的电子邮件,详细说明未预订任何航班或酒店。此设置说明了 WS-BA 的补偿处理方面。当事务失败时,应用程序将生成取消预订的电子邮件作为补偿,这可以提醒相应的人员发生了错误。
- 预先配置的设置 D
- 在此设置中,应用程序成功地向航班提供商 A 预订了航班,并且向酒店提供商 A 预订了酒店房间。但是,旅行社决定不确认这些预订,因此,已回滚这些事务。WS_BA 补偿服务将取消该航班预订和酒店预订,并且会生成两个取消预订的电子邮件。此设置说明了从外部源输入之后,可以如何使用 WS-BA 补偿处理来回滚在两个事务下已完成的工作。
- 定制配置
- 在定制配置中,您可以选择系统的哪些部件(如果有)产生错误。用户还可以选择旅行社是否确认预订。您可以测试它们的配置,了解 WS-BA 如何针对发生的任何错误进行补偿。