![[z/OS]](../images/ngzos.gif)
Enterprise Java Bean 目标上的 WebSphere 优化本地适配器 (WOLA) 远程工作请求
此功能部件允许批处理程序和 CICS® 等客户机应用程序与主管这样的应用程序的远程 WebSphere® Application Server 服务器实例联系:客户机需要该应用程序的业务逻辑执行和结果。通过利用 BBOA1INV/BBGA1INV 和 BBOA1SRQ/BBGA1SRQ API 以及 WebSphere Application Server for z/OS® 随附的代理应用程序 (RemoteEJBProxy) 来进行远程调用。
- 将远程 WebSphere Application Server 实例的名称空间与本地 z/OS WebSphere Application Server 进行联合,以使本地服务器能够查询远程服务器上的应用程序。远程应用程序必须是用于实现 execute() 方法的无状态 Enterprise Java™ Bean,该方法接受将字节阵列作为输入,并返回字节阵列作为输出,如 com.ibm.websphere.ola.Execute 接口中所定义。当使用 EJB 2.1 或更低版本的规范时,它还必须为 EJB home 接口指定名称 com.ibm.websphere.ola.ExecuteHome,为远程接口指定 com.ibm.websphere.ola.Execute;当使用 EJB 3.0 规范,它必须定义指定了 com.ibm.websphere.ola.ExecuteHome 的注释 @RemoteHome。在 WebSphere Application Server for z/OS 以及安装在分布式平台上的 WebSphere Application Server 中,在运行时都可获得这些接口。为了开发远程应用程序,在 WebSphere Application Server for z/OS 随附的 ola_apis.jar 组装工具中提供了所提到的接口。请勿将这些接口与应用程序 EAR 文件打包在一起。
- 在本地 z/OS WebSphere Application Server 服务器实例上安装其中包含 RemoteEJBProxy 应用程序的优化本地适配器代理 EAR 文件 (ola_proxy.ear)。可以在 WebSphere Application Server for z/OS 文件系统的 $(WAS_INSTALL_ROOT)/installableApps 目录中找到该 EAR 文件。
缺省情况下,remoteEJBProxy 应用程序绑定至以下 JNDI 名称:ejb/com/ibm/ws390/ola/jca/RemoteEJBProxyHome。如果由于任何原因而必须更改缺省值,那么可以通过管理控制台页面在应用程序 > ola_proxy > EJB JNDI 名称 > 所有接口的 JNDI 名称下定制代理应用程序的目标资源 JNDI 名称。如果已更新 JNDI 名称,那么必须按“优化本地适配器环境变量”主题中所讨论那样设置 ola_remote_ejb_proxy_jndiname 环境变量,从而让 WebSphere 运行时知道已进行此更改。
请注意,更改 remoteEJBProxy 应用程序的缺省 JNDI 名称是一个可选步骤。除非您需要更改缺省 JNDI 名称,否则不需要执行此步骤。
- 重新启动服务器。
“调用”(BBOA1INV/BBGA1INV) API 和“发送请求”(BBOA1SRQ/BBGA1SRQ) API 的调用过程与本地调用的那些调用过程相同,唯一的区别在于必须将调用请求类型参数 (requesttype) 设置为 2,如“z/OS API 的优化本地适配器”主题中所讨论那样。
在“调用”或“发送请求”API 调用上指定的服务名称(JNDI 名称),应该与本地 WebSphere Application Server for z/OS 将用来查询一个使用远程服务器的联合 JNDI 名称空间的远程应用程序的名称相同。例如,如果在位置 remote/server5 联合了远程服务器的名称空间,并且在远程服务器上使用 JNDI 名称 ejb/myRemoteApp 安装了应用程序,那么在“调用”API 或者“发送请求”API 上指定的服务名称将为 remote/server5/ejb/myRemoteApp。
此功能部件还能够在客户机启动的全局事务中调用远程应用程序。在全局事务中使用 CICS 客户机时,如果 CICS 在发出命令以落实该全局事务之后检测到该事务已回滚,那么结果可能是 ABEND ASP3。假定 CICS 处理这样一个方案,那么这是符合预期的情况。如果在处理 EJB 调用时发生了错误情况,从而不得不回滚全局事务,那么回滚行为也是符合预期的行为。