Distributed Objects
Distributed computing did not stop with RPC. After recognizing the potential gains to be derived from object-oriented programming, software developers spread this success to distributed computing. Similar to C (a functional paradigm), which had slowly progressed into C++ (an object-oriented paradigm), the idea of metamorphizing RPC into an object-oriented cousin became popular. Thus, software vendors and developers came together to slowly migrate the RPC (a functional paradigm) idea into a more object-oriented notion.[2]
Distributed objects embody all the ideas from RPC; for example, marshaling and security are both integrated. However, instead of calling functions, you can now instantiate objects and send messages to them. These objects can be anywhere on the local network or in cyberspace. The client does not care where the objects reside or what platform they execute on. Figure 1-5 shows how distributed technology can tie platforms together.

Figure 1-5. Distributed objects
In distributed objects technology, the Object Request Broker (commonly referred to as an ORB) is the “bus” or “channel” through which objects can discover and communicate with each other at runtime. It is a middleware that provides a common set of functionality for all objects, including concurrency, load balancing, fault tolerance, context management, and more.
[2] In fact, before distributed ...