Hi,

Guy Rouillier wrote:
> Yes, RMI is a TCP protocol.  RMI over IIOP simply carries the RMI protocol
> on top of IIOP, just like (e.g.) Microsoft can carry NetBEUI traffic over
> TCP/IP.

I do not agree here.
(But I am not a RMI expert, and hope
that Rickard corrects me if I am
wrong.)

In particular, RMI over IIOP is not
just simple tunneling, as NetBEUI
over TCP/IP.

RMI is an API that you can use for
remote object invocations.
By default RMI uses the JRMP protocol.
The JRMP protocol defines the wire
encoding of the invocation requests,
and needs a reliable full-duplex
connection-oriented network transport
that may or may not be encrypted and/or
authenticated.

The CORBA IIOP protocol is simply GIOP
over a TCP transport. The GIOP protocol
defines the wire encoding for CORBA
invocation requests.

Some things that you can do with RMI
cannot be done with the GIOP protocol.
This is why the RMI/IIOP subset of RMI
was defined. When RMI is used over
IIOP, the wire protocol is compatible
with all other CORBA implementations
that use IIOP. This means that your
RMI/IIOP program can invoke methods on
CORBA objects that are implemented in
C++ and run on another machine with a
CORBA implementation from another
vendor.

If RMI over IIOP just used tunneling,
this interoperability would not be
possible, and there would be no need
to use the RMI/IIOP subset only.


Best Regards,

Ole Husgaard.


--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]

Reply via email to