Understanding Networked Applications: A First Course Chapter 5 by David G. Messerschmitt Client host Client host Server host Understanding Networked Applications A First Course.

Download Report

Transcript Understanding Networked Applications: A First Course Chapter 5 by David G. Messerschmitt Client host Client host Server host Understanding Networked Applications A First Course.

Understanding Networked Applications:
A First Course
Chapter 5
by
David G. Messerschmitt
Client
host
Client
host
Server
host
Understanding Networked Applications
2
A First Course
Part of the rationale
• Specialization:
– Clients specialize in user interface
– Servers specialize in managing data and
application logic
• Sharing:
– Many clients can be supported by few servers
– Often data and logic are shared among
applications and users
Understanding Networked Applications
3
A First Course
“I want to
collaborate
with my
colleague”
“I want to access
some information”
Client
Peer-to-peer
Server
Client/server
Understanding Networked Applications
4
A First Course
Distinctions
• Client-server
– Asymmetric relationship
– Client predominately makes requests, server
makes replies
• Peer-to-peer
– Symmetric relationship
Understanding Networked Applications
5
A First Course
Email application
Server
Client
Email client sends
message to server
Client
Message is stored
on POP server
Understanding Networked Applications
6
Later, recipient’s
email client
retrieves message
from server
A First Course
Chat application
Server
Client
Client
Chat clients send
user’s typing to server
Chat server
aggregates typing
from all users and
sends to all clients
Understanding Networked Applications
7
Other user’s clients
display aggregated
typing from chat
server
A First Course
Three-tier client/server
Local-area network
Application
logic
Presentation
Note: many clients per
application server, several
application servers per data
server
Understanding Networked Applications
Shared
data
8
A First Course
Client
Host architecture
Web
browser
Web
server
Application
logic
Common
gateway
interchange
Databases
and DBMS
Understanding Networked Applications
Application partition
9
A First Course
Practice in defining tiers
• Online bookseller (e.g. amazon.com)
• Stock trading system (e.g. Schwab or Etrade)
Understanding Networked Applications
10
A First Course
amazon.com
Understanding Networked Applications
11
A First Course
Schwab
Understanding Networked Applications
12
A First Course
Question
• What types of social applications would be
appropriate for a client/server architecture?
Understanding Networked Applications
13
A First Course
Departments
Enterprise-to-enterprise
Commerce
Consumer
Enterprise
Understanding Networked Applications
14
A First Course
software4u.com
Customers
Customer-service
department
Consumer
Understanding Networked Applications
Technical-support
department
Enterprise
15
A First Course
Customer care
Consumer
application
Enterprise
application
Web
browser
Web
browser
Web
browser
Web server
Web server
Web server
Customer logic
Agent logic
Technician logic
Databases
Customer
audit
Software
documentation
Understanding Networked Applications
Problem
knowledge
base
16
A First Course
Customers
Customer logic
Agents
Technicians
Agent logic
Technician logic
Databases
Accounts
Products
Understanding Networked Applications
Orders
17
A First Course
Financial institution
Book distribution
centers
Customers
books4u.com
Consumer
Enterprise
Understanding Networked Applications
Inter-enterprise
18
A First Course
Book merchant
Web
browser
Consumer
e-commerce
Inter-enterprise
e-commerce
Web server
Customer logic
Fullfillment logic
Outside links
Databases
Customers
Merchandise
Acquirer Book
bank
distributors
Orders
Understanding Networked Applications
19
A First Course
Clients
Acquirer
bank
Customer logic
Fullfillment logic
Databases
Customers
Merchandise
Understanding Networked Applications
Orders
20
Book
distributors
A First Course
Information providers
Customers
Stock market
stocks4u.com
Consumer
Enterprise
Understanding Networked Applications
Inter-enterprise
21
A First Course
Stock trader
Web
browser
Consumer
e-commerce
Inter-enterprise
e-commerce
Web server
Customer logic
Trading logic
Outside links
Databases
Accounts
Products
Information
providers
Orders
Understanding Networked Applications
22
Financial
markets
A First Course
Clients
Information
providers
Customer logic
Trading logic
Databases
Accounts
Products
Understanding Networked Applications
Orders
23
Financial
markets
A First Course
Financial institution
Customers
flowers4u.com
Local florists
Consumer
Enterprise
Understanding Networked Applications
Inter-enterprise
24
A First Course
Consumer
e-commerce
Inter-enterprise
e-commerce
Florist delivery
Web
browser
Push
server
Web server
Push client
Customer logic
Fullfillment logic
Outside link
Databases
Accounts
Products
Acquirer
bank
Orders
Understanding Networked Applications
25
A First Course
Customers
Florists
Fullfillment logic
Customer logic
Acquirer
bank
Databases
Accounts
Products
Understanding Networked Applications
Orders
26
A First Course
Shortcomings of client/server
• Departmental solution
• Proliferates non-interoperable technologies
and applications
• Hardwired applications lose flexibility
What are some goals and likely
characteristics of future enterprise
architectures?
Understanding Networked Applications
27
A First Course