Presentation Transcript
CSM3115: Architectures for Enterprise Wide Computing: CSM3115: Architectures for Enterprise Wide Computing
Developing Distributed and E-commerce Applications
By D. Ince, Addison Wesley, 2002/2003
Chapter 1. An Introduction to distributed applications and ecommerce: Chapter 1. An Introduction to distributed applications and ecommerce Objectives:
To detail what is meant by the term 'e-commerce'.
To examine some typical e-commerce applications.
To detail some of the problems that are encountered when developing e-commerce applications.
To describe briefly some of the technologies that are used to support e-commerce applications.
To show how some of the technologies detailed in the book are used in concert to realise a typical e-commerce system.
Distributed Systems & Java: Distributed Systems & Java A general introduction to applications distributed across a number of computers
Java used for illustration
Does not deal with under the bonnet issues
Not a hacking course
The rationale for using Java: 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
Some ecommerce applications: Some ecommerce applications Auction sites
Affiliate sites
Banner advertising
Bulk buying sites
Shopping malls Portals
Digital publishing sites
Licensing sites
Name your price sites
Last minute sites
Etailing (Book store): Etailing (Book store) Visitors: browse reviews, read feature articles, search for book details, order books and track progress of orders
Functions: stock, payment and customer payment management; delivery; and market analysis
Distributed system functions: Distributed system functions Distributed functions Core functions are those which are found in any type of application, for example payment processing Distributed functions are those concerned with maintaining distributed system
Example (i) auction sites: 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
Example (ii) search engines: 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
Change notification sites: 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
Email providers: 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
The main facilities of the Internet: The main facilities of the Internet The World Wide Web
FTP
Email Mailing lists
Newsgroups
The World Wide Web: The World Wide Web Browsers Browsers Browsers Web server
The Web: 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
Issues in distributed application development (i): Issues in distributed application development (i) Legacy technology
Space problems
Stateless server dispensing static pages
Security and privacy
Programming and abstraction
Issues in distributed application development (ii): Issues in distributed application development (ii) Transactions
Speed of development
Standards
Design
Legacy technology: 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
Security and privacy: 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
How secure is the Internet?: 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.
Speed of development: 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
Current estimates: one calendar year is equivalent to seven Web years
Problems with transactions: 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
Distributed system design: Distributed system design Designing core functions is just as in conventional systems
However there are design issues concerned with:
Reliability
Transmission media
Speed
Design: Design Client Client Client Server Transmission
media can be slow A server can malfunction Transmission media can fail
Design issues: 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
The Sydney Olympic games system: The Sydney Olympic games system
IBM was responsible for the computer systems which were used in the 2000 Sydney Olympic games. There were a number of components to the system, these included:
A Web site which was publicly accessible and which contained features on the games, the competitors and the results.
A games management system which administered the logistics of the games, for example arranging transportation, accreditation and accommodation for athletes.
A games results system which captured input from all the events in the games and distributed them to judges, scoreboards, competitors, commentators and the Web site detailed in the first bullet point above.
A commentator information system which provided real-time information to journalists and broadcasters, for example this system would flash up on a commentator's PC the times achieved by the runners in a race, only a few seconds after the race was completed.
The Sydney Olympic games system: The Sydney Olympic games system The statistics associated with the development were staggering:
7300 PCs were used as clients.
2000 information workstations and kiosks were spread around the Olympic site.
1500 IBM staff worked on the system.
10 km of cable was laid.
815 network switches were employed to transport and send data.
600 servers were used to store data and provide other services.
13 million lines of code were written.
During the 16 days of the Olympics the Web site had 230 million page views, 8.7 million unique visitors and 11.3 billion hits.
The highest number of hits in a day for the Web site was 874.5 million.
371 654 e-mail messages were sent to competitors from fans.
The system achieved 100 per cent availability.