Robert Zimmer - PowerPoint PPT Presentation

About This Presentation
Title:

Robert Zimmer

Description:

Last year, we saw the Sorcerer's Apprentice as an example of how software projects can go wrong ... XHTML, a standard version of XML ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 56
Provided by: ince8
Category:
Tags: robert | zimmer

less

Transcript and Presenter's Notes

Title: Robert Zimmer


1
Web-Based Computing
  • Robert Zimmer
  • Room 6, St Johns 29
  • R.Zimmer_at_gold.ac.uk
  • Office Hours

2
The Return of Mickey Mouse
  • Last year, we saw the Sorcerer's Apprentice as an
    example of how software projects can go wrong
  • This year, we see it as a model of modern
    computing system

3
  • Mickey has a lot of water to move
  • For water, thing about information
  • At first, he delivers it all himself
  • Then he has a system to deliver it one load (two
    buckets) at a time

4
  • Then he has a brilliant accident
  • He makes lots of new wap-enabled brooms all
    getting the information at the same time
  • Notice that each broom is really controlling
    himself
  • This can be a problem
  • But it can be an opportunity

5
  • So, we have one pool of water (The Server) and
    lots of different brooms (the clients)
  • And that is what the course is about
  • Almost
  • Really there are lots of different pools of water
    and brooms going around from pool to pool

6
The image
  • We have lots of pools of water
  • Some spilled water
  • And lots of brooms surfing in the water from pool
    to pool, taking water out of each
  • Sometimes even putting water into some of the
    pools
  • The Surfing Broom

7
So what kinds of problems come up?
  • Too many brooms at the same pool
  • Two Brooms politely waiting for each other to go
    first
  • A broom gets lost Impossible to work out which
    pools have the right kind of water

8
  • It gets too slow for a broom get his water if
    there are lots of brooms there already
  • The water keeps going off and need to be replaced
    by the water that complies with the new European
    Standard

9
What this course is about
  • Applications distributed across a number of
    computers
  • Maintaining your own well
  • Not principally a programming coures, but Java
    used for illustration

10
The rationale for using Java
  • Portable
  • Exhibits all the main features of object
    orientation
  • Has hooks into the main distributed technologies
  • Free and widely available

11
Distributed system functions
Distributed functions
Core functions are those which are found in any
type of application, maintaining the well
Core functions
Distributed functions are those concerned with
maintaining distributed system and controlling
access (talking to the brooms)
12
Example (i) auction sites
  • Auctions either held in real-time or in elapsed
    time
  • Uses the Web
  • Profit made from commissions and also from banner
    adverts

13
Example (ii) search engines
  • Used to find information on the Web
  • Many general purpose engines, for example Lycos,
    Yahoo
  • Mainly use automatic indexing, some use human
    indexers
  • Revenue from advertising

14
Change notification sites
  • The Web is incredibly dynamic pages disappear or
    are updated very frequently
  • Such sites inform webmasters when these events
    happen
  • Revenues raised from charging for the service or
    banner adverts

15
Email providers
  • Provide Web-based email services
  • Sometimes the service is tiered with the lower
    tier free
  • Revenues from banner advertising.
  • One of the most popular applications

16
The main facilities of the Internet
  • The World Wide Web
  • FTP
  • Email
  • Mailing lists
  • Newsgroups

17
The World Wide Web
Browsers
Browsers
Browsers
Web server
18
The Web
  • Simple but large distributed system
  • Servers provide Web files
  • Browsers consume and display Web files
  • Web documents expressed in HTML
  • Two way communication, via forms
  • Example of clients and servers

19
Issues in distributed application development (i)
  • Legacy technology
  • Space problems
  • Stateless server dispensing static pages
  • Security and privacy
  • Programming and abstraction

20
Issues in distributed application development (ii)
  • Transactions
  • Speed of development
  • Standards
  • Design

