Matthias Book: Dialog Flow Specification and Control for Web Applications
Despite its high popularity as a platform for enterprise information systems, the World Wide Web o ers only limited intrinsic support for the design and development of complex user interfaces. The marginal architectural support and the lack of suitable modeling methods for user navigation often fosters ad hoc implementations of tightly intertwined presentation and business layers whose implementation and maintenance is tedious and error-prone, resulting in high development e ort and suboptimal usability. To ameliorate this situation, this thesis addresses several unique challenges that developers of web applications typically face, and proposes an integrated set of solutions that is based on a common model of a web application's dialog structure: The thesis rst describes the syntax and semantics of a formal model for user navigation in web applications that includes all interaction between components of the presentation and business layers, collectively termed an application's dialog ow. It introduces a visual language for dialog ow modeling that can serve as an executable speci cation for a framework that drives web applications' user interfaces accordingly. Since the web's infrastructure provides only rudimentary data ow conduits, which often do not exactly t the data provision requirements of the business domain, manually implemented data propagation bears the danger of memory leaks or security risks. The thesis therefore introduces a supplemental mechanism for specifying and controlling data ows that are integrated with dialog ows, in order to match business process requirements more closely. Another unique challenge in navigating web applications stems from browsers' Back, Forward and Reload buttons, which may drive the server into unde ned states. Continuations have been proposed as a theoretical technique to deal with this problem. This thesis introduces practical strategies for the handling of continuations that take the structure of the dialog ow into account, in order to prevent backtracking beyond specied points of no return.