ActiveX 到 Enterprise JavaBeans (EJB) 网桥
WebSphere® Application Server 提供了一个 ActiveX 到 EJB 网桥,使 ActiveX 程序可通过一组 ActiveX 自动化对象来访问企业 Bean。
该网桥通过将 Java™ 虚拟机 (JVM) 装入到任何 ActiveX 自动化容器(如 Visual Basic、VBScript 和 Active Server Pages (ASP))来实现此访问。
- 客户机应用程序(例如 Visual Basic 和 VBScript)是用户从命令行、桌面图标或“开始”菜单快捷方式启动的程序。
- 客户机服务(例如 Active Server Page)是通过某些自动方法(如服务控制面板 applet)启动的程序。
ActiveX 到 EJB 网桥使用 Java 本机接口 (JNI) 体系结构程序化地访问 JVM 代码。因此,JVM 代码与 ActiveX 应用程序(Visual Basic、VBScript 或 ASP)在相同的进程空间中,并在进程终止前,一直与进程连接。要创建 JVM 代码,ActiveX 客户机程序将调用 XJB.JClassFactory 对象的 XJBInit() 方法。
在 ActiveX 客户机程序初始化 JVM 代码后,该程序调用几个方法来为 Java 类创建代理对象。 访问 Java 类或对象时,实际的 Java 对象位于 JVM 代码中;自动化容器包含该 Java 对象的代理。 ActiveX 程序可使用代理对象来访问 Java 类、对象字段和方法。
要转换基本数据类型,客户机程序使用 COM IDispatch 接口(不支持直接使用 IUnknown 接口)。基本数据类型在本机自动化类型和 Java 类型之间自动转换。 所有其他类型由代理对象自动处理。
在 Java 代码中抛出的任何异常都会组合在一起并作为 COM 错误重新抛出,ActiveX 程序通过该错误可确定实际的 Java 异常。
ActiveX 到 EJB 网桥支持自由线程访问和单元线程访问,并实现自由线程聚集器 (FTM) 以在混合环境(如 Active Server Page)中工作。
有关使用 ActiveX 到 EJB 网桥进行 ActiveX 客户机编程的更多信息,请参阅开发 ActiveX 客户机应用程序代码主题。