A Presentation Service for Rapidly Building Interactive Collaborative Web Applications
SCIENTIA
MANU E T MENTE
A thesis submitted to the School of Computer Science University College University of New South Wales Australian Defence Force Academy for the degree of Doctor of Philosophy
By Michael Joseph Sweeney 31 March 2008
c Copyright 2008 by Michael Joseph Sweeney i
Certi cate of Originality
I hereby declare that this submission is my own work and that, to the best of my knowledge and belief, it contains no material previously published or written by another person, nor material which to a substantial extent has been accepted for the award of any other degree or diploma at UNSW or any other educational institution, except where due acknowledgement is made in the thesis. Any contribution made to the research by colleagues, with whom I have worked at UNSW or elsewhere, during my candidature, is fully acknowledged.
I also declare that the intellectual content of this thesis is the product of my own work, except to the extent that assistance from others in the project’s design and conception or in style, presentation and linguistic expression is acknowledged.
Michael Joseph Sweeney ii
Abstract
Web applications have become a large segment of the software development domain but their rapid rise in popularity has far exceeded the support in software engineer- ing. There are many tools and techniques for web application development, but the developer must still learn and use many complex protocols and languages. Products still closely bind data operations, business logic, and the user interface, limiting integration and interoperability.
This thesis introduces an innovative new presentation service to help web application developers create better applications faster, and help them build high quality web user interfaces. This service acts as a broker between web browsers and applications, adding value with programming-language independent object-oriented technology.
The second innovation is a generic graphics applet (GGA) component for the web browser user interface. This light component provides interactive graphics support for the creation of business charts, maps, diagrams, and other graphical displays in web applications.
The combination of a presentation service program (BUS) and the GGA is explored in a series of experiments to evaluate their ability to improve web applications. The experiments provide evidence that the BUS and GGA technology enhances web application designs. iii
Acknowledgements
First, I would like to thank my academic supervisor Dr Graham Freeman for his timely advice, support, and patience. Graham was always supportive, and was understanding of my competing obligations to my family and career. I also have appreciated the positive and helpful attitude of all the sta in the Computer Science school at the Australian Defence Force Academy.
I would also like to thank my wife Kerry and children Joanne, David, and Samantha who have been very supportive and understanding during this period. They have had to do without a husband and father on too many evenings, weekends, and holidays.
My brother Dr Peter Sweeney was tireless in encouraging me to nish the work, and provided lots of practical advice on thesis writing over many glasses of wine.
My colleagues at DSTO have contributed with advice which I found very valuable. In particular I would like to thank Dr David Miron, Dr Paul Whitbread, and Dr Iain MacLeod.
This work has been supported by the Australian Defence Science and Technology Organisation (DSTO). DSTO has generously provided study leave, computing re- sources, conference trips, an environment to run a case study, programming sta support, and scienti c library services.
The GGA, GOL, OMA, and S3DA components were built by professional program- mers working directly to me. Each component was programmed in Java by engineer- ing sta or contractors to my original speci cations. I was the sole customer, had complete design control, and performed all acceptance testing. The programming iv sta performed most of the internal applet design and unit testing. I have included attributions in the thesis where programmers or others have contributed in other capacities.
The OpenMap application is open source software managed by the American BBN company. The 3D engine at the heart of the S3DA applet is a Java product owned by Anfy.com.
A special thanks to Peter Hoek, a talented software engineer I have worked with for many years, who displayed endless patience in implementing my unusual speci ca- tions and long lists of enhancements.
This thesis is produced using BibTeX (version 0.99c) and LATEX 2ε (release 2001/06/01) and dvips (version 5.92b). Figures were drawn with tgif version 4.1, and converted to EPS