2013 · 11 citations · 9 references
Software MaintenanceEngineeringCollaborative Information RetrievalSoftware EngineeringAnnotation ServiceSemantic WebConcurrency ControlSoftware AnalysisInformation RetrievalConcurrency (Computer Science)Collaborative Web ApplicationsCollaborative ComputingWeb-based CollaborationWeb EngineeringReal-time CollaborationComputer ScienceSoftware DesignWeb Application FrameworksAnnotation ToolProgram AnalysisMature Web FrameworksHuman-computer InteractionSystem Software
Web application frameworks are a proven means to accelerate the development of interactive web applications. However, implementing collaborative real-time applications like Google Docs requires specific concurrency control services (i.e. document synchronization and conflict resolution) that are not included in prevalent general-purpose frameworks like jQuery or Knockout. Hence, developers have to get familiar with specific collaboration frameworks (e.g. ShareJS) which substantially increases the development effort. To ease the development of collaborative web applications, we propose a set of source code annotations representing a lightweight mechanism to introduce concurrency control services into mature web frameworks. Those annotations are interpreted at runtime by a dedicated collaboration engine to sync documents and resolve conflicts. We enhanced the general-purpose framework Knockout with a collaboration engine and conducted a developer study comparing our approach to a traditional concurrency control library. The evaluation results show that the effort to incorporate collaboration capabilities into a web application can be reduced by up to 40 percent using the annotation-based solution.
9
Concurrency control in groupware systems
Colter Ellis, S. Gibbs · ACM SIGMOD Record · 1989 · 863 citations
Concurrency control in groupware systems
Colter Ellis, S. Gibbs · 1989 · 450 citations · Full text
Leveraging single-user applications for multi-user collaboration
Steven Xia, David Sun, Chengzheng Sun et al. · 2004 · 129 citations