The context of PROOF is the World Wide Web, with servers that provide information and clients that retrieve it. Users behind the clients can belong to a workgroup or they may share a common interest.
What is PROOF?
The aim of PROOF is to enrich the bare stateless WWW world with the capability of computation. PROOF is a framework that provides the functionalities of a proxy server. Unlike traditional proxy, our framework can host a software module, which can execute computations and mantain a state. Different modules implement different applications.
PROOF is fully implemented in Java. The framework provides the management of the connection with the clients and the servers, while the hosted module defines the application part, and provides the policies of the specific application. In this way, implementing new distributed WWW application is limited to program a specific module.
How does it work?
The framework passes the incoming request to the module, which can decide to send it to the corresponding WWW server or to furnish an answer (for example, taking information from a local cache). The module can elaborate the retreved HTML document before sending it to the client, and can use its state to make different users working together.