Transcript Document

BUSS 213
Multimedia in Organisations
Lecture 11
Delivery Approaches:
Magnetic/Optical; Internet and Hybrid
Clarke, R. J (2001) L213-06:
1
Notices
General
 Marking is not complete for Assignment 2- should
be available Tuesday this coming week
 Will student 2147816 see Dr. L. Schafe concerning
Assignment 2
 Students must be allocated to A3 Groups todaymake sure I know which group you are in
 this week we will discuss storyboarding in
tutorials- you will work on assignment
 BUSS213 website where you can find out the latest
Notices and get Lecture Notes, Tutorial Sheets,
Assignments etc is:
www.uow.edu.au/~rclarke/buss213/buss213.htm
Clarke, R. J (2001) L213-06:
2
Agenda (1)



in this lecture we examine modes of delivery for
multimedia in this lecture
so far in this course we have assumed that
multimedia systems are delivered to users by
means of magnetic/optical storage (primarily CDROMs)
however in this lecture we emphasise what is and
will continue to be arguably the most common
form of multimedia delivery- the Internet- and
more particularly the WWW
Clarke, R. J (2001) L213-06:
3
Agenda (2)
 the Internet and WWW provides unique opportunities
for multimedia developers as well as posing real
problems- is is very complex requiring mastery of a
large number of disparate technologies server-side
and client side
 the web provides the possibility of having some
content especially in the form of text resources
updatable over time
 unfortunately video and other resource intensive
temporal media don’t work well over the net
 this has resulted in the development of web-based or
so-called hybrid multimedia systems in which users
have CD-ROMs full of video content, indexed by web
pages served across the internet
Clarke, R. J (2001) L213-06:
4
Agenda (3)
 I consider hybrid multimedia systems to be no
different to other web applications but they have
surprising effects on content
 rather than thinking of the content in a
multimedia system as static- we can think of
content as a process- as evolving- this really
does lend itself to the creation of organisational
multimedia
 Unlike the usual educational multimedia systems
that are developed- we aren’t playing games any
more!
Clarke, R. J (2001) L213-06:
5
Agenda (4)
we describe web technology
especially:
web clients and servers
how servers actually serve up pages
what other operations they perform
the concept of web applications
the concept of dynamic websites
Clarke, R. J (2001) L213-06:
6
Related Readings
 Vaughan (1998) Chapter 18: Designing for the
World Wide Web, 495-520
 Vaughan (1998) Chapter 20: Delivering, 543568
Clarke, R. J (2001) L213-06:
7
Web Clients & Servers
Source: Yeager & McGrath (1996, 11-16)
Clarke, R. J (2001) L213-06:
8
Internet
 Internet (=Internetworking) collection of
computer networks and to allow
interoperability between them
 networks can consist of many types of
network technologies, protocols, and
computers
 Several protocols are required for
transmitting data across the Internet
(TCP/IP)
Clarke, R. J (2001) L213-06:
9
Internet
Internet Protocol
 IP manages the transfer of data across physically
distinct networks
 transfers data into packets within an ‘envelope’ that
describing its source and destination
 a message is in effect shattered into pieces,
packaged as packets in envelopes, and burst
transmitted to the destination
 IP looks after delivering these packages- one packet
at a time!
Clarke, R. J (2001) L213-06:
10
Internet
Transmission Control Protocol
 networks are unreliable and IP does not
guarantee that all pieces arrive (no notion
of a connection)
 TCP defines conventions that make sure
the pieces arrive in the correct order- by
specifying another envelope around the
data packets
 IP layer moves packets, TCP manages the
connection
Clarke, R. J (2001) L213-06:
11
Internet
Other Services & Protocols
 the layering or encapsulation which is a
characteristic of OSI also works in much the
same way with other services supported by the
Internet (TCP/IP)
 File Transfer Protocol defines the conventions
