CAPT. WEBB'S TRANSACTION PROCESSING FLOW
aka THREE-TIER ARCHITECTURE


 


RESPONSE


HTML

body, colors and
backgrounds
text, fonts, lists and
placement
links and anchors
images, maps and
other goodies
TABLES
FRAMES
FORMS
text
textarea
checkbox
radio
select
password
button
submit
reset


VBSCRIPT

Organization
the nouns
the 3 verbs
if-then-else
loops
the simple verbs:
math
strings
etc.
more nouns
The HTML objects
window
script
history
navigator
location
frames
document
anchors
links
forms
elements
on_whatever events
more verbs!
methods
more verbs!


ACTIVE-X objects
more nouns!

CheckBox
ComboBox
CommandButton
HotSpot
Image
Label
ListBox
OptionBar
ScrollBar
SpinButton
TabStrip
TextBox
ToggleButtton
Layout


CLIENT-SIDE
(the BROWSER)
THE TOP TIER
aka FRONT-END

NETSCAPE/FOXFIRE
OPERA/MOZILLA
HTML/CSS/XML/DOM
Java Applets
Javascript

or

MS INTERNET EXPLORER
HTML/CSS/XML/DOM
Javascript
Java Applets
VBScript/Active-X



REQUEST

A Request in its simple form is just a URL (a passive request for an HTML file stored on the server). However, user provided data and a program to be executed may also be passed to the server with the Request. The data is acquired from the user using HTML Forms. The data is attached to the end of the URL as a string composed of name-value pairs (variable names and their values in pairs). This string is called the QueryString. The URL and a QueryString are connected by:

  • ?
  • the QueryString (i.e., the data the user entered on the Form) in name-value pairs:
  • name of the first variable on the Form, then
  • =
  • then the value of the first variable
  • then an & character to terminate the pair

The following is an example of a QueryString with two name-value pairs attached to a URL:

URL?v1=5&v2=3

The Request is composed of:

  1. the URL
  2. ? (to separate the URL and QueryString)
  3. v1 (the first variable name from the Form)
  4. =
  5. 5 (v1's value),
  6. & (to separate the name-value pairs)
  7. v2 (the second variable name on the form)
  8. =
  9. 3 (v2's value)

The URL contains three parts:
  1. a website (a domain name)
  2. a path
  3. either:
    1. the name of an HTML file (*.htm or *.html)
      or
    2. the name of a script or program to execute on the server. Either:
      1. *.cgi for compiled C programs
      2. *.pl for interpreted PERL scripts
      3. *.asp for active server scripts
      4. *.aspx for compiled DOT.NET programs
        (either VB.NET or C#)
      5. *.jsp for java server pages (scripts)
      6. *.php for personal home pages (php) scripts

These programs or scripts can use any data passed in the Querystring from the HTML Form.

For example:

http://www.abc.edu/cgi-bin/xyz.cgi?v1=5&v2=7

is interpreted as:

  1. http://www.uh.edu is the web site (domain name)
  2. /cgi-bin/ is the path
  3. xyz.cgi is the name of the compiled C program to execute
  4. ? separates the URL and the QueryString
  5. v1=5&v2=3 is the QueryString discussed above
THE NET



SERVER
(THE MIDDLE TIER)

The Operating System (OS) Level
UNIX
or
LINUX
or
AIX
or
MS Server
2003
The WEB Server Runs under the OS
APACHE
(typically)
or
MS IIS
The WEB Server
processes REQUESTS.
It returns a RESPONSE
by either:
passing *.htm files back to the client
or

by executing orgrams or scripts that generate a RESPONSE.
Like:
HTML (*.htm or *.html)
CGI (*.cgi)
PERL(*.pl)
PHP (*.php)
JSP (*.jsp)
Active Server Pages

(*.asp -- IIS only))
DOT.NET
(VB.NET or C#)
(*.aspx)
Known on LINUX as MONO

These programs use
Server Side Objects:

Active Server Objects
to talk to the client
(e.g., for asp:
Request
Response
Session
Server
Application

and

Active Data Objects
to talk to the Database
(e.g., for asp:
Connection
Command
Recordset
Fields
Field
Properties
Property
Parameters
Parameter
Errors
Error

 
THE THIRD TIER
THE DATABASE
aka THE BACK-END
 

Programs and scripts send

SQL
requests

to the database

The database returns
data or status information to be passes back to the client in the RESPONSE
DATABASES:

Oracle
Microsoft SQL Server
MSD Access
MySQL