Towards a Platform for Distributed Application Development

This paper describes the architecture of a generic platform for building distributed systems over stand alone applications. The proposed platform integrates ideas and technology from areas such as distributed and parallel databases, transaction processing systems, and workflow management. The main contribution of this research effort is to propose a “kernel” system providing the “essentials” for distributed processing and to show the important role database technology may play in supporting such functionality. These include a powerful process management environment, created as a generalization of workflow ideas and incorporating transactional notions such as spheres of isolation, atomicity, and persistence and a transactional engine enforcing these “quality guarantees” based on the nested and multi-level models. It also includes a tool-kit providing externalized database functionality enabling physical database design over heterogeneous data repositories. The potential of the proposed platform is demonstrated by several concrete applications currently being developed.