which describe how computers can cooperate in
order to copy files from one computer to
another on the Internet- it uses TCP/IP to do this
Clarke, R. J (2001) L213-06:
12
Internet
Other Services & Protocols
Internet Protocol; Transmission Control Protocol; File Transfer Protocol
FTP
FTP
TCP
TCP
IP
IP
Physical Network
Clarke, R. J (2001) L213-06:
13
Internet
Web Services & Protocols
the web is just another internet service!
Hypertext Transfer Protocol (HTTP) is the
set of rules for making and fulfilling web
requests
however, the web is also designed to
encapsulate other protocols including
FTP, Gopher, WAIS, telnet and NNTP- we
will talk about these services latter
Clarke, R. J (2001) L213-06:
14
Internet
Web Services
works as a client-server- in terms of
services not necessarily hardware
differs from other network models
(terminal to mainframe; and peer-topeer) because client and server are
independent, fully functional
computer systems in their own right
Clarke, R. J (2001) L213-06:
15
Internet
Web Services
Mainframe & Terminal
Typing
Printing
Client-server
Request
Reply
Peer-to-Peer
Send Message
email
Send Message
Clarke, R. J (2001) L213-06:
16
Intranets & OA
Success of WWW- Open Standards
machines on the Internet are effectively
decentralised
an important aspect of the web is that it
is a set of open (not proprietary)
protocols:
Uniform Resource Locators URLs
Hypertext Transfer Protocol (HTTP)
Hypertext Markup Language (HTML)
Clarke, R. J (2001) L213-06:
17
Intranets & OA
Success of WWW- Specific Issues
web protocols are general enough to
be implemented on any computer
web application are the ‘topmost’ layer
in the Internet protocol hierarchy
complex processes of transfer of data
are ‘hidden’ from the web application
developer and user
as a consequence there is a great
variety of web applications available
Clarke, R. J (2001) L213-06:
18
Web Servers & Clients
Source: Yeager & McGrath (1996, 11-16)
Web
Web
FTP
FTP
TCP
TCP
IP
IP
Physical Network
Clarke, R. J (2001) L213-06:
19
Serving Documents- Example
Clarke, R. J (2001) L213-06:
20
Serving Documents- Example
1: Server waits for a new request
httpd program waits for a clients request
to arrive from somewhere on the Internet
server listens to a port until someone
calls it and until that occurs it is dormant
Clarke, R. J (2001) L213-06:
21
Serving Documents- Example
2: Request arrives from client ...
ultimately a request is sent by a
client to the server either by typing a
URL or selecting a HTML anchor
the network software (client) locates
the server computer and sets up a 2way network connection from the
client to the server
Clarke, R. J (2001) L213-06:
22
Serving Documents- Example
... 2: Request arrives from client
 client can locate servers by the use of Internet
protocols and the name service (DNS) to locate
and initiate a connection with the server
 once the connection is established the client
sends the HTTP request:
GET /sample.htm HTTP/1.0
 sent over the network in ASCII, server receives
it and saves it
Clarke, R. J (2001) L213-06:
23
Serving Documents- Example
3: server parses the request ...
server decodes the request using
HTTP protocol to determine what to do
there are three important pieces of
information:
the method instructs the server as to
what action should be taken. The GET
method is used to locate and read the file
and return it to the client ...
Clarke, R. J (2001) L213-06:
24
Serving Documents- Example
... 3: server parses the request
the document (/sample.htm) can be
fetched by the server because it knows
where it is in the document tree, and the
browser protocol being used (HTTP/1.0)
so that the contents can eventually be
returned to the client sent back over the
same connection as the request. (Note
that the server need not find the client on
the Internet or make a new connection)
Clarke, R. J (2001) L213-06:
25
Serving Documents- Example
4: Read other information (if necessary) ...
 the httpd program reads the rest of the
requests needed
 using HTTP/1.0 the browser is expected to
send additional information about itself to the
server
 this meta-information describes the browser
