概述WS-Security规范互操作性问题与解决办法
解决方法 3:使用 EJB 代理
如果要寻找轻量的低成本备选方案来替代中间件代理方法,使用 EJB 代理可能比较合适。在此方法中,将开发一个新 J2EE 1.4 EJB 应用程序并应用到前端中间件层(此层还承载 Web 服务使用者应用程序)。此方法要求前端中间件层包含 WebSphere Application Server V6.0 或更高版本,或者其他能够支持 J2EE 1.4 应用程序的 J2EE 应用服务器。
图 4 显示了如何使用 EJB 代理方法来允许 J2EE 1.3 门户应用程序与 J2EE 1.4 Web 服务提供者进行通信。此门户应用程序使用 EJB 的远程方法调用(Remote Method Invocation,RMI)与 EJB 代理进行通信,EJB 使用 WS-Security 1.0 规范将请求传递给 Web 服务提供者。

图 4. 使用 EJB 代理
表 3. 使用 EJB 代理方法时所涉及的角色和任务
| 角色 | 任务 |
|---|---|
| 应用程序开发人员 | 创建 EJB 代理应用程序 将 Web 服务使用者与 EJB 代理应用程序集成 |
| 部署人员 | 部署和管理 EJB 代理应用程序 |
| 测试工程师 | 验证 Web 服务使用者按预期工作 |
实现 EJB 代理方法所需要的工作主要是应用程序开发工作(不过此解决方法引入了另一个必须由操作团队进行部署、保护和管理的另一个应用程序)。
EJB 代理方法最适合沙箱、测试或概念验证场景,在此类场景下不适合选择将 Web 服务使用者应用程序升级到 J2EE 1.4,而且不能承受由设置中间件代理带来的成本。此方法的缺点是,当需要将大量使用 WS-Security 草案 13 规范的 Web 服务使用者与使用 WS-Security 1.0 版规范进行集成时,它并不能很好地扩展。在这种情况下,每个 Web 服务使用者应用程序必须与 EJB 代理分别集成,从而使必要的开发工作量变得非常大。
0
相关文章