2. Client
host
Server
host
Client
host
Understanding Networked Applications 2 A First Course
3. 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
4. Server Peer-to-peer
“I want to access
some information”
“I want to
collaborate
with my
colleague”
Client
Understanding NeCtwlioerknetd/ sAepprlviceatrions 4 A First Course
5. Distinctions
• Client-server
– Asymmetric relationship
– Client predominately makes requests, server
makes replies
• Peer-to-peer
– Symmetric relationship
Understanding Networked Applications 5 A First Course
6. Client
Email application
Server
Client
Email client sends
message to server Message is stored
on POP server
Later, recipient’s
email client
retrieves message
from server
Understanding Networked Applications 6 A First Course
7. Client
Chat application
Server
Client
Chat clients send
user’s typing to server
Chat server
aggregates typing
from all users and
sends to all clients
Other user’s clients
display aggregated
typing from chat
server
Understanding Networked Applications 7 A First Course
8. Presentation
Application
logic
Three-tier client/server
Local-area network
Shared
data
Note: many clients per
application server, several
application servers per data
server
Understanding Networked Applications 8 A First Course
9. Client
Web
browser
Web
server
Application
logic
Databases
and DBMS
Common
gateway
interchange
Host architecture
Application partition
Understanding Networked Applications 9 A First Course
10. Practice in defining tiers
• Online bookseller (e.g. amazon.com)
• Stock trading system (e.g. Schwab or E-trade)
Understanding Networked Applications 10 A First Course
13. Question
• What types of social applications would be
appropriate for a client/server architecture?
Understanding Networked Applications 13 A First Course
16. Consumer
application
Web
browser
Web server
Customer logic
Customer
audit
Enterprise
application
Web
browser
Web server
Agent logic
Databases
Software
documentation
Web
browser
Web server
Technician logic
Problem
knowledge
base
Customer care
Understanding Networked Applications 16 A First Course
18. Financial institution
Book distribution
centers
books4u.com
Customers
Consumer Enterprise Inter-enterprise
Understanding Networked Applications 18 A First Course
19. Web
browser
Consumer
e-commerce
Web server
Customer logic
Databases
Customers Merchandise
Orders
Inter-enterprise
e-commerce
Fullfillment logic
Outside links
Acquirer
bank
Book
distributors
Book merchant
Understanding Networked Applications 19 A First Course
20. Clients
Customers Merchandise
Acquirer
bank
Understanding Networked Applications 20 A First Course
Book
Orders distributors
Customer logic
Databases
Fullfillment logic
21. Information providers
Stock market
stocks4u.com
Customers
Consumer Enterprise Inter-enterprise
Understanding Networked Applications 21 A First Course
22. Web
browser
Consumer
e-commerce
Web server
Customer logic
Databases
Accounts Products
Orders
Inter-enterprise
e-commerce
Trading logic
Outside links
Information
providers
Financial
markets
Stock trader
Understanding Networked Applications 22 A First Course
23. Clients
Customer logic
Databases
Accounts Products
Information
providers
Trading logic
Financial
Orders markets
Understanding Networked Applications 23 A First Course
24. Financial institution
Local florists
flowers4u.com
Customers
Consumer Enterprise Inter-enterprise
Understanding Networked Applications 24 A First Course
25. Web
browser
Consumer
e-commerce
Web server
Customer logic
Databases
Accounts Products
Orders
Inter-enterprise
e-commerce
Push
server
Push client
Fullfillment logic
Outside link
Acquirer
bank
Florist delivery
Understanding Networked Applications 25 A First Course
26. Acquirer
bank
Customers Florists
Customer logic
Databases
Accounts Products
Fullfillment logic
Orders
Understanding Networked Applications 26 A First Course
27. 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
Editor's Notes
<number>
Nov 12, 2014
What is presentation, application logic, shared data?
Presentation: Web browser
Application logic
Shared data
What is presentation, application logic, shared data?
Deferred applications need a server -- you wouldn’t want communication to fail because a client was turned off, and there is often a “consolidation” function (example chatroom)
Immediate applications can be done peer-to-peer -- if a client is turned off, no point to the application anyway. Also avoids server bottlenecks. Server may still have a role is filtering or consolidation.
Major goal: flexibility to meet new business opportunities and new organizational structures
More tiers to logically decouple roles
Away from stovepipe: horizontal as well as vertical structure