BUSS 213 Multimedia in Organisations Lecture 11 Delivery Approaches:
79 Slides1.01 MB
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 today- make sure I know which group you are in this week we will discuss storyboarding in tutorialsyou 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 problemsis 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 changedthis 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 Clarke, R. J (2001) L213-06: 62
Static Site Structure Longitudinal Changes Clarke, R. J (2001) L213-06: 63
Static Site Structure Longitudinal Changes Clarke, R. J (2001) L213-06: 64
Static Site Structure Time Longitudinal Changes Content Theme 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 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 t 3 t 2 t 1 Content Theme Clarke, R. J (2001) L213-06: 68
Static Site Structure Time Longitudinal 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 t 3 t 2 t 1 Content Theme Clarke, R. J (2001) L213-06: 69
Static Site Structure Time Longitudinal 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 t 3 t 2 t 1 Content Theme 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 on-demand 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