COMM1T Web Engineering - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

COMM1T Web Engineering

Description:

The returned file may be an HTML file, image, Java applet etc. Run Server program ... IIS is an integrated feature of Windows 2000/XP. Download from: ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 44
Provided by: lizg9
Category:

less

Transcript and Presenter's Notes

Title: COMM1T Web Engineering


1
COMM1T Web Engineering
  • Week 9 - Web Server Installation. Website
    Configuration Management

2
What is aweb server?
  • A network server manages access to files, folders
    and resources.
  • A web server manages this access across the
    internet or local intranet.
  • Web servers use platform-independent HTTP
    (HyperText Transfer Protocol).
  • Web servers also perform the following
  • handle permissions.
  • execute programs (e.g. CGI Scripts).
  • keep track of directories files.
  • communicate with client computers.

3
How does a web server work?
Web Server
Run Server program
The returned file may be an HTML file, image,
Java applet etc.
HTTP Response return file
HTTP Request
Browser
Client Computer
4
Common Web Servers
  • Microsoft Personal Web Server (PWS)
  • Entry level web server.
  • Doesn't support FTP (file transfer protocol).
  • Microsoft Internet Information Server (IIS)
  • Popular web server for Windows NT.
  • Apache
  • Popular web server for UNIX NT.
  • High performance/reliability.
  • W3C Jigsaw
  • Blueprint for the future!

5
Personal WebServer
  • A free web server which can be downloaded.
  • Produced by Microsoft
  • Can be installed with the following operating
    systems
  • Windows 95
  • Windows 98
  • Windows NT
  • Download from
  • http//www.microsoft.com/msdownload/ntoptionpack/a
    skwiz.asp
  • Product home page
  • http//www.microsoft.com/windows/ie/pws

6
Internet Information Services (IIS)
  • Internet Information Services (IIS) is the most
    popular web server for Windows NT.
  • IIS is an integrated feature of Windows 2000/XP.
  • Download from
  • http//www.microsoft.com/ntserver/nts/downloads/re
    commended/NT4OptPk/
  • Product home page
  • http//www.microsoft.com/ntserver/Basics/WebServic
    es/

7
Web ServerStructure
  • A web server has a physical directory structure
    on disk.
  • This maps onto a virtual directory structure for
    internet access.
  • Management depends on web server used.
  • If for example the homepage was stored in
  • ...\users\cs0egandy\public_html
  • This directory might be accessed from the web
    using
  • http//osiris.sunderland.ac.uk/cs0ega/

8
Demonstration
  • http//osiris.sunderland.ac.uk/cs0ega/

9
Virtual directories
  • Multiple websites on the same web server are
    placed in separate virtual directories.
  • To add a new website, a new directory will be
    created and the website file structure placed
    under it.
  • An alias for the virtual directory will be mapped
    to the physical directory on disk.
  • This alias is the name by which the directory is
    referred to from the internet.

10
Example
  • A virtual directory has been created with alias
    webeng.
  • This is mapped to the physical directory
  • ...\users\cs0webeng\public_html\
  • Files placed in this directory will now be
    accessible from
  • http//osiris.sunderland.ac.uk/webeng/
  • An index.htm file has been provided and this will
    provide the starting point for the website.

11
Demonstration
  • http//osiris.sunderland.ac.uk/webeng/

12
Sub-directories
  • The same principle works for directories under a
    website structure.
  • A developer can create a new directory under
    their root web directory e.g.
  • ...\users\cs0webeng\public_html\testdir\
  • If they place a default file index.htm (or other
    valid default name) this can be accessed
  • http//osiris.sunderland.ac.uk/webeng/testdir/
  • In this case no web server alias is required.

13
Demonstration
  • http//osiris.sunderland.ac.uk/webeng/testdir/

14
Directory Listings
  • What happens if no default file is provided?
  • Within the website another sub-directory has been
    created
  • ...\users\cs0webeng\public_html\programming\
  • This directory does not contain a default file so
    an initial page cannot be identified
  • A directory listing is displayed instead.
  • For this to work the web server must be
    configured to enable "Directory Browsing.
    Usually a simple option, available when creating
    website accounts.

15
Demonstration
  • http//osiris.sunderland.ac.uk/webeng/programming/

16
Web Servers andCGI Programs
  • Web Servers also provide a virtual directory with
    alias scripts to enable execution of CGI
    programs.
  • This is mapped to physical directory
  • ...\users\cs0webeng\public_html\scripts\
  • CGI programs should be copied into this
    directory.
  • They can then be accessed through
  • http//osiris.sunderland.ac.uk/webeng/scripts/
  • Note that execute scripts permissions are set
    for this directory by the Web Server Manager if
    scripting is allowed.

17
Demonstration
  • http//osiris.../webeng/scripts/randback.exe

18
File Transfer
  • So far we have simply copied files to directories
    on the server.
  • This is fine when you have access to the web
    server via a network.
  • With larger servers (such as those run by ISPs)
    the users are widely distributed.
  • A network connection may not be possible.
  • In this case files are copied to/from the server
    using FTP (File Transfer Protocol).
  • FTP copies both binary and ASCII (Text) files.

19
FTP Software
  • There are many FTP programs (most are free
    downloads)
  • Examples are
  • WS-FTP
  • LeechFTP
  • WinSCP
  • At Sunderland WinSCP is widely used and
    recommended
  • http//winscp.sourceforge.net/eng/)

20
Demonstration
  • WinSCP

21
WebsiteManagement Issues
  • Why bother managing a website?
  • Why shouldn't the website be left to evolve
    naturally?
  • Surely new pages can be added as necessary?
  • Out of date hyperlinks? Surely a regular check is
    sufficient.

