AusWeb 97 Third Australian
World Wide Web Conference

Embeddable Components For Stand-Alone Web Applications

Steve Ball
Plume Project
Computer Science Department
Australian National University

Sun Microsystems Laboratories

Steve.Ball@tcltk.anu.edu.au


Next

Web Applications typically delivered using general-purpose browser

Architecture of a typical Web application


Next

Classes of applications exist where browser delivery is not desirable

Examples: Electronic games, help subsystems, kiosks

Architecture of a stand-alone Web application


Next

Recent Plume browser development concentrated on components

Released as Tcl packages

Tcl is easily embedded in other languages, legacy applications

Tcl is widely available: Unix, Windows 3.1/95/NT, Macintosh

Tcl is free: no licensing required


Next

Component Libraries:

Document Handling Package

WWW Megawidget


Next

Document Handling Package

Basic function: Retrieves WWW documents from a server

Why?


Next

Document Handling Package

What should a DHP do?


Next

Plume's Document Handling Package

Single command: document

document loaduri URL

package require Document
namespace import Document::document

document configure -cachedirectory MyCache
document loaduri relative.html http://myHost/some/path/

Next

Plume includes handlers for http: (HTTP/1.1), ftp: and file: schemes

Scheme handlers, media types, encodings, etc, may be added at runtime

Various features:

API for scheme handlers and media type processors


Next

Example: ATLES

A system for enrolling students in tutorials & laboratories

Supervisor interface uses standard Web browser

Readily available, convenient to use

Student interface uses customised user agent

As simple & intuitive as possible, avoids unauthenticated/unauthorised Web browsing


Demo


Next

WWW Megawidget

Megawidgets behave just like real Tk widgets

WWW megawidget architecture:


Next

HTML Megawidget

Supports HTML v3.2, CSS1 stylesheets, Tclets

Separate HTML parser, also XML parser

Uses Tk Text widget for display

Can be used like any other Tk widget


Next

Connecting DHP and WWW Megawidget

Modelled on Tk scrollbar/scrollable widget connections

WWW widget is configured to use document command

document load targets widget's method

www .www	;# Creates a WWW megawidget called .www

.www configure -loadcommand {document loaduri -target {.www load}}

Next

Future Work

Final releases of v1.0 of DHP and WWW megawidget

Include CDF support for "smart pull"

Server support


Next

Conclusion

The Document Handling Package provides easy-to-use, high-level management of Web document retrieval

The WWW and HTML megawidgets allow an application to display HTML documents, and XML documents in the future