A Dialog Control Framework for Hypertextbased Applications Matthias

A Dialog Control Framework for Hypertext-based Applications Matthias Book Software Engineering Chair Department of Computer Science University of Dortmund, Germany GI-Informatiktage, November 8, 2002 1

YOU ARE HERE v Introduction § Motivation § Dialog Flow Notation § Dialog Elements and Graphs § Dialog Modules and Nesting § Dialog Control Framework § Dialog Flow Specification Language § Framework Architecture Matthias Book: A Dialog Control Framework for Hypertext-based Applications 2

Evolution of Web Sites Complexity + ideal thin clients – limited user interface Information Interaction Transaction Matthias Book: A Dialog Control Framework for Hypertext-based Applications Application 3

Hypertext Application (Step 1) Matthias Book: A Dialog Control Framework for Hypertext-based Applications 4

Hypertext Application (Step 2) Matthias Book: A Dialog Control Framework for Hypertext-based Applications 5

Hypertext Application (Step 3) Matthias Book: A Dialog Control Framework for Hypertext-based Applications 6

Hypertext Application (Step 4) Matthias Book: A Dialog Control Framework for Hypertext-based Applications 7

Hypertext Application (Step 5) Matthias Book: A Dialog Control Framework for Hypertext-based Applications 8

Hypertext Application (Step 6) Matthias Book: A Dialog Control Framework for Hypertext-based Applications 9

Conceptual Models of Dialog Flows Window-based application Mailbox Folder Message Preferences Message Folder Hypertext-based application ISO Dialog Principles Index Forum Login Register Thank you Matthias Book: A Dialog Control Framework for Hypertext-based Applications Index 10

Media Dependent Dialog Flows Example: Online Shop Checkout Address, shipping and billing data Address, shipping and billing mask Address mask Billing mask Shipping mask Address data Shipping data Matthias Book: A Dialog Control Framework for Hypertext-based Applications Billing data 11

Need for a Dialog Control Framework § Problems: § Dialog flows cannot be nested § Dialog flows vary on different media ØDialog control logic often complex, neglected § Wanted: § Reusable solution for any app ØDialog Control Framework ØDialog Flow Notation Matthias Book: A Dialog Control Framework for Hypertext-based Applications 12

YOU ARE HERE § Introduction § Motivation v Dialog Flow Notation § Dialog Elements and Graphs § Dialog Modules and Nesting § Dialog Control Framework § Dialog Flow Specification Language § Framework Architecture Matthias Book: A Dialog Control Framework for Hypertext-based Applications 13

Dialog Graph check login status not yet logged in Login submit check name, password incorrect Action Event Mask mark user as logged in ok no already logged in has admin rights? Matthias Book: A Dialog Control Framework for Hypertext-based Applications yes 14

Dialog Module user authorization check login status not yet logged in Login register submit check name, password incorrect cancel correct create new account mark user as logged in ok done no already logged in has admin rights? is user yes is admin Matthias Book: A Dialog Control Framework for Hypertext-based Applications 15

Nesting Dialog Modules check login status not yet logged in Login submit check name, password user authorization incorrect register mark user as logged in create new account ok already logged in no has admin rights? yes is user is admin Shop Product Catalog Forum Shop Home is user authorization enter Forum Home Forum Lobby is user enter user authorization is admin Shop Admin Matthias Book: A Dialog Control Framework for Hypertext-based Applications is admin Forum Admin 16

Event Semantics § events are results of elements, not calls to them § same event generated by same element may lead to different elements in different contexts Ø module reusability and flexibility Shop Product Catalog Forum Shop Home is user authorization enter Forum Home Forum Lobby is user enter user authorization is admin Shop Admin Matthias Book: A Dialog Control Framework for Hypertext-based Applications is admin Forum Admin 17
![Multiple Presentation Channels Example: Online Shop Checkout checkout [HTML] Address, shipping and billing data Multiple Presentation Channels Example: Online Shop Checkout checkout [HTML] Address, shipping and billing data](http://slidetodoc.com/presentation_image_h2/55de986096015cba076fdad414ae64f7/image-18.jpg)
Multiple Presentation Channels Example: Online Shop Checkout checkout [HTML] Address, shipping and billing data A, S, B Mask save shipg. save billg. Shipping save mask shipg. Billing save mask billg. Address, shipping addr. and billing mask Address mask Addr. Mask save addr. Shipg. Address Mask data Billg. Shipping Mask data checkout [WML] Matthias Book: A Dialog Control Framework for Hypertext-based Applications Billing data 18

Key Notation Features § Consecutive, fine-grained actions or masks Øflexible dialog graphs § Dialog modules encapsulate dialog graphs Øreuse in different contexts, nesting § Events are results, not calls Ødialog control not performed by model or view § Advanced features (not shown here) Øcomplex dialog structures Matthias Book: A Dialog Control Framework for Hypertext-based Applications 19

YOU ARE HERE § Introduction § Motivation § Dialog Flow Notation § Dialog Elements and Graphs § Dialog Modules and Nesting v Dialog Control Framework § Dialog Flow Specification Language § Framework Architecture Matthias Book: A Dialog Control Framework for Hypertext-based Applications 20

From Spec to Implementation § Req Analysis, Specification, Design phase § dialog flow specification refined incrementally § Implementation Phase § smooth, efficient transition desired Ø diagrams serve as input for framework check login status not yet Login logged in check name, password submit user authorization incorrect register Translation correct mark user as logged in create new account ok already logged in XML Dialog Flows Doc XML Dialog Elems Doc no has admin rights? yes is user is admin Matthias Book: A Dialog Control Framework for Hypertext-based Applications 21

User Authorization Flow Spec check login status not yet logged in submit check name, password incorrect user authorization <dfs-flows>. . . <in-module name="User Authorization"> <channel name="HTML"> Login correct register mark user as logged in create new account ok already logged in no has admin rights? <on-init> <call-action>check login status</call-action> </on-init> yes is user is admin <ex-action name="check login status"> <on-event name="not yet logged in"> <call-mask>Login</call-mask> </on-event> <on-event name="already logged in"> <call-action>has admin rights? </call-action> </on-event> </ex-action>. . . Matthias Book: A Dialog Control Framework for Hypertext-based Applications 22

Front Controller Architecture § Dialog Flow Specification, Dialog Control Logic distributed over all actions Ø inflexible dialog flow specification Ø limited dialog control capabilities Ø no support for different channels' interaction patterns Request Set view Dialog Spec, Control Logic Dispatch Application Logic Controller Response View Update Forward Client Action Extract Matthias Book: A Dialog Control Framework for Hypertext-based Applications Model 23

Dialog Ctrl Framework Architecture Compound Stack OO Dialog Flow Model Request Channel Interface Event Look up push, pop, top Dialog Controller Import Action Event Update Response Mask XML Dialog Elems Doc Event Forward Client XML Dialog Flows Doc Extract Matthias Book: A Dialog Control Framework for Hypertext-based Applications Model 24

Advantages of DCF Architecture § strict separation of tiers § § presentation logic dialog control logic dialog flow specification application logic Mask Dialog Controller Mask XML Dialog Flows Doc XML Dialog Elems Doc Action Ø reusability, maintainability Ø presentation channel independence Ø support for complex dialog structures Ø black-box reuse of framework Matthias Book: A Dialog Control Framework for Hypertext-based Applications 25

Thank you! Q&A 26/26
- Slides: 26