This chapter includes the following sections:
What is RMI over IIOP?
RMI over IIOP extends RMI to work across the IIOP protocol. This has two benefits that you can leverage. In a Java to Java paradigm, this allows you to program against the standardized Internet Interop-Orb-Protocol (IIOP). If you are not working in a Java-only environment, it allows your Java programs to interact with Common Object Request Broker Architecture (CORBA) clients and execute CORBA objects. CORBA clients can be written in a variety of languages (including C++) and use the Interface-Definition-Language (IDL) to interact with a remote object.
Overview of WebLogic RMI-IIOP
WebLogic Server provides its own ORB implementation which is instantiated by default when programs call
ORB.init(), or when
"java:comp/ORB" is looked up in JNDI. See CORBA Support for WebLogic Server for information how WebLogic Server complies with specifications for CORBA support in Java SE.
The WebLogic Server implementation of RMI-IIOP allows you to:
Connect Java RMI clients to WebLogic Server using the standardized IIOP protocol
Connect CORBA/IDL clients, including those written in C++, to WebLogic Server
Interoperate between WebLogic Server and Tuxedo clients
Connect a variety of clients to EJBs hosted on WebLogic Server
How you develop your RMI-IIOP applications depends on what services and clients you are trying to integrate. See Developing Standalone Clients for Oracle WebLogic Server for more information on how to create applications for various clients types that use RMI and RMI-IIOP.
The following diagram shows RMI Object Relationships for objects that use IIOP.
Figure 9-1 RMI Object Relationships
Description of "Figure 9-1 RMI Object Relationships"
Support for RMI-IIOP with RMI (Java) Clients
You can use RMI-IIOP with Java/RMI clients, taking advantage of the standard IIOP protocol. WebLogic Server provides multiple options for using RMI-IIOP in a Java-to-Java environment, including the new Java EE Application Client (thin client), which is based on the new small footprint client jar. To use the new thin client, you need to have the
wlclient.jar (located in
WL_HOME/server/lib) on the client side's CLASSPATH. For more information on RMI-IIOP client options, see Developing Standalone Clients for Oracle WebLogic Server.
Support for RMI-IIOP with Tuxedo Client
WebLogic Server contains an implementation of the WebLogic Tuxedo Connector, an underlying technology that enables you to interoperate with Tuxedo servers. Using WebLogic Tuxedo Connector, you can leverage Tuxedo as an ORB, or integrate legacy Tuxedo systems with applications you have developed on WebLogic Server. See the Developing Oracle WebLogic Tuxedo Connector Applications for Oracle WebLogic Server.
Support for RMI-IIOP with CORBA/IDL Clients
The developer community requires the ability to access Java EE services from CORBA/IDL clients. However, Java and CORBA are based on very different object models. Because of this, sharing data between objects created in the two programming paradigms was, until recently, limited to Remote and CORBA primitive data types. Neither CORBA structures nor Java objects could be readily passed between disparate objects. To address this limitation, the Object Management Group (OMG) created the Objects-by-Value Specification at
http://www.omg.org/technology/documents/index.htm. This specification defines the enabling technology for exporting the Java object model into the CORBA/IDL programming model--allowing for the interchange of complex data types between the two models. WebLogic Server can support Objects-by-Value with any CORBA ORB that correctly implements the specification.