Synchronous groupware brings together users, who are geographically distributed and connected via a network. It encompasses a wide range of applications like collaborative whiteboards, text editors or virtual environments.
Developing synchronous groupware is a difficult and time-consuming task, an application has to establish network connections between the collaborating users, handle parallel input from many users, has to offer group functions for collaboration-awareness, and has to manage shared data. The latter belongs to the main ob-stacles during the development of synchronous groupware.
This thesis describes DreamObjects. DreamObjects is a platform that focuses on shared data management. It offers flexible and extensible solutions for the recurring problems that are related to data sharing and achieves a maximum of transparency for the developer, as it hides all necessary mechanisms for managing the shared state.
DreamObjects supports a variety of distribution schemes. The data of an applica-tion can be distributed to one developer-selected site, all participating sites, or a dynamically changing set of the participating sites. Similarly, a developer can choose between different mechanisms for concurrency control. If the offered so-lutions do not meet the requirements of the application, developers can even integrate their own solutions in the platform.
A user, who joins a session, can choose, whether he wants to join with a replay of the session or with a direct state transfer. Both mechanisms are fault-tolerant, decentralized, and do not block current participants of the session in their work. Finally, DreamObjects offers a decentralized persistency service to support the transition between asynchronous and synchronous work.
Developing synchronous groupware is a difficult and time-consuming task, an application has to establish network connections between the collaborating users, handle parallel input from many users, has to offer group functions for collaboration-awareness, and has to manage shared data. The latter belongs to the main ob-stacles during the development of synchronous groupware.
This thesis describes DreamObjects. DreamObjects is a platform that focuses on shared data management. It offers flexible and extensible solutions for the recurring problems that are related to data sharing and achieves a maximum of transparency for the developer, as it hides all necessary mechanisms for managing the shared state.
DreamObjects supports a variety of distribution schemes. The data of an applica-tion can be distributed to one developer-selected site, all participating sites, or a dynamically changing set of the participating sites. Similarly, a developer can choose between different mechanisms for concurrency control. If the offered so-lutions do not meet the requirements of the application, developers can even integrate their own solutions in the platform.
A user, who joins a session, can choose, whether he wants to join with a replay of the session or with a direct state transfer. Both mechanisms are fault-tolerant, decentralized, and do not block current participants of the session in their work. Finally, DreamObjects offers a decentralized persistency service to support the transition between asynchronous and synchronous work.