22
Reasons for management
  • Web engineering is a complicated technical
    activity.
  • Additional non-technical tasks are required.
  • Often large teams are involved.
  • Development costs can be high.
  • To avoid failure
  • Plan the project/website.
  • Consider the risks.
  • Establish a schedule.
  • Track progress.
  • Ensure appropriate controls are in place (quality
    assurance).

23
Web Engineering skills
  • Software engineering, component-based.
  • Networking.
  • Architectural design.
  • Navigational design.
  • Internet standards/languages.
  • Security.
  • HCI (Human Computer Interface) design.
  • Graphic design.
  • Content layout.
  • Application testing.

24
A Web Engineering Team
  • Content developer provider.
  • Generation and/or collection of content from a
    range of sources.
  • Web publisher.
  • Organise content and act as liaison between
    content developer and web engineer.
  • Web engineer.
  • Cuts code!
  • Support/maintenance specialist.
  • Responsible for corrections, adaptations
    enhancements.
  • Administrator.
  • Responsible for day-to-day operation. The
    "webmaster".

25
Configuration Management
  • Software Engineering SCM (Software Configuration
    Management) principles can be applied.
  • Web applications are frequently changing.
  • Often many developers are working on a single
    website.
  • inadequate control may result in
  • unauthorised posting of information.
  • simultaneous posting of information (updates may
    be lost).
  • erroneous or poorly tested functionality.
  • security may be breached.

26
SCM Issues
  • Content
  • Requires organisation and formal methods of
    control. Who updates what and when?
  • People
  • Often web pages are created/updated by people
    without a software engineering background.
  • They may be unaware of need for configuration
    management.
  • Website can grow/change in an uncontrolled way.
  • Scalability
  • Websites commonly start small and expand.
  • Small changes can have large effects.
  • Politics
  • Who "owns" the website?
  • Who pays for changes/corrections?

27
SCM Processes
  • Version control.
  • Change control.
  • Configuration audit.
  • Status Reporting.
  • Tools available for general software
    configuration control can be used in web
    engineering.
  • Examples of such software
  • Microsoft Visual SourceSafe (included with Visual
    Studio Professional).
  • SCCS (Unix).

28
Version Control
v1.3
v1.4
v1.0
v1.1
v1.2
v2.0
v2.1
v1.1.1
v1.1.2
29
ChangeControl
User requests change
Developer evaluates
Change report generated
Change control authority decides
Request is queued for action
Change request is denied
Developer is assigned
User is informed
Items required are "checked out"
Change is made
Change is reviewed/audited
Local testing is performed
Items are "checked in"
Changes set for inclusion in next release
All changes to version reviewed/audited
Release/Distribute new version
30
Access Control
Check in
Modified version
Baseline version
unlock
audit info
ownership info
Project Database (Source Files)
Access Control
Web Engineer
lock
Baseline version
Extracted version
Check out
31
WebsiteArchitecture
  • When designing a website you must plan the
    architecture.
  • How will the user navigate your website?
  • What links are required between pages?
  • What external links are required?
  • Consider maintenance/expansion.

32
Linear Architecture
Linear with optional flow
Linear with diversions
Linear
33
Use of Linear Structures
  • When a predictable sequence of iterations (with
    some diversion or variation) is expected.
  • Examples
  • The Exercises section of the WebEng site where
    students are expected to move through in order.
  • The ordering section of a website where you move
    through a checkout system.

34
Grid Architecture
35
Use of Grid Structures
  • When the content can be organised into categories
    of one or two dimensions.
  • Example
  • A site selling equivalent products produced by
    different manufacturers.
  • Navigate horizontally to locate the required
    product.
  • Navigate vertically to compare different
    manufacturers.

36
Hierarchical Architecture
37
Use of Hierarchical Structures
  • The most common type of website structure.
  • Allows navigation horizontally between different
    vertical branches of the structure.
  • Allows rapid navigation across content.
  • Can be confusing to the user.

38
Networked ("Pure Web") Architecture
39
Use of Networked Structure
  • Every page is linked to every other page.
  • Complete flexibility of navigation.
  • Considerably confusing to the user.
  • What happens if a page is removed?
  • A maintenance nightmare!

40
Website Navigation
  • Structures can be combined to form composite
    structures.
  • The overall architecture of a website is
    generally composite.
  • The website designer must take into account the
    following
  • Good navigation between related pages.
  • Do not confuse the user with too many links.
  • What form should the links take - text, buttons,
    tabs?
  • Maintenance/expansion should be taken into
    account.

41
Directory Structures
  • Websites can quickly become large and
    complicated.
  • The use of a sensible directory structure is
    important.
  • It is common to have separate directories for
    images and scripts.
  • Other sub-sections should be separated out into
    separate directories.
  • Links should be relative not absolute so they are
    not broken if the site moves.

42
Testingwebsite links
  • Broken hyperlinks are extremely irritating to the
    user.
  • Before releasing your website you should check
    all links are valid.
  • Tools are often included in Development Software
    e.g. Visual InterDev, Pagemill.
  • Links to external sites should be checked
    regularly.
  • If you make significant changes to your website,
    check internal links.
  • As your website expands, ensure appropriate links
    to new sections (and back) are added.

43
References
  • Material for this lecture was obtained from
  • "Software Engineering a Practitioner's Approach
    (European Adaptation)" Pressman Ince Schaum,
    2000 ISBN 0-07709-677-0
  • "Internet World Wide Web How to Program"
    Deitel, Deitel Nieto Prentice Hall ISBN
    0-13-030897-8.
  • Example CGI Program was provided by
  • Dr. Giles Oatley
Write a Comment
User Comments (0)
About PowerShow.com