and its capabilities which may be needed by
the server to reply to the request
Clarke, R. J (2001) L213-06:
26
Serving Documents- Example
... 4: Read other information (if necessary)
for example:
User-agent: Mosaic for X Windows/2.4
Accept: text/plain
Accept text/html
Accept: image/*
indicates the browser is Mosaic
configured to display text, and any
kind of image
Clarke, R. J (2001) L213-06:
27
Serving Documents- Example
5: Do the requested method ...
Assuming no errors, the httpd
program executes the request
to GET a document requires looking
up the file /sample.htm in its document
tree using its standard operating
system
there are two alternative courses of
action depending on sucess or failure
Clarke, R. J (2001) L213-06:
28
Serving Documents- Example
... 5: Do the requested method (Success) ...
the httpd daemon sends a result code and
the information that describes the type of
information expected by the client
as the document is found a code 200
(everything is OK) is sent and the document will
follow
the information is a HTML document so the
Content-type: text/htm; the document is 1066
bytes long so the Content-length: 1066
the server software and the file date are also
included
Clarke, R. J (2001) L213-06:
29
Serving Documents- Example
... 5: Do the requested method (Success)
the header sent to the client might
look something like this:
HTTP/1.0 200 Document follows
Server: NCSA/1.4
Date: Thu, 20 Jul 1996 22:00:00 GMT
Content-type: text/html
Content-length: 1066
Last-modified: Thu, 20 Jul 1996 20:38:40 GMT
Clarke, R. J (2001) L213-06:
30
Serving Documents- Example
5: Do the requested method (Failure)...
if the requested file could not be found or
read then the status code will not be 200
the most common problem is that the
name of the requested file is misspelt so
the server cannot find it
if the requested file was called smple.htm
it would not be found- the server would
send a status code 403
Clarke, R. J (2001) L213-06:
31
Serving Documents- Example
... 5: Do the requested method (Failure)...
the response might look like this:
HTTP/1.0 403 Not Found
Server: NCSA/1.4
Date: Thu, 20 Jul 1996 22:00:00 GMT
Content-type: text/htm
Content-length: 0
Clarke, R. J (2001) L213-06:
32
Serving Documents- Example
6: Finish Up
 when the file is completely sent or an error
message is sent,
 the httpd server has finished its work- it closes the
file if it was open, and closes the network port which
terminates the network connection
 the client receives and formats the data- the server
knows nothing
 the httpd server listens for another request (go back
to step 1)
Clarke, R. J (2001) L213-06:
33
Web Server Operations
Clarke, R. J (2001) L213-06:
34
Web Server Operations
 a web server has a collection of
information in a document tree and it
serves it according to the HTTP protocol
 web servers are reactive programs waiting
until a request is made; it attempts to
make it, this is repeated etc.
 the previous example is only slightly
simplified
Clarke, R. J (2001) L213-06:
35
Web Server Operations
Handling Multiple Requests (1)
 if a server processes one request at a
time, but can receive many simultaneous
requests then delays will occur- an image
may take several seconds to serve
 without a priority scheme, small jobs that can
be serviced quickly take inordinate amount of
time to serve
 with a large number of hits servers can go
down- backlog can be too great
Clarke, R. J (2001) L213-06:
36
Web Server Operations
Handling Multiple Requests (2)
 web servers are therefore designed to
handle as many requests as possible
simultaneously
 several strategies are available to do this
(the last two are are more difficult unless
special software is used):
 clone a copy of the httpd program for each
request- very easy under UNIX
 multithreading the httpd program
 spreading the work amongst several helper
programs
Clarke, R. J (2001) L213-06:
37
Web Server Operations
Cloning Servers (1)
each request is processed by a new
copy of the httpd program
the original server called the parent
immediately returns to listening for
another request
the new copy called the child
performs the processing
Clarke, R. J (2001) L213-06:
38
Web Server Operations
Cloning Servers (2)
the parent passes the network
connection to the adult at the time
that it is first spawned
when the has services the request, it
terminates forever
the web server hardware may have
many copies of the httpd program
running simultaneously
Clarke, R. J (2001) L213-06:
39
Web Server Operations
Multithreaded Execution
 many mechanisms can be used for
implementing this approach
 server may monitor the progress of several
connections, switching between them as
necessary
 when a lengthy process is in operation the
server may switch to another pending task
 when the pending processes is complete it can
return to the previous lengthy process
 server closes the network connections of any
finished processes
 this can be an extremely efficient method
Clarke, R. J (2001) L213-06:
40
Web Server Operations
Servers as Cooperating Sets of Programs
 the httpd server itself can be made a set of
cooperating programs specialised to
perform particular tasks
 One program reads the requests fro the
network, another allocates them to
specialised helper programs
 the scheme is very efficient, the number of
helpers can be adjusted to meet the
number of requests, the type of requests
(generally less common) or the size of the
system
Clarke, R. J (2001) L213-06:
41
Web Server Operations
Multiple Web Services on the same Servers
 more than one web service can run on the
same computer
 any number of httpd programs can run on a
UNIX machine as long as they have a unique
port number
 the following web services are on the same
computer but different ports (the superuser sets
up port 80 servers, but users can own and operate
unrestricted ports above 1024):
http://www.rods.org/index.htm (port 80)
http://www.rods.org:8080/index.htm (port 8080)
http://www.rods.org:8081/index.htm (port 8081)
Clarke, R. J (2001) L213-06:
42
Web Server Operations
Establishing a Two-Way Network Connection
 client must look up the network address of
the server using its name
 the client’s system software sends a packet
back to the server, requesting a connection
 the server’s system software sends a packet
back to the client, agreeing to set up a
connection
 the client program is connected to the new
network connection
 the server program is connected to the new
network connection
Clarke, R. J (2001) L213-06:
43
Web Applications
Clarke, R. J (2001) L213-06:
44
Web Applications
From Multimedia to Web
Database (MySQL)
Local (Client-side)
front-end or client side
may run as an apparently
standalone application
Web Server (Apache)
Database Integration (PHP)
Version Control
Subsystem
Remote (Server-side)
back-end may be a proxy
or web server (local or
remote) that allows updates
for some resources
User Interface
(BHP Project Director)
Clarke, R. J (2001) L213-06:
45
Web Applications
 a number of companies are implementing
‘mission-critical’ web based applications
 these applications generally utilise databases
 attempt at developing closer alliances with
customers, suppliers, partners, and employees
 organisational multimedia systems will
increasingly become delivered in this form
 by using heterogeneous platforms, multimedia
content is distributed throughout the
infrastructure of a firm
Clarke, R. J (2001) L213-06:
46
Web Applications
sophisticated web applications must
support complex Internet/intranet
system configuration
systems level hardware/software, and
networking products must work
together
software elements: JAVA applets,
Microsoft Active X controls, CGI scripts,
SQL code
Clarke, R. J (2001) L213-06:
47
Web Applications
Web Database Applications- Components
Browser
Layer
Application
Logic
Layer
External
“helper”
program
HTML Document
CGI program
Proprietary
Web Server
Database
Gateway
Layer
Database
Layer
Java
Application
Java
applet
Vendor’s
Database API
Command-line
interface to
database
Database (RDMS)
Web Server
API module
ODBC
JDBC
Clarke, R. J (2001) L213-06:
48
Web Applications
System Configuration: Logical View
Client Workstations
with Web Browsers
Production
Web Server
Application
Server
Firewall
Database
Server
Mainframe
Database
Development
Web Server
Clarke, R. J (2001) L213-06:
49
Web Applications
 all real system development is complex,
and web applications are no different to
traditional systems development projects
in that respect
 however they pose special challenges due
to the fact that there are numerous
technologies involves
 web-based application components must
be thoroughly tested to ensure that they
are reliable, defect-free, and meets its
original design purposes
Clarke, R. J (2001) L213-06:
50
Web Applications
Client-side Components
Standard Windows
GUI Objects
•display text
•images
•backgrounds
•control buttons
•edit fields
•list boxes
•radio buttons
•checkboxes
•cursor
•pull-down menus
•dialog boxes
•forms

Browser
Specific Objects
Special HTML
Extension Objects
•tables
•frames
Multimedia
Objects
Procedural Logic
(Client or Server)
•audio streams
•video streams
•VRML plug-ins
•Java Code
•Javascripts
•Active X controls
•procedural logic
coded with various
proprietary scripting
languages
Navigational
Objects
•text links
•image links
•image map links


NetObjects Support
Clarke, R. J (2001) L213-06:
51
Web Applications
Server-side Components
Firewall 
•Prevents unauthorised
access to Intranet
•Implements security
policy and ‘stance’ for
Web Applications
Web Server
Production 
•Serves HTML/XML
web pages
•runs CGI scripts to
provide added functions
to web applications
Development 
•handles an internal
representation of pages
in a web application
Application
Server
Database
Server
Mainframe
Database
•provides special
purpose applications
necessary to support
a web application
•generally invoked by
passing a request
from a CGI script
•provides database
access for a web
application
•implemented using
SQL commands
•must support the
database needs of a
large number of
potential users
•Central repository for
all data in the
organisation
•Database Server
provides a view on
the necessary
subsets of this
central repository data



NetObjects Support
Clarke, R. J (2001) L213-06:
52
Web Applications
Various Kinds of Testing
Client-side Testing
 Browser compatibility testing
 Desktop configuration testing
 Usability testing
 Documentation testing
 Security testing
 Error message testing
 Client load testing
 Cross-platform portability
 Applet/Script Testing
 GUI Testing
Server-side Testing
 Web-server Load testing
 Network Load Testing
 Application Server Testing
 Database Server Load
Testing
Clarke, R. J (2001) L213-06:
53
Dynamic Websites
Clarke, R. J (2001) L213-06:
54
Dynamic Websites
 we have seen that organisational multimedia
systems can be considered in the same way as
other organisational web applications
 multimedia content may be distributed across
multiple servers-and served as required
 there is still a major problem that faces
conventional multimedia developers- although
the content is now in principle able to be
changed- this is difficult to undertake and so the
multimedia site may suffer from the so called
revision control problem also known as version
control problems
Clarke, R. J (2001) L213-06:
55
Static Site Structure
File System View
Clarke, R. J (2001) L213-06:
56
Static Site Structure
Changing Contents- Revision Control Issue
Clarke, R. J (2001) L213-06:
57
Static Site Structure
Changing Contents- Revision Control Issue
Clarke, R. J (2001) L213-06:
58
Static Site Structure
Changing Contents- Revision Control Issue
Clarke, R. J (2001) L213-06:
59
Static Site Structure
Changing Contents- Revision Control Issue…
 Clicking on Aditya’s
member link not
only provides the
content but a
previous version of
DSL website’s
navigation frame
 Static site structure
easily creates
situations where
revision control
errors like this can
occur
Clarke, R. J (2001) L213-06:
60
Static Site Structure
Changing Contents- Revision Control Issue…
 Clicking on
Rodney’s member
link provides
content that is
well-out-date
 Static site
structure easily
creates situations
where revision
control errors like
this can occur
Clarke, R. J (2001) L213-06:
61
Static Site Structure
Changing Contents- Revision Control Issue
N
Clarke, R. J (2001) L213-06:
62
Static Site Structure
Longitudinal Changes
N
Clarke, R. J (2001) L213-06:
63
Static Site Structure
Longitudinal Changes
N
Clarke, R. J (2001) L213-06:
64
Static Site Structure
Time
Longitudinal Changes
Content Theme
N
Clarke, R. J (2001) L213-06:
65
Static Site Structure
Longitudinal Change & Content Themes
Time
 different content themes
(found as major global
navigation options) are
pictorially represented by the
use of different coloured
shapes along the x-axis
 we can show changes to the
site content over time (also
called longitudinal change)
along the y-axis
 most web sites start out with
well defined content t=0
t=0
Content Theme
Clarke, R. J (2001) L213-06:
66
Static Site Structure
Longitudinal Changes
Time
 the site remains unaltered until
the content is deemed to have
a large number of errors in it
 a review process is instigated
and a new version for some of
the content is created (t=1)
 the next increments see the
content changing in terms of
its thematic classification
(changes to colour) and its
representation on the site
(thickness)
t=1
Content Theme
Clarke, R. J (2001) L213-06:
67
Static Site Structure
Time
Longitudinal Changes
t=3
t=2
t=1
Content Theme
 while all of the site will need
to be reviewed not all of the
content needs to be or can be
changed (see boxed themes)
t=2
 sometimes the changes
needing to be made represent
an enormous burden as the
site may need to be altered
substantially t=3
 this episodic, large scale
updating websites is a major
maintenance problem
Clarke, R. J (2001) L213-06:
68
Static Site Structure
Time
Longitudinal Changes
t=3
t=2
t=1
Content Theme
 while all of the site will need
to be reviewed not all of the
content needs to be or can be
changed (see boxed themes)
t=2
 sometimes the changes
needing to be made represent
an enormous burden as the
site may need to be altered
substantially t=3
 this episodic, large scale
updating websites is a major
maintenance problem
Clarke, R. J (2001) L213-06:
69
Static Site Structure
Time
Longitudinal Changes
t=3
t=2
t=1
Content Theme
 while all of the site will need
to be reviewed not all of the
content needs to be or can be
changed (see boxed themes)
t=2
 sometimes the changes
needing to be made represent
an enormous burden as the
site may need to be altered
substantially t=3
 this episodic, large scale
updating of websites is a
major maintenance problem
Clarke, R. J (2001) L213-06:
70
Dynamic Website
Dynamic Web Page Generation…
 dynamic web applications are prevalent in
commercial (e-commerce) sites, where the
content displayed is generated from
information accessed in a database or
other external source
 a dynamic web page is a page that interacts
with the user, so that each user visiting the
page sees customized information
 both a web page's structure as well as its
content can be customized- dynamic web page
programming can produce web pages ondemand
Clarke, R. J (2001) L213-06:
71
Dynamic Website
No Material Presence
 generally dynamic page generation is limited to
specific small parts of the web
 but there is a more radical alternative to having
static or scalable web sites- one which has a great
deal of promise commercially and in organisational
multimedia systems
 we can extend the idea of dynamic web pages to
that of having dynamic web sites- sites that do not
have a material presence until ‘requested’ as part of
the user navigation clicking on links
Clarke, R. J (2001) L213-06:
72
Dynamic Websites
Description and Rationale
 develop dynamic site structure- sites that appear to
the users to be dynamically change their structure to
accommodate use
 in fact when the user is navigating they are actually
sending database queries and the web server
generates the page on the fly
 needed for organisations that are involved in time or
priority ordering in tasks (event management or
emergency services)
 active area of research:
 modify systems network notation to include temporal logical
 develop a semantic theory of site evolution (has been done
for traditional IS)
Clarke, R. J (2001) L213-06:
73
Dynamic Websites
Time
 the structure of the web site
changes overtime, topics
diverge and converge
 weblets blur one into another
overtime, as indicated by the
gradual changes in colour
 this change is driven by
changes to types of requests
being made over time- changes
to the mission of the
organisation and/or structural
alterations to the communities
that make up the organisation
Content Theme
Clarke, R. J (2001) L213-06:
74
Further Reading
 Liu, C.; Peek, J.; Jones, R.; Buus, B. and A. Nye (1994)
Managing Internet Information Services Chapter 18: Setting Up a
Web Server, O’Reilly & Associates, Inc. 299-324
 Liu, C.; Peek, J.; Jones, R.; Buus, B. and A. Nye (1994)
Managing Internet Information Services Chapter 20: Web:
Gateways and Forms, O’Reilly & Associates, Inc. 357-380
 Liu, C.; Peek, J.; Jones, R.; Buus, B. and A. Nye (1994)
Managing Internet Information Services Chapter 21: Web:
Access Control and Security, O’Reilly & Associates, Inc. 381-390
 Berghel, H. (1996) “HTML Compliance and the Return of the
Test Pattern” Communications of the ACM February 39 (2) 19-22
(Reading #22)
Clarke, R. J (2001) L213-06:
75
 Luotonen, A. (1998) Web Proxy Servers Prentice Hall PTR Web
Infrastructure Series NJ: Prentice Hall PTR
 Fournier, R. (1999) A Methodology for Client/Server and Web
Application Development Yourdon Press Computing Series, NJ:
Yourdon Press, Prentice Hall
 Lodin, S. W. and C. L. Schuba (1998) “Firewalls fend off invasions
from the Net” IEEE Spectrum February 1998, 35 (2), 26- 34 (Reading
#24)
 Oppliger, R. (1997) “Internet Security: Firewalls and Beyond”
Communications of the ACM May 40 (5) 92-102 (Reading #25)
 Wood, D. (1998) “The Search for the Searcher: Use second-rate
search engine software and your users will avoid your Web site in
droves” Systems April 1998, 58-67 (Reading #26)
Clarke, R. J (2001) L213-06:
76
 Anonymous (1998) “Serving from the baseline: APC Labs
checks out entry-level Web servers from small-to-medium
businesses” APC Magazine April 1998, 115-124 (Reading #27)
 Schwartz, R. L. (1999) “Programming with Perl: Step-by Step
Link Verification” Web Techniques 4 (3) March 1999, 30-34
 Yeager, N. J. & R. E. McGrath (1996) Web Server Technology:
The Advanced Guide for World Wide Web Information Providers
San Francisco, California: Morgan Kaufmann
 Holden, G. and M. Keller (1999) Apache Server for Windows:
Little Black Book Arizona: Coriolis
Clarke, R. J (2001) L213-06:
77
Links
Web Techniques www.webtechniques.co
NewApps Software Archive http://www.newapps.com/appstopics/
Win_95_HTML_and_Link_Verification_Tools.html
Viable Software Alternatives- Alert LinkRunner http://viablesoftware.com/
Tetranet Software- LinkBot Pro
http://www.tetranetsoftware.com/products/linkbot.htm
Trellian- SiteMapper http://www.trellian.com/mapper/
Aman Software- CyberSpyder Link Test 2.1.5
http://www.cyberspyder.com/cslnkts1.html
Hausherr, Tilman- Xenu's Link Sleuth http://www.snafu.de/~tilman/xenulink.html
comp.lang.tcl Frequently Asked Questions (1998)
http://www.cis.ohio-state.edu/hypertext/faq/usenet/tcl-faq/part1/faq-doc-2.html
Clarke, R. J (2001) L213-06:
78
Bourne Shell (1994)
http://garfield.ir.ucf.edu/manual/aix/bourne.html
CGI Programming 101 (1997-1998)
http://lightsphere.com/dev/class/
Comprehensive Perl Archive Network (1998)
http://ftp.digital.com/pub/plan/perl/CPAN/CPAN.html
IPSec Online (1998)
http://www.data.com/tutorials/bullet_online.html
Clarke, R. J (2001) L213-06:
79