Presentation for Dissertation
Presentation for download
(Microsoft PowerPoint format)
Disseration PDF Edition
Dissertation for download
(Double line format)
Table of Contents
Chapter 1 Introduction
1.1 Motivation
1.2 Statement of problems and Insights
1.3 Why message-based MVC?
1.4 Design features of M-MVC and collaborative paradigms (SMMV and MMMV)
1.5 Contributions
1.6 Summary of the dissertation
Chapter 2 Survey of Technologies
2.1 Event-based programming
2.2 MVC
2.3 Messaging
2.4 NaradaBrokering
2.5 DOM
Chapter 3 M-MVC Architecture
3.1 Characters of distributed applications
3.2 Web Service pipeline model
3.3 Message-based MVC (M-MVC)
3.4 SMMV and MMMV Interactive patterns
3.5 Related Work on MVC
3.6 Messaging infrastructure with publish/subscribe scheme
3.7 Message-based MVC and Web Services
3.8 M-MVC and Web Services
Chapter 4 Monolithic SVG experiment
4.1 Summary of SVG
4.2 Summary of Batik SVG Browser
4.3 Intercepting event in Batik SVG Browser
4.4 Properties and structure of events
4.5 Conclusions
Chapter 5 Collaborative SVG
5.1 Collaboration framework
5.2 Event-based collaboration
5.3 Monolithic collaboration
5.4 SMMV Collaborative Web Service model
5.5 MMMV Collaborative Web Service model
Chapter 6 MVC decomposed SVG experiment
6.1 Analysis of decomposition of Batik SVG Browser
6.2 Architecture of decomposed SVG Browser in M-MVC paradigm
6.3 Analysis of User Interface generated events
6.4 Hierarchical event structure
6.5 Implementation
Chapter 7 Performance and Analysis
7.1 Test Scenarios
7.2 Timing Considerations
7.3 Performance measurement and analysis
7.4 Summary
Chapter 8 Architecture of Collaborative Message-based MVC
8.1 Lessons learnt
8.2 Proposed architecture (how would it coded from scratch)
8.3 Comparison of Batik SVG Browser with proposed architecture
Chapter 9 Conclusions and Future Research Issues
9.1 Thesis Summary
9.2 Answer to Initial Research Questions
9.3 Future Research
Appendix
Appendix A Computer-based computing
Appendix B Internet and Web applications
Appendix C Network Infrastructure
Appendix D Overview of Web Application Architecture
Appendix E DOM
Appendix F Status and History of Batik SVG Browser
Appendix G Overall architecture of Batik
Appendix H Detailed analysis of Batik
Appendix I JavaScript event vs. AWT event
References
List of figures
Figure 1.1 Architecture of network system
Figure 1.2 M-MVC model
Figure 1.3 Collaboration paradigms deployed with M-MVC model
Figure 1.4 Message-based MVC and messaging infrastructure
Figure 2.1 The general event/listener model
Figure 2.2 Java delegation event model
Figure 2.3 Topic-based Publish/Subscribe model
Figure 2.4 JMS Point-to-Point model
Figure 2.5 MVC model
Figure 2.6 Architecture of Publish/Subscribe model based on NaradaBrokering event broker notification service
Figure 2.7 A XML document rectLinking.svg with hyperlink element
Figure 2.8 DOM tree representation of rectLinking.svg document
Figure 2.9 Interface of EventTarget
Figure 2.10 Event handler registration and event flow of DOM in a case of rectLinking.svg document
Figure 3.1 Double-linked multiple-stage pipeline model of Web applications
Figure 3.2 Comparison of MVC and Three-stage Web Service pipeline
Figure 3.3 Variations of M-MVC decomposition
Figure 3.4 SMMV vs. MMMV as MVC interactive patterns
Figure 3.5 Three MVC approaches based on different communication mechnism and interactive patterns between Model and View
Figure 3.6 Message forwarding and reply between sender and receiver
Figure 3.7 Struts/J2EE architecture
Figure 3.8 Message-based Publish/Subscribe with broker intermediary
Figure 3.9 Bi-directional interaction in M-MVC with Publish/Subscribe scheme
Figure 3.10 Web Services composition of M-MVC application, SOAP, and NB
Figure 4.1 Architecture of interactive SVG application
Figure 4.2 Screen shot of Batik SVG browser
Figure 4.3 Architecture of Batik SVG browser
Figure 4.4 Making SVG collaborative by sharing of intercepted events
Figure 4.5 Collaborative SVG Event processing chart
Figure 5.1 Shared Output Port Collaborative Web Service Paradigm modified from a figure in [Fox03]
Figure 5.2 Shared Input Port Collaborative Web Service Paradigm modified from a figure in [Fox03]
Figure 5.3 Monolithic collaboration
Figure 5.4 Architecture of SMMV collaborative Web Service model
Figure 5.5 Architecture of MMMV collaborative Web Service model
Figure 5.6 This shows an exemplar pipeline with 2 model and 2 view components and 4 different ways of breaking the pipeline. The case (a) corresponds to a basic SMMV situation and (b) would also be SMMV. (c) is MMMV while the classification of (d) is ambiguous.
Figure 6.1 Method-based event notification versus message-based Publish/Subscribe with broker intermediary
Figure 6.2 Decomposition of SVG browser in stages of pipeline
Figure 6.3 Three among the different ways of decomposing SVG between client and Web Service
Figure 6.4 Hierarchical event composition
Figure 6.5 Decomposed SVG Browser in M-MVC paradigm
Figure 6.6 Implicit and explicit state
Figure 6.7 Event flow chart of SVG applications
Figure 7.1 Single Model and View linked by messaging broker
Figure 7.2 Performance testing and timing points
Figure 7.3 Histograms of the elapsed time T1(first event to return)-T0 corresponds to test case 1 of Table 7.1 and the row labeled 1 in table 7.3
Figure 7.4 Histograms of the elapsed time T1(first event to return)-T0 corresponds to test case 2 of Table 7.1 and the row labeled 2 in table 7.3
Figure 7.5 Histograms of the elapsed time T1(first event to return)-T0 corresponds to test case 2 of Table 7.1 and the row labeled 3 in table 7.3
Figure 7.6 Histograms of the elapsed time T1(first event to return)-T0 corresponds to test case 2 of Table 7.1 and the row labeled 4 in table 7.3
Figure 7.7 Histograms of the elapsed time T1(first event to return)-T0 corresponds to test case 2 of Table 7.1 and the row labeled 5 in table 7.3
Figure 7.8 Histograms of the elapsed time T1(first event to return)-T0 corresponds to test case 2 of Table 7.1 and the row labeled 6 in table 7.3
Figure B.1 ARPANET and its application
Figure C.1 Network system in layered stack
Figure C.2 Email application on ARPANET over an abstract communication channel
Figure C.3 Internet versus OSI Architecture
Figure C.4 Internet topology as network of networks
Figure D.1 Basic structure of World Wide Web
Figure D.2 Comparison of two, three, and four tier model
Figure D.3 A Web Service stack
Figure E.1 IDL definition of Node interface
Figure F.1 Research presentation web site using Macromedia Flash
Figure F.2 Scaling of SVG document
Figure F.3 Graphical represnetation of rectangle.svg document
Figure F.4 A SVG file rectangle.svg in XML format
Figure F.5 SVG DOM tree representation of rectangle.svg document
Figure F.6 A simple interactive SVG application of toggling rectangle
Figure F.7 An interactive SVG example with scripting in rectOnClick.svg document
Figure E.1 Batik Architecture
Figure H.1 JSVGViewerFrame
Figure H.2 Data flow
Figure H.3 openLink
Figure H.4 openLink (rendering)
Figure H.5 GraphicsNode Event (DOM-Bridge-GVT event flow)
Figure H.6 EventDispatcher
Figure H.7 Handling of DOM Event
Figure H.8 Batik component paint1
Figure H.9 Batik component paint2
Figure H.10 Batik Component Paint
Figure H.11 Graphics Node
Figure H.12 Graphics Node Paint
Figure H.13 Updatemanager
List of tables
Table 3.1 Typical distributed applications and properties of user interaction, system behavior, and communication
Table 3.2 Definition of typical events of Web applications
Table 3.3 Summary of typical Web applications and characteristics
Table 3.4 Variants of MVC applications
Table 4.1 Events for monolithic SVG collaboration applications
Table 6.1 AWT Mouse Events
Table 6.2 The relationship between a user interaction vs. AWT mouse events in SVG applications
Table 7.1 Testing environment settings
Table 7.2 System configurations
Table 7.3 Average performance
Table 7.4 Immediate bouncing back event
Table 7.5 Basic NB performance in 2 hops and 4 hops
Table I.1 JavaScript event vs. AWT event