Download presentation
Presentation is loading. Please wait.
Published bySavannah Byrd Modified over 10 years ago
2
Robert Zimmer Room 6, St Johns 29 R.Zimmer@gold.ac.uk Office Hours: Web-Based Computing
3
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
4
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
5
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
6
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
7
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
8
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
9
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
10
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
11
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
12
Distributed system functions Core functions Core functions Distributed functions Core functions are those which are found in any type of application, maintaining the well Distributed functions are those concerned with maintaining distributed system and controlling access (talking to the brooms)
13
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
14
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
15
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
16
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
17
The main facilities of the Internet The World Wide Web FTP Email Mailing lists Newsgroups
18
The World Wide Web Browsers Web server
19
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
20
Issues in distributed application development (i) Legacy technology Space problems Stateless server dispensing static pages Security and privacy Programming and abstraction
21
Issues in distributed application development (ii) Transactions Speed of development Standards Design
22
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
23
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
24
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.
25
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
26
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
27
Distributed system design Designing core functions is just as in conventional systems However there are design issues concerned with: Reliability Transmission media Speed
28
Design Client Server Transmission media can be slow A server can malfunction Transmis sion media can fail
29
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
30
The Internet
31
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
32
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
33
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
34
What most data looks like now: HTML Johns Sheep Farm My Sheep Farm Hi I have a farm where I keep sheep. Sheep are lovely and woolly. So am I. My favourite sheep is called Buttercup My first sheep was called Betty. I am a fanatical Welsh rugby supporter.
35
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.
36
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
37
An example A good place to buy sheep online
38
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
39
An example of a URL http://www.open.ac.uk/staff/Darrel Specifies Web page Specifies computer Specifies location of Web page
40
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
41
An example of an HTML form (i) Please type your name below Please type your address below Male<INPUT TYPE=RADIO NAME=maleButton VALUE=mButt>
42
An example of an HTML form (ii) Female<INPUT TYPE=RADIO NAME=femaleButton VALUE=fButt> <INPUT TYPE=SUBMIT VALUE=Submit> Form contains two radio buttons, a text field and a text area
43
Our First Real Topic: XML
44
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)
45
Rationale for XML Difficulties with browser display HTML non-standard Difficult to impossible to discern semantics from a markup language
46
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
47
XML as a central repository of data Document in XML Spreadsheet Web pages Word processed document Relational database
48
An example of a simple XML-based markup language CoatBlue 34000.. Similar to HTML but contains semantic markers
49
An example of an XML definition <!DOCTYPE ENTRY[ ]> Sequence of pairs consisting of a name and a definition.
50
XML used to define attributes The element TOWN has an attribute NAME which contains char data and is always required
51
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
52
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
53
Event-based processing public void startElement(String tagName) { String currentTag = tagName;.. } Executed when a start element is encountered, for example. tagName assumes the value of the tag name
54
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
55
SVG source This is a sample circle drawn for the book Distributed Applications and E-Commerce <CIRCLE style = fill: red; stroke: black cx = 100 cy = 100 r = 100/>
56
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.