Understanding Networked Applications A First Course 1 Lecture 5 Client-server Computing 5.1 Two Host...

24
Understanding Networked Applications A First Course 1 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

Transcript of Understanding Networked Applications A First Course 1 Lecture 5 Client-server Computing 5.1 Two Host...

Understanding Networked Applications A First Course1

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

Understanding Networked Applications A First Course2

Clienthost

Serverhost

Clienthost

Understanding Networked Applications A First Course3

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 Course4Client/server

Peer-to-peerServer

“I want to access some information”

“I want to collaborate

with my colleague”

Client

Understanding Networked Applications A First Course5

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/

Understanding Networked Applications A First Course6

ClientServer

Client

Email client sends message to server

Message is stored on POP server

Later, recipient’s email client retrieves message from server

Email application

Understanding Networked Applications A First Course7

Client

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

Chat application

Understanding Networked Applications A First Course8

Presentation

Applicationlogic

Shareddata

Local-area network

Note: many clients perapplication server, severalapplication servers per data server

5.2 Three-tier client-server architecture

Understanding Networked Applications A First Course9

Client

Webbrowser

Webserver

Application logic

Databases and DBMS

Commongatewayinterchange

Host architecture

Application partition

Understanding Networked Applications A First Course10

Departments

Enterprise

CommerceEnterprise-to-enterprise

Consumer

Understanding Networked Applications A First Course11

Customers

Consumer Enterprise

Customer-servicedepartment Technical-support

department

software4u.com

Figure 3.2, p. 64

Understanding Networked Applications A First Course12

Web server

Customer logic

Customeraudit

Softwaredocumentation

Webbrowser

Problemknowledge

base

Databases

Agent logic

Consumerapplication

Enterpriseapplication

Technician logic

Web server

Webbrowser

Web server

Webbrowser

Cus

tom

er c

are

Understanding Networked Applications A First Course13

Accounts Products Orders

Customer logic

Databases

Agent logic

Customers Agents Technicians

Technician logic

Understanding Networked Applications A First Course14

Book distributioncenters

books4u.comCustomers

Financial institution

Consumer Enterprise Inter-enterprise

Understanding Networked Applications A First Course15

Web server

Customer logic

Customers Merchandise

Webbrowser

Orders

Acquirerbank

Bookdistributors

Databases

Outside links

Fulfillment logic

Consumere-commerce

Inter-enterprisee-commerce

Boo

k m

erch

ant

Understanding Networked Applications A First Course16

Clients

Customers Merchandise

Acquirerbank

BookdistributorsOrders

Customer logic

Databases

Fulfillment logic

Understanding Networked Applications A First Course17

Stock marketstocks4u.com

Customers

Information providers

Consumer Enterprise Inter-enterprise

Understanding Networked Applications A First Course18

Web server

Customer logic

Accounts Products

Webbrowser

Orders

Informationproviders

Financialmarkets

Databases

Outside links

Trading logic

Consumere-commerce

Inter-enterprisee-commerce

Sto

ck tr

ader

Understanding Networked Applications A First Course19

Clients

Accounts Products

Informationproviders

FinancialmarketsOrders

Customer logic

Databases

Trading logic

Understanding Networked Applications A First Course20

Local floristsflowers4u.com

Customers

Financial institution

Consumer Enterprise Inter-enterprise

Understanding Networked Applications A First Course21

Web server

Customer logic

Accounts Products

Webbrowser

Orders

Acquirerbank

Databases

Outside link

Fulfillment logic

Consumere-commerce

Inter-enterprisee-commerce

Push client

Push server

Flo

rist

del

iver

y

Understanding Networked Applications A First Course22

Accounts Products

Acquirerbank

Orders

Customer logic

Databases

Fulfillment logic

Customers Florists

Understanding Networked Applications A First Course23

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?

Understanding Networked Applications A First Course24

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)