Matthias Heinrich Enriching Web Applications Efficiently with Real-Time Collaboration Capabilities Doctoral Dissertations in Web Engineering and Web Science Volume 1 Prof. Dr.-Ing. Martin Gaedke (Series Editor) Matthias Heinrich Enriching Web Applications Efficiently with Real-Time Collaboration Capabilities Universitätsverlag Chemnitz 2014 Imprint Bibliographical Information of the German National Library The German National Library lists this publication in the German National Bibliography; detailed bibliographic data is available online at http://dnb.d-nb.de. Technische Universität Chemnitz/Universitätsbibliothek Universitätsverlag Chemnitz 09107 Chemnitz GERMANY http://www.tu-chemnitz.de/ub/univerlag Production and Distribution Verlagshaus Monsenstein und Vannerdat OHG Am Hawerkamp 31 48155 Münster GERMANY http://www.mv-verlag.de ISSN 2199-5354 print - ISSN 2199-5362 online ISBN 978-3-944640-25-9 http://nbn-resolving.de/urn:nbn:de:bsz:ch1-qucosa-149948 Enriching Web Applications Efficiently with Real-Time Collaboration Capabilities Dissertation zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.) vorgelegt der Fakult¨at f¨ur Informatik der Technischen Universit¨at Chemnitz von Dipl.-Medieninf. Matthias Heinrich geboren am 21. August 1979 in Leisnig Gutachter Prof. Dr. Martin Gaedke Prof. Dr. Alexander Schill Prof. Dr. Maximilian Eibl Eingereicht am 4. November 2013 Verteidigt am 2. April 2014 Abstract Web applications offering real-time collaboration support (e.g. Google Docs) allow geographically dispersed users to edit the very same document simul- taneously, which is appealing to end-users mainly because of two application characteristics. On the one hand, provided real-time capabilities supersede traditional document merging and document locking techniques that dis- tract users from the content creation process. On the other hand, web ap- plications free end-users from lengthy setup procedures and allow for instant application access. However, implementing collaborative web applications is a time-consuming and complex endeavor since offering real-time collabora- tion support requires two specific collaboration services. First, a concurrency control service has to ensure that documents are synchronized in real-time and that emerging editing conflicts (e.g. if two users change the very same word concurrently) are resolved automatically. Second, a workspace aware- ness service has to inform the local user about actions and activities of other participants (e.g. who joined the session or where are other participants working). Implementing and integrating these two collaboration services is largely inefficient due to (1) the lack of necessary collaboration functionality in existing libraries, (2) incompatibilities of collaboration frameworks with widespread web development approaches as well as (3) the need for massive source code changes to anchor collaboration support. Therefore, we propose a Generic Collaboration Infrastructure (GCI) that supports the efficient development of web-based groupware in various ways. First, the GCI provides reusable concurrency control functionality and generic workspace awareness support. Second, the GCI exposes numer- ous interfaces to consume these collaboration services in a flexible manner and without requiring invasive source code changes. And third, the GCI is linked to a development methodology that efficiently guides developers through the development of web-based groupware. To demonstrate the im- proved development efficiency induced by the GCI, we conducted three user studies encompassing developers and end-users. We show that the develop- ment efficiency can be increased in terms of development time when adopt- ing the GCI. Moreover, we also demonstrate that implemented collaborative web applications satisfy end-user needs with respect to established software quality characteristics (e.g. usability, reliability, etc.). vii Acknowledgments Writing this dissertation has been a demanding as well as a rewarding expe- rience. Concluding this three-year project, I would like to thank a number of people I had the opportunity to work with. First of all, I would like to thank my supervisor Prof. Martin Gaedke who guided me on this journey. Martin’s enthusiastic and caring nature always stimulated me to set ambitious goals and to actually accomplish those goals. The friendly and challenging atmosphere established by Martin nurtured confidence to successfully tackle unprecedented tasks and endeavors. I am also grateful to Prof. Alexander Schill for supporting me in his role as a co-advisor and for promoting the fruitful cooperation with the chair of computer networks that resulted in numerous supervisions of award-winning thesis projects. Dr. Johannes Meinecke and Dr. Thomas Springer also deserve a great deal of thanks for mentoring me during the entire dissertation period. In our bi-weekly meetings Johannes insisted on, consistently repeated and finally successfully conveyed the idea that good research starts out with structure. Moreover, Johannes diligently read a myriad of drafted publications as well as dissertation chapters and always accurately and sometimes painfully dis- closed deficiencies. Being able to do dozens of things in parallel, Thomas not only coached me and co-authored publications, but we also managed to su- pervise four thesis projects cooperatively. I will certainly miss our bi-weekly research discussions and our paper-acceptance celebrations. I would also like to thank the great group of students I could closely work with throughout the last three years. Besides contributing to prototyp- ical implementations and writing excellent master theses, Franz Lehmann, Franz Josef Gr¨uneberger and Philipp Hauer have been a true inspiration for my work on real-time collaboration support. On a daily basis, we dis- cussed related work, prototypes, publications, patents or their thesis docu- ments which represented a vastly intense and an immensely productive time. Franz, Franz Josef and Philipp showed extraordinary passion and they are exceptional people I really enjoyed working with. Furthermore, I would like to express my gratitude to my colleagues Dr. Thomas Hettel, Dr. Tobias Nestler, Dr. Steffen G¨obel and Dr. Jochen Rode. Thomas was the former lead architect of SAP Gravity, which rep- ix x resents SAP’s operational transformation engine, and he actually sparked my interest for the research field of real-time collaboration. Tobias in his role as the OMELETTE project lead always strived to embrace the topic of real-time collaboration which allowed me to largely focus on my research interests. Steffen and Jochen gave me management support and trust which was critical in order to finish this dissertation. Likewise, I am thankful to the entire VSR research group including Dr. J¨org Anders, Olexiy Chudnovskyy, Hendrik Gebhardt, Sebastian Heil, Michael Krug, Ralph Sontag, Luise Steinbach, Frank Weinhold, Fabian Wiedemann and Stefan Wild. They all have been extremely supportive managing technical or organizational issues. But more importantly, I imme- diately felt welcome in their research group. A huge thanks goes to my friends. They have put up with me not meeting obligations when a paper deadline approached. They cheered me up when a notification about a rejected paper arrived. They brought me down to earth when I was floating in some research cloud. Particularly, I thank Joachim and Matthias who accepted to proofread the entire dissertation. Finally, I would like thank my family and Kathi. Without your constant support, this dissertation would simply not have been possible. I owe a spe- cial thanks to my sister Manuela who has thoroughly proofread a multitude of research articles. Publications Material, ideas and figures from this dissertation have appeared previously in the following publications. Refereed Journal and Conference Articles [1] Matthias Heinrich, Franz Lehmann, Franz Josef Gr¨uneberger, Thomas Springer, Martin Gaedke, and Alexander Schill. Enriching Single-User Web Applications Non-Invasively with Shared Editing Support. Sci- ence of Computer Programming, 2013. [2] Matthias Heinrich, Franz Lehmann, Thomas Springer, and Martin Gaedke. Exploiting Single-User Web Applications for Shared Editing – A Generic Transformation Approach. In International World Wide Web Conference (WWW ’12), pages 1057-1066, 2012. [3] Matthias Heinrich, Franz Josef Gr¨uneberger, Thomas Springer, and Martin Gaedke. Exploiting Annotations for the Rapid Development of Collaborative Web Applications. In International World Wide Web Conference (WWW ’13), pages 551-560, 2013. [4] Matthias Heinrich, Franz Josef Gr¨uneberger, Thomas Springer, and Martin Gaedke. Reusable Awareness Widgets for Collaborative Web Applications – A Non-invasive Approach1.InInternational Confer- ence on Web Engineering (ICWE ’12), pages 1-15, 2012. [5] Matthias Heinrich and Martin Gaedke. Data Binding for Standard- based Web Applications. In ACM Symposium on Applied Computing (SAC ’12), pages 652-657, 2012. [6] Matthias Heinrich, Franz Lehmann, Franz Josef Gr¨uneberger, Thomas Springer, and Martin Gaedke. Analyzing the Suitability of Web Ap- plications for a Single-User to Multi-User Transformation. In Inter- national World Wide Web Conference (WWW ’13), pages 249-252, 2013. 1This publication received the Best Research Paper Award at the International Con- ference on Web Engineering 2012. xi xii [7] Matthias Heinrich, Franz Josef Gr¨uneberger, Thomas Springer, Philipp Hauer, and Martin Gaedke. GAwI: A Comprehensive Workspace Awareness
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages209 Page
-
File Size-