@MASTERSTHESIS\{IMM2013-06679, author = "H. B. S{\o}nder", title = "A Web Service for Annotation of Documents", year = "2013", school = "Technical University of Denmark, Department of Applied Mathematics and Computer Science", address = "Matematiktorvet, Building 303B, {DK-}2800 Kgs. Lyngby, Denmark, compute@compute.dtu.dk", type = "", note = "{DTU} supervisor: Christian Probst, cwpr@dtu.dk, {DTU} Compute", url = "http://www.compute.dtu.dk/English.aspx", abstract = "This master’s thesis describes the design and implementation of a web-based service for viewing and annotating documents. The main purpose of the system is to allow authenticated users to view, comment and annotate documents, to support the discussion of reports, papers and theses. The vision for the system is to provide the necessary utilities and be as cost-effective about it as possible, in the inevitable process of future maintenance and develop of new features. The main priority of the project is therefore not to develop a fully functional production-ready system, but rather to design a system that is able to most effectively provide the necessary features in a manner which also compliments a well-designed system with a high quality of code. To properly assess the quality of code in the system, a model to support this assessment in the context of the system vision is developed. The model puts an emphasis on ensuring the maintainability and adaptability of the solution, and this is used to guide and support the design considerations throughout development of the system. The result is a highly maintainable and extensible design, where all system critical choices are based on thorough analysis and included in the thesis to support the assessment of their precision. The design and implementation of each system-critical component is covered with an emphasis on explaining the important design considerations made during development. Testability of the system is an important factor as well, and the testability of the final design will be discussed and exemplified using mock objects as well as supportive “system under test” builder objects for a highly configurable test environment. A thorough assessment of the security of the system is featured as well, testing the system against the top ten most critical flaws in web application security, as provided by the {OWASP} organization. I believe the design of the system satisfies the necessary criteria for success, and the emphasis on cost-effective maintenance and further development should ensure the future success of this system. To definitively conclude this is difficult at best, but the contents of this thesis should provide an adequate assessment on the success of my efforts." }