A proxy generator produces computer code for compilation as a client-side
proxy in support of client-server distributed software applications.
Using information from a software "contract" file that defines the
desired functionality of the distributed application, and, optionally,
from a configuration file that tailors proxy operation for a specific
application, the proxy generator generates proxy code for compilation as
a generated proxy. This generated proxy interfaces a client application
with a server application, and insulates the client application from the
complexities of distributed computing. More particularly, the generated
proxy automatically includes exception-handling mechanisms tailored to
the software contract for both recoverable and non-recoverable errors.
Information in the configuration file determines the generated proxy's
response to recoverable errors, such as the number of retries attempted
for a given type of network communication error.