Title: Multimedia in Organisations
1Multimedia in Organisations
Lecture 11 Delivery Approaches Magnetic/Optical
Internet and Hybrid
2Notices 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 today-
make 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
3Agenda (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
CD-ROMs) - 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
4Agenda (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 dont 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
5Agenda (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 arent playing games any
more!
6Agenda (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
7Related Readings
- Vaughan (1998) Chapter 18 Designing for the
World Wide Web, 495-520 - Vaughan (1998) Chapter 20 Delivering, 543-568
8Web Clients ServersSource Yeager McGrath
(1996, 11-16)
9Internet
- 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)
10InternetInternet 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!
11InternetTransmission 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
12InternetOther 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
13InternetOther Services Protocols
Internet Protocol Transmission Control Protocol
File Transfer Protocol
FTP
FTP
TCP
TCP
Physical Network
14InternetWeb 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
15InternetWeb Services
- works as a client-server- in terms of services
not necessarily hardware - differs from other network models (terminal to
mainframe and peer-to-peer) because client and
server are independent, fully functional computer
systems in their own right
16InternetWeb Services
email
17Intranets OASuccess 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)
18Intranets OASuccess 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
19Web Servers ClientsSource Yeager McGrath
(1996, 11-16)
Web
Web
FTP
FTP
TCP
TCP
Physical Network
20Serving Documents- Example
21Serving 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
22Serving Documents- Example2 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 2-way network connection
from the client to the server
23Serving 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
24Serving Documents- Example3 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 ...
25Serving 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)
26Serving Documents- Example4 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
27Serving 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
28Serving Documents- Example5 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
29Serving 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
30Serving 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 220000 GMT
- Content-type text/html
- Content-length 1066
- Last-modified Thu, 20 Jul 1996 203840 GMT
-
31Serving Documents- Example5 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
32Serving 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 220000 GMT
- Content-type text/htm
- Content-length 0
33Serving Documents- Example6 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)
34Web Server Operations
35Web 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
36Web Server OperationsHandling 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
37Web Server OperationsHandling 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
38Web Server OperationsCloning 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
39Web Server OperationsCloning 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
40Web Server OperationsMultithreaded 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
41Web Server OperationsServers 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
42Web Server OperationsMultiple 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.org8080/index.htm (port 8080)
- http//www.rods.org8081/index.htm (port 8081)
43Web Server OperationsEstablishing a Two-Way
Network Connection
- client must look up the network address of the
server using its name - the clients system software sends a packet back
to the server, requesting a connection - the servers 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
44Web Applications
45Web ApplicationsFrom 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)
Remote (Server-side) back-end may be a proxy or
web server (local or remote) that allows updates
for some resources
Version Control Subsystem
User Interface (BHP Project Director)
46Web 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
47Web 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
48Web ApplicationsWeb Database Applications-
Components
External helper program
Browser Layer Application Logic Layer Databa
se Gateway Layer Database Layer
HTML Document
Java Application
Java applet
CGI program
Proprietary Web Server
Web Server API module
Vendors Database API
Command-line interface to database
JDBC
ODBC
Database (RDMS)
49Web ApplicationsSystem Configuration Logical
View
Client Workstations with Web Browsers
Production Web Server
Application Server
Firewall
Database Server
Mainframe Database
DevelopmentWeb Server
50Web 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
51Web ApplicationsClient-side Components
NetObjects Support
ü
ü
ü
52Web ApplicationsServer-side Components
Firewall
û
Application Server
Mainframe Database
- Prevents unauthorised access to Intranet
- Implements security policy and stance for
Web Applications
Database Server
- provides special purpose applications
necessary to support a web application - generally invoked by passing a request from a
CGI script
- Central repository for
- all data in the organisation
- Database Server provides a view on the
necessary subsets of this central repository
data
- provides database access for a web
application - implemented using SQL commands
- must support the database needs of a large
number of potential users
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
û
ü
û
û
û
NetObjects Support
53Web ApplicationsVarious 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
54Dynamic Websites
55Dynamic 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
56Static Site StructureFile System View
57Static Site StructureChanging Contents- Revision
Control Issue
58Static Site StructureChanging Contents- Revision
Control Issue
59Static Site StructureChanging Contents- Revision
Control Issue
60Static Site StructureChanging Contents- Revision
Control Issue
- Clicking on Adityas member link not only
provides the content but a previous version of
DSL websites navigation frame - Static site structure easily creates situations
where revision control errors like this can occur
61Static Site StructureChanging Contents- Revision
Control Issue
- Clicking on Rodneys member link provides content
that is well-out-date - Static site structure easily creates situations
where revision control errors like this can occur
62Static Site StructureChanging Contents- Revision
Control Issue
N
63Static Site StructureLongitudinal Changes
N
64Static Site StructureLongitudinal Changes
N
65Static Site StructureLongitudinal Changes
Time
Content Theme
N
66Static Site StructureLongitudinal Change
Content Themes
- 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 t0
Time
t0
Content Theme
67Static Site StructureLongitudinal Changes
- 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 (t1) - the next increments see the content changing in
terms of its thematic classification (changes to
colour) and its representation on the site
(thickness)
Time
t1
Content Theme
68Static Site StructureLongitudinal Changes
- 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) t2 - sometimes the changes needing to be made
represent an enormous burden as the site may need
to be altered substantially t3 - this episodic, large scale updating websites is a
major maintenance problem
t3
Time
t2
t1
Content Theme
69Static Site StructureLongitudinal Changes
- 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) t2 - sometimes the changes needing to be made
represent an enormous burden as the site may need
to be altered substantially t3 - this episodic, large scale updating websites is a
major maintenance problem
t3
Time
t2
t1
Content Theme
70Static Site StructureLongitudinal Changes
- 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) t2 - sometimes the changes needing to be made
represent an enormous burden as the site may need
to be altered substantially t3 - this episodic, large scale updating of websites
is a major maintenance problem
t3
Time
t2
t1
Content Theme
71Dynamic 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 on-demand
72Dynamic 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
73Dynamic WebsitesDescription 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)
74Dynamic Websites
- 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
Time
Content Theme
75Further Reading
- Liu, C. Peek, J. Jones, R. Buus, B. and A. Nye
(1994) Managing Internet Information Services
Chapter 18 Setting Up a Web Server, OReilly
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, OReilly
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,
OReilly 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)
76- 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)
77- 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
78Links
- Web Techniques www.webtechniques.co
- NewApps Software Archive http//www.newapps.com/ap
pstopics/Win_95_HTML_and_Link_Verification_Tools.
html - Viable Software Alternatives- Alert LinkRunner
http//viablesoftware.com/ - Tetranet Software- LinkBot Pro http//www.tetranet
software.com/products/linkbot.htm - Trellian- SiteMapper http//www.trellian.com/mappe
r/ - 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
79- 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.htm
l - IPSec Online (1998)
- http//www.data.com/tutorials/bullet_online.html