21
Legacy technology
  • The initial design of the Web was simple static
    pages and no dynamic content Changed
  • Addresses running out Changing
  • Web protocol is stateless Changed

22
Security and privacy
  • Internet is an open system.
  • Architecture and protocols are public
  • Good effect is that errors can be spotted and
    rectified quickly
  • Bad effect is that privacy can be compromised

23
How secure is the Internet?
  • In 1996 Dan Farmer, one of the leading
    members of the Internet security community,
    analysed a number of Internet sites using a tool
    known as SATAN which reports on security
    vulnerabilities. He discovered that out of the
    2200 sites he accessed, 1700 were relatively easy
    to attack (77 per cent of the sites). This is a
    staggering figure however, what makes it more
    staggering is the fact that Farmer chose sites
    which should have been neurotic about security,
    for example sites owned by banks, government
    agencies, insurance companies and credit card
    companies.

24
Speed of development
  • Faster development times needed for Internet
    applications
  • Hence the need for OO languages
  • A potential use for patterns
  • More and more companies using rapid development
    methods

25
Problems with transactions
  • A transaction is applied to stored data and can
    alter the data
  • Concurrency problems
  • Inconsistent update problems
  • Data changed in the presence of failure

26
Distributed system design
  • Designing core functions is just as in
    conventional systems
  • However there are design issues concerned with
  • Reliability
  • Transmission media
  • Speed

27
Design
Transmission media can fail
A server can malfunction
Client
Client
Client
Transmission media can be slow
Server
28
Design issues
  • Coping with server failure
  • Coping with transmission media failure
  • Coping with slow transmission speeds such as
    those found in the Internet
  • Coping with synchronicity

29
The Internet
30
The Internet is an open system
  • Details publicly available
  • A lot of software is free
  • Lots of publicly available expertise available
    via such things as newsgroups
  • Dangers with privacy

31
Implications of open systems
  • Wide variety of implementations, for example of
    TCP/IP
  • Cost of implementation less
  • High level of compatibility
  • Wide variety of developers selling products

32
The First Problem we will address
  • How to make it clear what kinds of water you have
  • How to get your data in a form that everybody can
    understand

33
What most data looks like now HTML
ltHTMLgt ltHEADgt ltTITLEgt Johns Sheep Farm
lt/TITLEgt lt/HEADgt ltBODYgt ltH1gt My Sheep Farm
lt/H1gt Hi I have a farm where I keep sheep. Sheep
are lovely and woolly. So am I. ltULgt ltLIgt My
favourite sheep is called Buttercup lt/LIgt ltLIgt
My first sheep was called Betty. lt/LIgt ltLIgt I am
a fanatical Welsh rugby supporter.
lt/LIgt lt/ULgt lt/BODYgt lt/HTMLgt
34
Some Things to notice
  • The tags come in pairs
  • The tags are only about formatting
  • There is no way to know that a browser should not
    be turn up this page for a query about the
    flowers called buttercups.

35
Anchors and links
  • HTML provides facilities whereby documents can
    link to other documents either on the same
    computer or on another one
  • Uses anchors
  • Clicking a link transfers to the new page

36
An example
ltULgt ltLIgt ltA HREF http//www.SheepAreUs.com/ho
megt A good place to buy sheep online lt/Agt
lt/LIgt lt/ULgt
37
URL
  • Known either as Uniform Resource Locator or
    Universal Resource Locator
  • Is an address of a Web page or other resource
  • Links can be web pages, mail, newsgroups, FTP etc

38
An example of a URL
http//www.open.ac.uk/staff/Darrel
Specifies location of Web page
Specifies Web page
Specifies computer
39
Forms
  • HTML has facilities for making GUIs for form
    filling,m for example
  • Forms contain visual objects such as text fields,
    buttons, select boxes etc.
  • When a form is completed data is sent to the Web
    server and a program executed

