Skip to Main Content
Originally, model versioning has been developed to enable teams of developers to work on common model data, concurrently. We have the idea to use the same techniques to facilitate the collaboration of collaboration applications. Multi threaded applications share a common main memory. Thus, all threads have access to the full data structures and each thread may query and update the data structures, concurrently, in order to fulfill its tasks. In distributed applications, each distributed process has access only to its own share of the data model. In order to query and update remote data structure parts, the process has to send an appropriate request to the process, that owns that data. Transferring complex data structures, e.g. as query result, from one process to the other requires tedious data serialization and deserialization mechanisms. To overcome these problems, this paper proposes to replicate model data for each process and to use model versioning techniques to synchronize the different model data replicas. We have built a web based workflow editor and a web based version of a Ludo game to validate this idea. This paper reports about our experiences with the data replication approach and our experiences in using it for web applications.