Network Objects allows a Modula-3 object to be handed to another process in such a way that the process receiving the object can operate on it as if it were local. The holder of a remote object can freely invoke operations on that object just as if it had created that object locally. Further, it can pass the object to other processes. Thus, the Network Objects system allows the development of not just simple client-server applications, but more general multi-tiered distributed applications.
This interface, and the accompanying client and server illustrate the use of Network Objects by outlining a canonical example of a distributed program, namely that of a remotely accessible bank.
To continue: