Information Technology Reference
In-Depth Information
tion between the two are different. As well as argument passing conventions, the
equals() , hashCode() ,and toString() methods of the Object class are over-
ridden by the java.rmi.RemoteObject class to deal appropriately with remote
objects, for example by displaying information about the transport of the object
in the case of the toString() method. RMI applications do not, therefore, behave
the same as local applications, which adds to the programmer's burden.
The major shortcoming of RMI is that, by ensuring that programmers are
aware of the differences between local and remote objects, an additional burden is
placed on programmers. While Waldo et al. [118] argue that this is necessary, there
are a number of significant issues with RMI's implementation of this approach:
• Programming is far more complicated than the transparent approach adopted
by most RPC type systems.
• The programmer has to mark an object as being remote by having it imple-
ment the java.rmi.Remote interface.
• Remote operations have to be declared to throw the
java.rmi.RemoteException exception.
• Classes that are marked remote and have operations that are declared to
throw java.rmi.RemoteException in an interface, have to be altered to be
reused outside RMI.
• Clients, and servers that are also clients, are required to provide a security
manager to ensure applications can only access resources they are entitled
to.
• Applications are required to use the RMI framework for exporting and locat-
ing objects.
2.6 Message-Oriented Middleware
Message-oriented middleware (MOM) systems refer to a type of asynchronous com-
munication known as message queueing [9] where middleware is commonly defined
as a software layer that provides a higher level of abstraction, which consider-
ably simplifies distributed systems development [32]. MOM systems are highly
successful in industry and represent a sizeable segment of the Information and
Communication Technology market [32].
As described by Eugster et al. [34], MOM systems are generally highly scal-
able as the decoupling of message producer from consumer improves scalability by
removing all explicit dependencies between the interacting participants along the
following two dimensions:
Time decoupling. The interacting parties do not need to be actively participating
in the interaction at the same time. Either party may be disconnected while
the other is sending messages to it. Once they become connected, they may
be notified of an event sent by the other party and the other party may be
currently disconnected.
Search WWH ::




Custom Search