Proxy data stream handling and complex object parameter handling allow object
oriented programs to be run as distributed programs without any explicit networking
code, and without using an interface definition language (IDL). Two proxies are
generated dynamically that allow method calls written for local invocation to be
invoked over a network. These dynamically-generated proxies allow calls to flow
across a network as if they were local, and contain support for using data stream
and complex objects as parameters.