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: Sharing: 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
Copyright 1999, University of California Lecture 5 Client-server computing (24 slides) “I want to collaborate with my colleague” “I want to access some information” Client Server Peer-to-peer Client/server
Distinctions Client-server Peer-to-peer 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
Copyright 1999, University of California Lecture 5 Client-server computing (24 slides) 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
Copyright 1999, University of California Lecture 5 Client-server computing (24 slides) 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
Customer care Consumer application Enterprise application Web browser Web server Web server Web server Customer care Customer logic Agent logic Technician logic Customer audit Software documentation Problem knowledge base Databases
Customers Agents Technicians Customer logic Agent logic Technician logic Databases Accounts Products Orders
books4u.com Financial institution Book distribution centers Customers Consumer Enterprise Inter-enterprise
Book merchant Consumer e-commerce Inter-enterprise e-commerce Acquirer Web browser Web server Book merchant Customer logic Fulfillment logic Outside links Customers Merchandise Orders Databases Acquirer bank Book distributors
Clients Acquirer bank Customer logic Databases Book distributors Fulfillment logic Databases Book distributors Merchandise Orders Customers
Information providers Customers Stock market stocks4u.com Consumer Enterprise Inter-enterprise
Stock trader Consumer e-commerce Inter-enterprise e-commerce Web browser Web server Stock trader Customer logic Trading logic Outside links Accounts Products Orders 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
Florist delivery Consumer e-commerce Inter-enterprise e-commerce Web browser Push server Web server Push client Florist delivery Customer logic Fulfillment logic Outside link Accounts Products Orders Databases Acquirer bank
Customers Florists Customer logic Fulfillment logic Acquirer bank Databases Accounts Products Orders
5.5 Shortcomings of client/server Copyright 1999, University of California Lecture 5 Client-server computing (24 slides) 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? 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
Web Surfing and Homework #5 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)