This preview shows page 1. Sign up to view the full content.
Unformatted text preview: se of
Skeleton classes on the server. The second version was released with the Java 2 SDK. It has
been optimized for performance and does not require skeleton classes. (Note that some alternate
implementations, such as BEA Weblogic and NinjaRMI do not use JRMP, but instead use their
own wire level protocol. ObjectSpace's Voyager does recognize JRMP and will interoperate with
RMI at the wire level.) Some other changes with the Java 2 SDK are that RMI service interfaces
are not required to extend from java.rmi.Remote and their service methods do not necessarily
Sun and IBM have jointly worked on the next version of RMI, called RMI-IIOP, which will be
available with Java 2 SDK Version 1.3. The interesting thing about RMI-IIOP is that instead of
using JRMP, it will use the Object Management Group (OMG) Internet Inter-ORB Protocol, IIOP,
to communicate between clients and servers.
The OMG is a group of more than 800 members that defines a vendor-neutral, distributed object
architecture called Common Object Request Broker Architecture (CORBA). CORBA Object
Request Broker (ORB) clients and servers communicate with each other using IIOP. With the
adoption of the Objects-by-Value extension to CORBA and the Java Language to IDL Mapping
proposal, the groundwork was set for direct RMI to CORBA integration. This new RMI-IIOP
implementation supports most of the RMI feature set, except for:
The DGC interfaces 6 Manisha Akolkar INTERNATIONAL INSTITUTE OF INFORMATION TECHNOLOGY
P-14, Pune Infotech Park, Hinjaw adi, Pune – 411 027
The RMI transport layer is designed to make a connection between clients and server, even in
the face of networking obstacles.
While the transport layer prefers to use multiple TCP/IP connections, some network
configurations only allow a single TCP/IP connection between a client and server (some browsers
restrict applets to a single network connection back to their hosting server).
In this case, the transport layer multiplexes multiple virtual connections within a single TCP/IP
Advantages of Dynamic Code Loading
One of the central and unique features of RMI is its ability to download the bytecodes (or simply
code) of an object's class if the class is not defined in the receiver's virtual machine. The types
and the behavior of an object, previously available only in a single virtual machine, can be
transmitted to another, possibly remote, virtual machine. RMI passes objects by their true type, so
the behavior of those objects is not changed when they are sent to another virtual machine. This
allows new types to be introduced into a remote virtual machine, thus extending the behavior of
an application dynamically. The compute engine example uses RMI's capability to introduce new
behavior to a distributed program.
Remote Interfaces, Objects, and Methods
Like any other application, a distributed application built using Java RMI is made up of interfaces
and classes. The interfaces define methods, and the classes implement the methods defined in
the interfaces and, perhap...
View Full Document
This note was uploaded on 07/15/2011 for the course ECO 2023 taught by Professor Mr.raza during the Summer '10 term at FAU.
- Summer '10