Skip navigation.

Programming WebLogic RMI

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents View as PDF   Get Adobe Reader

Using RMI over IIOP

The following sections provide a high-level view of RMI over IIOP:

 


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 9.0 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 9.0 for information how WebLogic Server complies with specifications for CORBA support in J2SE 1.4 .

The WebLogic Server implementation of RMI-IIOP allows you to:

How you develop your RMI-IIOP applications depends on what services and clients you are trying to integrate. See Programming Stand-alone Clients for more information on how to create applications for various clients types that use RMI and RMI-IIOP.

Figure 7-1 shows RMI Object Relationships for objects that use IIOP.

Figure 7-1 RMI Object Relationships

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 9.0 provides multiple options for using RMI-IIOP in a Java-to-Java environment, including the new J2EE 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 Programming Stand Alone Clients.

Support for RMI-IIOP with Tuxedo Client

WebLogic Server 9.0 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. For more information, see the WebLogic Tuxedo Connector Programmer's Guide.

Support for RMI-IIOP with CORBA/IDL Clients

The developer community requires the ability to access J2EE 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 . 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.

 


Protocol Compatibility

Interoperability between WebLogic Server 9.0 and WebLogic Server 6.1, 7.0, and 8.1 is supported in the following scenarios:

Server-to-Server Interoperability

The following table identifies supported options for achieving interoperability between two WebLogic Server instances.

Table 7-1 WebLogic Server-to-Server Interoperability

To

Server

From Server

WebLogic Server 6.1 SP2 and any service pack higher than SP2

WebLogic Server 7.0

WebLogic Server 8.1

WebLogic Server 9.0

WebLogic Server 6.1 SP2 and any service pack higher than SP2

RMI/T3

RMI/IIOP1

HTTP

Web Services

RMI/T3

RMI/IIOP2

HTTP

Web Services

RMI/T33

RMI/IIOP4

HTTP

Web Services5

RMI/T36

RMI/IIOP7

HTTP

Web Services8

WebLogic Server 7.0

RMI/T3

RMI/IIOP9

HTTP

RMI/T3

RMI/IIOP10

HTTP

Web Services

RMI/T3

RMI/IIOP11

HTTP

Web Services12

RMI/T3

RMI/IIOP13

HTTP

Web Services14

WebLogic Server 8.1

RMI/T3

RMI/IIOP15

HTTP

RMI/T3

RMI/IIOP16

HTTP

Web Services17

RMI/T3

RMI/IIOP

HTTP

Web Services

RMI/T3

RMI/IIOP

HTTP

Web Services

WebLogic Server 9.0

RMI/T3

RMI/IIOP18

HTTP

RMI/T3

RMI/IIOP19

HTTP

Web Services20

RMI/T3

RMI/IIOP

HTTP

Web Services

RMI/T3

RMI/IIOP

HTTP

Web Services

Sun JDK ORB client21

RMI/IIOP22

RMI/IIOP23

RMI/IIOP24

RMI/IIOP25


1.  No support for clustered URLs and no transaction propagation


2.  No support for clustered URLs and no transaction propagation


3.  Known problems with exception marshalling with releases prior to 6.1 SP4


4.  No support for clustered URLs and no transaction propagation. Known problems with exception marshalling.


5.  Must use portable client stubs generated from the "To Server" version


6.  Known problems with exception marshalling with releases prior to 6.1 SP4


7.  No support for clustered URLs and no transaction propagation. Known problems with exception marshalling.


8.  Must use portable client stubs generated from the "To Server" version


9.  No support for clustered URLs and no transaction propagation


10.  No support for clustered URLs


11.  No support for clustered URLs


12.  Must use portable client stubs generated from the "To Server" version


13.  No support for clustered URLs


14.  Must use portable client stubs generated from the "To Server" version


15.  No support for clustered URLs and no transaction propagation. Known problems with exception marshalling


16. No support for clustered URLs and no transaction propagation


17.  Must use portable client stubs generated from the "To Server" version


18.  No support for clustered URLs and no transaction propagation. Known problems with exception marshalling


19. No support for clustered URLs and no transaction propagation


20.  Must use portable client stubs generated from the "To Server" version


21. This option involves calling directly into the JDK ORB from within application hosted on WebLogic Server.


22.  JDK 1.3.x only. No clustering. No transaction propagation


23.  JDK 1.3.x or 1.4.1. No clustering. No transaction propagation


24.  JDK 1.3.x or 1.4.1. No clustering. No transaction propagation


25.  JDK 5.0. No clustering. No transaction propagation


 

Client-to-Server Interoperability

The following table identifies supported options for achieving interoperability between a stand-alone Java client application and a WebLogic Server instance.

Table 7-2 Client-to-Server Interoperability

To

Server

From Client (stand-alone)

WebLogic Server 6.1

WebLogic Server 7.0

WebLogic Server 8.1

WebLogic Server 9.0

WebLogic Server 6.1

RMI/T3

HTTP

Web Services

RMI/T3

HTTP

Web Services1

RMI/T32

HTTP

Web Services3

RMI/T34

HTTP

Web Services5

WebLogic Server 7.0

RMI/T3

RMI/IIOP6

HTTP

RMI/T3

RMI/IIOP7

HTTP

Web Services

RMI/T3

RMI/IIOP8

HTTP

Web Services9

RMI/T3

RMI/IIOP10

HTTP

Web Services11

WebLogic Server 8.1

RMI/T3

RMI/IIOP12

HTTP

RMI/T3

RMI/IIOP13

HTTP

Web Services14

RMI/T3

RMI/IIOP

HTTP

Web Services

RMI/T3

RMI/IIOP

HTTP

Web Services

WebLogic Server 9.0

RMI/T3

RMI/IIOP15

HTTP

RMI/T3

RMI/IIOP16

HTTP

Web Services17

RMI/T3

RMI/IIOP

HTTP

Web Services

RMI/T3

RMI/IIOP

HTTP

Web Services

Sun JDK ORB client18

RMI/IIOP19

RMI/IIOP20

RMI/IIOP21

RMI/IIOP22


1.  Must use portable client stubs generated from the "To Server" version


2.  Known problems with exception marshalling with releases prior to 6.1 SP4


3.  Must use portable client stubs generated from the "To Server" version


4.  Known problems with exception marshalling with releases prior to 6.1 SP4


5.  Must use portable client stubs generated from the "To Server" version


6.  No Cluster or Failover support. No transaction propagation


7.  No Cluster or Failover support


8.  No Cluster or Failover support


9.  Must use portable client stubs generated from the "To Server" version


10.  No Cluster or Failover support


11.  Must use portable client stubs generated from the "To Server" version


12.  No Cluster or Failover support and no transaction propogation. Known problems with exception marshalling


13.  No Cluster or Failover support and no transaction propogation. Known problems with exception marshalling


14.  Must use portable client stubs generated from the "To Server" version


15.  No Cluster or Failover support and no transaction propogation. Known problems with exception marshalling


16.  No Cluster or Failover support and no transaction propogation. Known problems with exception marshalling


17.  Must use portable client stubs generated from the "To Server" version


18.  This option involved calling directly into the JDK ORB from within a client application.


19.  JDK 1.3.x only. No clustering. No transaction propagation


20.  JDK 1.3.x or 1.4.1. No clustering. No transaction propagation


21.  JDK 1.3.x or 1.4.1. No clustering. No transaction propagation


22.  JDK 5.0. No clustering. No transaction propagation


 

 

Skip navigation bar  Back to Top Previous Next