View
218
Download
4
Tags:
Embed Size (px)
Citation preview
Clarke, R. J (2001) L213-06: 1
Multimedia in Organisations
BUSS 213
Lecture 11Delivery Approaches:
Magnetic/Optical; Internet and Hybrid
Clarke, R. J (2001) L213-06: 2
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 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
Clarke, R. J (2001) L213-06: 3
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 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
Clarke, R. J (2001) L213-06: 4
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: 5
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: 6
Agenda (4)
we describe web technology especially: web clients and servershow servers actually serve up pageswhat other operations they performthe concept of web applicationsthe concept of dynamic websites
Clarke, R. J (2001) L213-06: 7
Related Readings
Vaughan (1998) Chapter 18: Designing for the World Wide Web, 495-520
Vaughan (1998) Chapter 20: Delivering, 543-568
Clarke, R. J (2001) L213-06: 8
Web Clients & ServersSource: Yeager & McGrath (1996, 11-16)
Clarke, R. J (2001) L213-06: 9
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: 10
InternetInternet 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: 11
InternetTransmission 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: 12
InternetOther 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: 13
InternetOther Services & Protocols
TCP
IP
FTP
TCP
FTP
IP
Physical Network
Internet Protocol; Transmission Control Protocol; File Transfer Protocol
Clarke, R. J (2001) L213-06: 14
InternetWeb 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: 15
InternetWeb 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
Clarke, R. J (2001) L213-06: 16
InternetWeb Services
Mainframe & Terminal
Client-server
Peer-to-Peer
Typing
Printing
Request
Reply
Send Message
Send Messageemail
Clarke, R. J (2001) L213-06: 17
Intranets & 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)
Clarke, R. J (2001) L213-06: 18
Intranets & OASuccess of WWW- Specific Issues
web protocols are general enough to be implemented on any computerweb application are the ‘topmost’ layer
in the Internet protocol hierarchycomplex 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: 19
Web Servers & ClientsSource: Yeager & McGrath (1996, 11-16)
Web
TCP
Web
IP
FTP
TCP
FTP
IP
Physical Network
Clarke, R. J (2001) L213-06: 20
Serving Documents- Example
Clarke, R. J (2001) L213-06: 21
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: 22
Serving 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
Clarke, R. J (2001) L213-06: 23
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: 24
Serving 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 ...
Clarke, R. J (2001) L213-06: 25
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: 26
Serving 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
Clarke, R. J (2001) L213-06: 27
Serving Documents- Example... 4: Read other information (if necessary)
for example:User-agent: Mosaic for X Windows/2.4Accept: text/plainAccept text/htmlAccept: image/*
indicates the browser is Mosaic configured to display text, and any kind of image
Clarke, R. J (2001) L213-06: 28
Serving 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
Clarke, R. J (2001) L213-06: 29
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 clientas 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: 30
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 followsServer: NCSA/1.4Date: Thu, 20 Jul 1996 22:00:00 GMTContent-type: text/htmlContent-length: 1066Last-modified: Thu, 20 Jul 1996 20:38:40 GMT
Clarke, R. J (2001) L213-06: 31
Serving 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
Clarke, R. J (2001) L213-06: 32
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: 33
Serving 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)
Clarke, R. J (2001) L213-06: 34
Web Server Operations
Clarke, R. J (2001) L213-06: 35
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: 36
Web 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
Clarke, R. J (2001) L213-06: 37
Web 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
Clarke, R. J (2001) L213-06: 38
Web 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
Clarke, R. J (2001) L213-06: 39
Web 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
Clarke, R. J (2001) L213-06: 40
Web 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
Clarke, R. J (2001) L213-06: 41
Web 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
Clarke, R. J (2001) L213-06: 42
Web 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.org:8080/index.htm (port 8080)http://www.rods.org:8081/index.htm (port 8081)
Clarke, R. J (2001) L213-06: 43
Web Server OperationsEstablishing 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: 44
Web Applications
Clarke, R. J (2001) L213-06: 45
Web ApplicationsFrom Multimedia to Web
User Interface(BHP Project Director)
Version ControlSubsystem
Web Server (Apache)
Database Integration (PHP)
Database (MySQL)
Local (Client-side)front-end or client side may run as an apparently standalone application
Remote (Server-side)back-end may be a proxy or web server (local or remote) that allows updates for some resources
Clarke, R. J (2001) L213-06: 46
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: 47
Web Applications
sophisticated web applications must support complex Internet/intranet system configurationsystems 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: 48
Web ApplicationsWeb Database Applications- Components
External“helper”program
HTML Document
Javaapplet
JavaApplication
CGI program
ProprietaryWeb Server
Web ServerAPI module
Vendor’sDatabase API Command-line
interface to database
ODBC JDBC
BrowserLayer
ApplicationLogicLayer
DatabaseGatewayLayer
DatabaseLayer
Database (RDMS)
Clarke, R. J (2001) L213-06: 49
Web ApplicationsSystem Configuration: Logical View
Firewall
Client Workstations with Web Browsers Production
Web Server
Application Server
DatabaseServer
MainframeDatabase
DevelopmentWeb Server
Clarke, R. J (2001) L213-06: 50
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: 51
Web ApplicationsClient-side Components
Standard WindowsGUI Objects
Browser Specific Objects
Procedural Logic (Client or Server)
Special HTMLExtension Objects•tables•frames
NavigationalObjects•text links•image links•image map links
•display text•images•backgrounds•control buttons•edit fields•list boxes•radio buttons•checkboxes•cursor•pull-down menus•dialog boxes•forms
•Java Code•Javascripts•Active X controls•procedural logic coded with various proprietary scripting languages
Multimedia Objects
•audio streams•video streams•VRML plug-ins
NetObjects Support
Clarke, R. J (2001) L213-06: 52
Web ApplicationsServer-side Components
Firewall
Application Server
Mainframe Database
•provides special purpose applications necessary to support a web application•generally invoked by passing a request from a CGI script
•Prevents unauthorised access to Intranet•Implements security policy and ‘stance’ for Web Applications
•Central repository for all data in the organisation•Database Server provides a view on the necessary subsets of this central repository data
Database Server
•provides database access for a web application•implemented using SQL commands•must support the database needs of a large number of potential users
NetObjects Support
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
Clarke, R. J (2001) L213-06: 53
Web 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
Clarke, R. J (2001) L213-06: 54
Dynamic Websites
Clarke, R. J (2001) L213-06: 55
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: 56
Static Site StructureFile System View
Clarke, R. J (2001) L213-06: 57
Static Site StructureChanging Contents- Revision Control Issue
Clarke, R. J (2001) L213-06: 58
Static Site StructureChanging Contents- Revision Control Issue
Clarke, R. J (2001) L213-06: 59
Static Site StructureChanging Contents- Revision Control Issue
Clarke, R. J (2001) L213-06: 60
Static Site StructureChanging 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: 61
Static Site StructureChanging 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: 62
Static Site StructureChanging Contents- Revision Control Issue
Clarke, R. J (2001) L213-06: 63
Static Site StructureLongitudinal Changes
Clarke, R. J (2001) L213-06: 64
Static Site StructureLongitudinal Changes
Clarke, R. J (2001) L213-06: 65
Static Site StructureLongitudinal Changes
Tim
e
Content Theme
Clarke, R. J (2001) L213-06: 66
Static 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 t=0
Tim
e
Content Themet=0
Clarke, R. J (2001) L213-06: 67
Static 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 (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)
Tim
e
Content Theme
t=1
Clarke, R. J (2001) L213-06: 68
Static 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) 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
Tim
e
Content Theme
t=1
t=2
t=3
Clarke, R. J (2001) L213-06: 69
Static 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) 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
Tim
e
Content Theme
t=1
t=2
t=3
Clarke, R. J (2001) L213-06: 70
Static 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) 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
Tim
e
Content Theme
t=1
t=2
t=3
Clarke, R. J (2001) L213-06: 71
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 on-demand
Clarke, R. J (2001) L213-06: 72
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: 73
Dynamic 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)
Clarke, R. J (2001) L213-06: 74
Dynamic 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
Tim
e
Content Theme
Clarke, R. J (2001) L213-06: 75
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: 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)
Clarke, R. J (2001) L213-06: 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
Clarke, R. J (2001) L213-06: 78
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: 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.html
IPSec Online (1998)
http://www.data.com/tutorials/bullet_online.html