I would not be too optimistic about the possibilities of switching the
transport infrastructure transparently. RMI and CORBA differ in several
important ways:
- IDL, if compared to RMI, gives you only a rather limited interface to your
object (e.g you can't write a distributed propertyChange method with a *real*
Java event parameter in CORBA - you have to use a struct.). In RMI you can use
all Serializable types in Interfaces.
- CORBA does not allow for downcasting of remote stubs. (you have to use
narrow, and you loose the object identity in doing so). RMI does.
- CORBA does not guarantee the object identity of remote references (i.e. two
references to the same remote object need not be identical wrt ==; you have to
use isEquivalent). RMI does.
- CORBA does not allow for overloading of methods. RMI does.
- CORBA cannot transmit null parameters. RMI can.
CORBA is certainly a great way of doing distributed computing, with a long
(well - relatively long) history of successfull implementations. But you have
to pay a price for language independence. RMI over IIOP is only in beta so far.
It is interesting but the points mentionned above concerning downcasts and
object identity apply to RMI over IIOP as well.
IMHO it will be rather difficult to port an existing RMI application to CORBA.
If you want to go for CORBA, do it right away. Wrapping the CORBA code in a
thin Java layer is possible (we did it in our current project) and gives you
some nice features. It would probably require a considerable amount of work,
though, and it is not a standard solution.
Rainer Kerth
-----------------------------------------------------------------------------
Rainer Kerth, Consultant
EMEA Object Technology Practice
IBM Unternehmensberatung GmbH
Mobil (+49-171) 766 92 07, E-Mail [EMAIL PROTECTED]
-----------------------------------------------------------------------------
Rainer Kerth, Consultant
EMEA Object Technology Practice
IBM Unternehmensberatung GmbH
Mobil (+49-171) 766 92 07, E-Mail [EMAIL PROTECTED]
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".