解决方法 2:使用 Web Services Gateway
Web Services Gateway 是 IBM WebSphere Application Server Network Deployment 的一个软件组件,可以在产品安装后进行可选配置。IBM WebSphere DataPower SOA Appliances 是专门构建的一种非常易于部署的网络设备。Web Services Gateway 和 WebSphere DataPower SOA Appliances 都意在帮助简化和保护企业中的 Web 服务部署。WebSphere DataPower SOA Appliances 还可以用于提高 Web 服务应用程序的性能。
Web Services Gateway 或 DataPower 设备都可以用于处理 WS-Security 规范级别的互操作性问题。如图 3 中所示,这些解决方案都能够对使用 WS-Security 1.0 规范的 Web 服务进行代理,从而使得此服务对所有使用 WS-Security 草案 13 规范的 Web 服务使用者可用。
注意:本文剩下的部分将此解决方法称为中间件代理 方法。

图 3. 使用 Web Services Gateway 或 DataPower 设备
表 2. 使用中间件代理时所涉及的角色和任务
| 角色 | 任务 |
|---|---|
| 开发人员 | 安装 Web Services Gateway 或 DataPower 设备 在 Web Services Gateway 或 DataPower 设备上配置 J2EE 1.4 服务 |
| 测试工程师 | 验证 Web 服务使用者按预期工作 |
中间件代理方法的一个优势在于,不需要进行任何应用程序开发任务。Web 服务提供者和使用者应用程序无需更改就可以通过中间件代理进行互操作。由于这个原因,在有很多使用 WS-Security 草案 13 规范 Web 服务使用者需要与使用 WS-Security 1.0 规范的 Web 服务提供者进行集成时,中间件代理可方便地进行伸缩。为提供者服务安装并配置了中间件代理后,可以将其用于集成任意数量的 Web 服务使用者,而无需进行任何额外的工作。
此方法的另一个优势在于,可以获得使用 Web Services Gateway 或 DataPower 设备带来的所有好处。这些组件可以简化企业中的 Web 服务开发和管理,而且通过这样还能够提高您的 Web 服务应用程序和基础设施的投资回报。此外,如果选择使用 DataPower 设备,设备所提供的功能能够切实地提高您的 Web 服务应用程序的性能。有关 Web Services Gateway 和 WebSphere DataPower SOA Appliances 的好处的更多信息,请参见本文最后的参考资料部分提供的链接。
中间件代理方法的一个缺点是,它引入了大量操作与管理任务。必须像处理其他关键基础设施组件一样安装、配置和管理中间件代理组件。如果已经购买了 WebSphere Application Server Network Deployment Edition,则已经有了 Web Services Gateway 组件,没有必要进行额外的采购了。另一方面,如果选择使用 DataPower 设备,可能会有与此网络设备相关的成本。
另一个缺点是,此方法可能会破坏 Web 服务使用者与 Web 服务提供者间的信任模型。这是因为,根据所应用的安全性不同,中间件代理可能需要对使用者发送到代理的入站 SOAP 消息进行验证和加密,并对从代理发送到提供者的出站 SOAP 消息重新应用安全性。这可能对您的安全体系结构有极大的影响。