In this paper we presented a thin-client programming model where clients download application front ends that have a presentation layer and some application logic, but the bulk of an application is executed as services on remote servers. We described the design and implementation of a framework, called Metis, that enables the thin-client programming model, and showed how it can be used in sample applications.
The design of the Metis framework has an open architecture composed of abstract interfaces for various services so that any implementation can be plugged in. We implemented both client- and server-side infrastructure and realized a full end-to-end framework that provides support for:
During the course of this work we identified several areas of further research which may be beneficial to the thin-client programming model. These include support for application-specific recovery, remote event mechanisms,and improved security and communications. We plan to explore the above areas as we enhance Metis to fully realize the benefits of the thin-client programming model.