You are on page 1of 27

Understanding Networked Applications: A First Course

Chapter 5
by David G. Messerschmitt

Client host

Client host

Server host

Understanding Networked Applications

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

A First Course

I want to access some information

I want to collaborate with my colleague

Client Server

Peer-to-peer

Understanding Networked Applications

Client/server

A First Course

Distinctions
Client-server
Asymmetric relationship Client predominately makes requests, server makes replies

Peer-to-peer
Symmetric relationship

Understanding Networked Applications

A First Course

Email application
Server Client Client

Email client sends message to server

Message is stored on POP server

Later, recipients email client retrieves message from server

Understanding Networked Applications

A First Course

Chat application
Server

Client
Client Chat server aggregates typing from all users and sends to all clients

Chat clients send users typing to server

Other users clients display aggregated typing from chat server


A First Course

Understanding Networked Applications

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

A First Course

Client

Host architecture
Web browser

Web server Application logic

Common gateway interchange

Databases and DBMS

Application partition
Understanding Networked Applications

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 Enterprise

Technical-support department

Understanding Networked Applications

15

A First Course

Consumer application
Web browser

Enterprise application
Web browser Web browser

Customer care

Web server Customer logic

Web server Agent logic

Web server Technician logic

Databases
Customer audit
Software documentation Problem knowledge base

Understanding Networked Applications

16

A First Course

Customers

Agents

Technicians

Customer logic

Agent logic

Technician logic

Databases

Accounts

Products

Orders

Understanding Networked Applications

17

A First Course

Financial institution

Customers

Book distribution centers

books4u.com

Consumer

Enterprise

Inter-enterprise

Understanding Networked Applications

18

A First Course

Web browser

Consumer e-commerce

Inter-enterprise e-commerce

Book merchant

Web server Customer logic Fullfillment logic

Outside links Databases


Customers Merchandise Orders

Acquirer Book bank distributors

Understanding Networked Applications

19

A First Course

Clients

Customer logic

Acquirer bank
Fullfillment logic

Databases

Customers

Merchandise

Orders

Book distributors
A First Course

Understanding Networked Applications

20

Information providers

Customers stocks4u.com Stock market

Consumer

Enterprise

Inter-enterprise

Understanding Networked Applications

21

A First Course

Web browser

Consumer e-commerce

Inter-enterprise e-commerce

Stock trader

Web server Customer logic Trading logic

Outside links Databases


Accounts Products Orders

Information providers

Financial markets

Understanding Networked Applications

22

A First Course

Clients

Customer logic

Information providers

Trading logic

Databases Financial markets


A First Course

Accounts

Products

Orders

Understanding Networked Applications

23

Financial institution

Customers flowers4u.com

Local florists
Consumer Enterprise Inter-enterprise

Understanding Networked Applications

24

A First Course

Consumer e-commerce Web browser

Inter-enterprise e-commerce Push server

Florist delivery

Web server Customer logic

Push client Fullfillment logic

Outside link Databases


Accounts Products Orders

Acquirer bank

Understanding Networked Applications

25

A First Course

Customers

Florists

Customer logic Acquirer bank

Fullfillment logic

Databases

Accounts

Products

Orders

Understanding Networked Applications

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

You might also like