Paper abstract: Six generations of RPC systems can be distinguished including Federated Method Invocation presented
in this paper. Some of them—CORBA, Java RMI, and Web/OGSA services—support distributed objects.
However, creating object wrappers implementing remote interfaces doesn’t have a great deal to do
with object-oriented distributed programming. Distributed objects developed that way are usually illstructured,
difficult to use, with missing core object-oriented traits. A distributed system is not just a
collection of distributed objects—it is the network of dynamic objects that come and go. In particular,
the object wrapping approach does not help to cope with network-centric messaging, invocation latency,
object discovery, dynamic object federations, fault detection, recovery, partial failure, etc. The Jini™
service architecture does not hide the network; it allows the programmer to deal with the network reality
to form dynamic service federations. However, handling low-level networking details in Jini does not
help to cope with complex network programming to dynamically cluster, federate, and utilize efficiently
various network services easily. A new network programming methodology is presented in this paper. It
uses the intuitive metacomputing semantics and the Triple Command design pattern. The pattern defines
how service objects communicate by sending one another a form of service messages called exertions
that encapsulate data, operations, and control strategy.