A Runtime System for Interactive Web Services - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

A Runtime System for Interactive Web Services

Description:

WWW8 - Toronto 'A Runtime System for Interactive Web Services' May 12, 1999. A Runtime System ... WWW8 - Toronto 'A Runtime System for Interactive Web Services' ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 46
Provided by: bri60
Category:

less

Transcript and Presenter's Notes

Title: A Runtime System for Interactive Web Services


1
A Runtime System forInteractive Web Services
  • Claus Brabrand, Anders Møller,
  • Anders Sandholm, Michael I. Schwartzbach

BRICS, University of Aarhus, Denmark
2
Plan
  • Illustrate problems with CGI
  • example interactive web service.
  • Solve problems one by one
  • building on top of CGI.
  • Additional problems and solutions.
  • Package solutions into runtime system.
  • Conclusion.

3
An Interactive Web Service
4
Problem Save, Restore State
ltINPUT TYPEhidden NAMEconfirmed VALUE1gt
ltINPUT TYPEhidden NAMEfname VALUEClausgt
ltINPUT TYPEhidden NAMEfee VALUE495gt

5
Problem Bookmarks
6
Problem Bookmarks
Bookmark What?
7
Problem Back Button
8
Problem Back Button
9
Problem Back Button
Pay twice ?!
10
CGI Problems
  • Save, Restore State
  • Bookmark
  • Back Button

11
CGI Problems
  • Save, Restore State
  • Bookmark
  • Back Button

12
Components
client
CGI
HTML
Internet
HTTP server
HTML
CGI
restore compute save
program
database
13
Adding a Connector
client
CGI
HTML
Internet
HTTP server
CGI
HTML
connector
redirect
HTML
CGI
restore compute save
program
database
14
CGI Problems
  • Save, Restore State
  • Bookmark
  • Back Button

15
CGI Problems
  • Save, Restore State Connector
  • Bookmark
  • Back Button

16
CGI Problems
  • Save, Restore State Connector
  • Bookmark
  • Back Button

17
Problem Bookmarks
  • Problem
  • CGI URL bookmarked (not HTML response).
  • Consequence
  • Must complete entire service right away.
  • Would like
  • Pause service (bookmark), resume later.

18
Components
client
CGI
HTML
Internet
HTTP server
CGI
HTML
connector
HTML
CGI
program
database
19
Adding an HTML Reply File
client
CGI
jump
Internet
HTTP server
CGI
jump
connector
done!
CGI
HTML reply file
program
HTML
database
20
CGI Problems
  • Save, Restore State Connector
  • Bookmark
  • Back Button

21
CGI Problems
  • Save, Restore State Connector
  • Bookmark Reply File
  • Back Button

22
CGI Problems
  • Save, Restore State Connector
  • Bookmark Reply File
  • Back Button

23
Problem Back Button
  • Problem History of old requests
  • Annoying.
  • No longer make sense.
  • Dangerous! (for client and server)
  • Would like
  • Back should take us back.
  • Never see old CGI requests.

24
Components
client
CGI
jump
Internet
HTTP server
CGI
jump
connector
done!
CGI
HTML reply file
program
HTML
database
25
Components
client
CGI
jump
Internet
HTTP server
CGI
jump
connector
same URL
done!
CGI
HTML reply file
program
HTML
database
26
CGI Problems
  • Save, Restore State Connector
  • Bookmark Reply File
  • Back Button

27
CGI Problems
  • Save, Restore State Connector
  • Bookmark Reply File
  • Back Button Reply File

28
Additional Problems
29
Additional Problems
30
What is going on?
  • Error? Abort...
  • Package Lost?
  • Service Crash?
  • Connection?
  • Ok? or Wait !?
  • Searching Database?
  • Long Computation?
  • Waiting for a Resource?

31
Problem User Impatience
  • Consequence
  • Users leave service.
  • Would like
  • Explain delays.
  • Searching database Please wait..

32
Components
client
CGI
jump
Internet
HTTP server
CGI
jump
connector
done!
CGI
HTML reply file
program
HTML
database
33
Adding a Connector Timeout
client
CGI
jump
Internet
HTTP server
CGI
jump
connector
Timeout
done
CGI
HTML reply file
program
update
database
34
CGI Problems
  • Save, Restore State Connector
  • Bookmark Reply File
  • Back Button Reply File
  • User Impatience

35
CGI Problems
  • Save, Restore State Connector
  • Bookmark Reply File
  • Back Button Reply File
  • User Impatience Timeout

36
CGI Problems
  • Save, Restore State Connector
  • Bookmark Reply File
  • Back Button Reply File
  • User Impatience Timeout
  • Concurrency Control

37
Concurrency Control
  • Problem Parallel service processes.
  • Access shared resources.
  • Require synchronization.
  • Solution
  • Allow separate specification of constraints.
  • Use safety controller process
  • Ensures that service obeys constraints.

38
Components
client
CGI
jump
Internet
HTTP server
CGI
jump
connector
Timeout
done
CGI
HTML reply file
program
update
database
39
Adding a Safety Controller
client
CGI
jump
Internet
HTTP server
CGI
jump
connector
Timeout
done
CGI
wait
HTML reply file
program
controller
update
pass
database
40
CGI Problems
  • Save, Restore State Connector
  • Bookmark Reply File
  • Back Button Reply File
  • User Impatience Timeout
  • Concurrency Control

41
CGI Problems
  • Save, Restore State Connector
  • Bookmark Reply File
  • Back Button Reply File
  • User Impatience Timeout
  • Concurrency Control Controller

42
Runtime System
  • Everything implemented!
  • in C for Unix / Linux.
  • Available http//www.brics.dk/bigwig/runwig/
  • Source
  • Documentation.
  • Examples.

43
ltbigwiggt
  • Research project at BRICS.
  • Domain specific high-level language
  • Rapid construction of interactive web services.
  • Compiles into
  • HTML, CGI, Java, JavaScript,
  • Uses our runtime system extensively.

http//www.brics.dk/bigwig/
44
ltbigwiggt
  • Research project at BRICS.
  • Domain specific high-level language
  • Rapid construction of interactive web services.
  • Compiles into
  • HTML, CGI, Java, JavaScript,
  • Uses our runtime system extensively.

Released June 1999
http//www.brics.dk/bigwig/
45
Conclusion
  • CGI widely used, but inherently low-level.
  • Our Runtime System
  • Higher level.
  • Built on top of CGI.
  • Compact and efficient.
  • Solves the problems discussed.

46
The CGI Model
Client
Server
read fill-out submit
CGI
restore compute save
HTML
read fill-out submit
CGI
restore compute save
HTML
47
Adding a Connector
Client
Server
read fill-out submit
CGI
awake compute sleep
HTML
read fill-out submit
CGI
awake compute sleep
HTML
Write a Comment
User Comments (0)
About PowerShow.com