270 likes | 545 Views
Lecture 5 Client-server Computing. 5.1 Two Host Architecture 5.2 Three-Tier Client-Server Architecture 5.3 Application Examples 5.5 Open Issue: Beyond Client-Server Computing Reading: Chapter 5 Adapted from David G. Messerschmitt. Client host. Client host. Server host.
E N D
Lecture 5 Client-server Computing • 5.1 Two Host Architecture • 5.2 Three-Tier Client-Server Architecture • 5.3 Application Examples • 5.5 Open Issue: Beyond Client-Server Computing • Reading: Chapter 5 • Adapted from David G. Messerschmitt
Client host Client host Server host
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
“I want to collaborate with my colleague” “I want to access some information” Client Server Peer-to-peer Client/server
Distinctions • Client-server • Asymmetric relationship • Client predominately makes requests, server makes replies • Peer-to-peer • Symmetric relationship • No server but only desktop computers • http://www.napster.com/
Email application Server Client Client Email client sends message to server Later, recipient’s email client retrieves message from server Message is stored on POP server
Chat application Server Client Client Chat server aggregates typing from all users and sends to all clients Other user’s clients display aggregated typing from chat server Chat clients send user’s typing to server
5.2 Three-tier client-server architecture Local-area network Application logic Presentation Note: many clients per application server, several application servers per data server Shared data
Client Host architecture Web browser Web server Common gateway interchange Application logic Databases and DBMS Application partition
Departments Enterprise-to-enterprise Commerce Consumer Enterprise
Figure 3.2, p. 64 software4u.com Customers Customer-service department Technical-support department Consumer Enterprise
Consumer application Enterprise application Problem knowledge base Software documentation Customer audit Web browser Web browser Web browser Web server Web server Web server Customer care Customer logic Agent logic Technician logic Databases
Customers Agents Technicians Agent logic Technician logic Customer logic Databases Accounts Products Orders
Financial institution Book distribution centers Customers books4u.com Consumer Enterprise Inter-enterprise
Merchandise Customers Orders Consumer e-commerce Inter-enterprise e-commerce Web browser Web server Book merchant Customer logic Fulfillment logic Outside links Databases Acquirer bank Book distributors
Clients Acquirer bank Customer logic Fulfillment logic Databases Book distributors Merchandise Orders Customers
Information providers Customers Stock market stocks4u.com Consumer Enterprise Inter-enterprise
Products Orders Accounts Consumer e-commerce Inter-enterprise e-commerce Web browser Web server Stock trader Customer logic Trading logic Outside links Databases Information providers Financial markets
Clients Information providers Customer logic Trading logic Databases Financial markets Accounts Products Orders
Financial institution Customers flowers4u.com Local florists Consumer Enterprise Inter-enterprise
Consumer e-commerce Inter-enterprise e-commerce Products Orders Accounts Web browser Push server Web server Push client Florist delivery Customer logic Fulfillment logic Outside link Databases Acquirer bank
Customers Florists Fulfillment logic Customer logic Acquirer bank Databases Accounts Products Orders
5.5 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?
Web Surfing and Homework #5 • Web Surfing • http://b2b.ebizq.net/ • http://gais.cs.ccu.edu.tw/ • http://www.esvj.com/binbig5/index.htm • http://www.nyc.gov.tw/job/ • Homework: • E5.1 (one example) • E5.5 (a)(C)(e)