IIOP 上的 RMI 将 RMI 扩展为可在 IIOP 协议中工作。这样带来了两个可以利用的好处。在 Java 到 Java 模式中,这使您能够按照标准化的互联网内部对象请求代理协议(Internet Interop-Orb-Protocol,简称 IIOP)编程。如果您不是在纯 Java 环境下工作,则使用它可以使 Java 程序与通用对象请求代理体系结构(Common Object Request Broker Architecture,简称 CORBA)客户端交互,并执行 CORBA 对象。CORBA 客户端可使用各种语言(包括 C++)编写,并使用接口定义语言(Interface Definition Language,简称 IDL)与远程对象交互。
WebLogic Server 提供了自己的 ORB 实现,默认情况下,它在程序调用 ORB.init()
时或在 JNDI 中查找 "java:comp/ORB"
时进行实例化。有关 WebLogic Server 如何符合 J2SE 1.4 中有关 CORBA 支持的规范的信息,请参阅 CORBA 对 WebLogic Server 的支持。
RMI-IIOP 的 WebLogic Server 实现使您能够:
RMI-IIOP 应用程序的开发方式取决于要集成的服务和客户端。有关如何为使用 RMI 和 RMI-IIOP 的各种客户端类型创建应用程序的详细信息,请参阅独立客户端编程。
图7-1 显示了使用 IIOP 的对象的 RMI 对象关系。
可对 Java/RMI 客户端使用 RMI-IIOP,充分利用标准 IIOP 协议。WebLogic Server 为在 Java 到 Java 的环境中使用 RMI-IIOP 提供了多种选择,其中包括新的 J2EE 应用程序客户端(瘦客户端,基于占用较小空间的新客户端 JAR)。要使用这个新的瘦客户端,需要在客户端的 CLASSPATH 中包含 wlclient.jar
(位于 WL_HOME/server/lib
中)。有关 RMI-IIOP 客户端选项的详细信息,请参阅独立客户端编程。
WebLogic Server 包含了 WebLogic Tuxedo Connector 的实现,这是一种使您能够与 Tuxedo 服务器进行互操作的底层技术。使用 WebLogic Tuxedo Connector,可以将 Tuxedo 作为 ORB 利用,或者将旧版 Tuxedo 系统与在 WebLogic Server 上开发的应用程序集成。有关详细信息,请参阅 WebLogic Tuxedo Connector 编程人员指南。
开发人员社区要求能够从 CORBA/IDL 客户端访问 J2EE 服务。但是,Java 和 CORBA 所基于的对象模型有很大不同。因此,直到现在,在用两种编程模式创建的对象间共享数据仍然仅限于 Remote 和 CORBA 基元数据类型。在异构对象间,不论是 CORBA 结构还是 Java 对象,都不能及时传递。为解决这方面的限制,Object Management Group (OMG) 创建了 Objects-by-Value 规范。此规范定义了将 Java 对象模型导出到 CORBA/IDL 编程模型中的实现技术,它允许在两种模型间互换复杂数据类型。通过正确实现规范的任意 CORBA ORB,WebLogic Server 能够支持 Objects-by-Value。
在下列场景中,支持 WebLogic Server 9.x 与 WebLogic Server 7.0 及 8.1 之间的互操作性:
下表标识了所支持的用于在两个 WebLogic Server 实例之间进行互操作的选项。
|
|
|
|
|
|||
|
|||
|
|
|
|
|
下表标识了所支持的用于在独立 Java 客户端应用程序和 WebLogic Server 实例间进行互操作的选项。
|
|
|
|
|
|||
|
|||
|
|
|
|
|