Architectures for Collaborative Applications
Prasun Dewan · 1999
The architecture of a collaborative application is characterized by the modules, layers, replicas, threads, and processes into which the application is decomposed; the awareness in these components of collaboration functions; and the interaction among these components. It influences the function, fairness, fault tolerance, ease of modification, and performance of the application, the amount of programming effort required to implement the application, and the reuse of existing single-user code. This chapter presents a design space of existing and potential collaboration architectures and discusses the consequences of choosing different points in this space.