40
An example of an HTML form (i)
ltFORM METHODPOST ACTION/cgi-bin/Form1process
gt ltPgt Please type your name below lt/Pgt ltPgt ltINPU
T TYPETEXT NAMEnameField MAXLENGTH30gt lt/P
gt ltPgt Please type your address
below lt/Pgt ltPgt ltTEXTAREA NAMEaddField
ROWS5 COLS40gt lt/TEXTAREAgt lt/Pgt ltPgt MaleltIN
PUT TYPERADIO NAMEmaleButton VALUEmButt
gt lt/Pgt
41
An example of an HTML form (ii)
ltPgt FemaleltINPUT TYPERADIO NAMEfemaleButton
VALUEfButtgt lt/Pgt ltPgt   ltINPUT
TYPESUBMIT   VALUESubmitgt lt/Pgt lt/FORMgt
Form contains two radio buttons, a text field
and a text area
42
Our First Real Topic XML
43
XML
  • Extensiblethats what the X means
  • Not a markup language but a language for defining
    markup languages
  • Tags not about layout, but about meaning
    (semantics)

44
Rationale for XML
  • Difficulties with browser display
  • HTML non-standard
  • Difficult to impossible to discern semantics from
    a markup language

45
Aims of the XML designers
  • Easy to use on the Internet
  • Capable of supporting a large number of
    applications
  • Compatible with SGML
  • Should not be complicated to develop XML
    processors
  • Only a small number of optional facilities
  • Documents in XML should be easy to understand
  • Editors should be capable of constructing HTML
    documents

46
XML as a central repository of data
Spreadsheet
Word processed document
Relational database
Web pages
Document in XML
47
An example of a simple XML-based markup language
ltPRODUCTgt ltPRODUCTNAMEgt CoatBluelt/PRODUCTNAMEgt ltPR
ODUCTPRICEgt 34000lt/PRODUCTPRICEgt .. lt/PRODUCTgt
Similar to HTML but contains semantic markers
48
An example of an XML definition
lt?xml version 1.0 encoding UTF-8"?gt lt!DOCTYP
E ENTRY lt!ELEMENT ENTRY ENTRYPAIRgt lt!ELEMENT
ENTRYPAIR (NAME, DEFINITION)gt lt!ELEMENT NAME
(PCDATA)gt lt!ELEMENT DEFINITION (PCDATA)gt gt
Sequence of pairs consisting of a name and a
definition.
49
XML used to define attributes
lt!ELEMENT TOWN (COUNTY, POPULATION)gt ltATTLIST
TOWN NAME CDATA REQUIREDgt
The element TOWN has an attribute NAME which
contains char data and is always required
50
Processing XML documents (i)
  • Done via parsers
  • Parser can be conforming or non-conforming
  • Conforming checks everything
  • Non-conforming just makes rudimentary checks
  • Most parsers conforming

51
Processing XML documents(ii)
  • Many parsers written in Java
  • Parsers can be in-memory based they build up a
    tree.
  • Parsers can also be event-based they trigger
    processing when some XML element is encountered

52
Event-based processing
public void startElement(String tagName) String
currentTag tagName ..
Executed when a start element is encountered,
for example ltTOWNgt. tagName assumes the value of
the tag name
53
An example of XML in action
  • Scaleable vector graphics (SVG)
  • WWW standard
  • Vector graphic standard
  • Attempt to develop a standard for such graphics
  • Can be used for text searching

54
SVG source
ltSVG width 3in height 2ingt ltDESCgt This is
a sample circle drawn for the book
Distributed Applications and E-Commerce lt/DESCgt ltG
gt ltCIRCLE style fill red stroke black cx
100 cy 100 r 100/gt lt/Ggt lt/SVGgt
55
Associated technologies
  • XHTML, a standard version of XML
  • XSL, a style sheet transformation technology used
    to convert XML source into some other form, for
    example rtf
  • XSL formatting objects, transformation to text
    document
Write a Comment
User Comments (0)
About PowerShow.com