Top Banner
Chapter 2 Client Server Architecture
19

Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Dec 22, 2015

Download

Documents

Rafe Cain
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Chapter 2Client Server Architecture

Page 2: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Objectives

• Explain the essential principles of client-server architecture

• Explain the differences between 2-tier, 3-tier, and multitier architectures, including their features and relative capacities

• Recognize 2-tier, 3-tier, and multi-tier architectures

• Contrast the client-server architecture with centralized and distributed architectures

Page 3: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

System Architecture

• The architecture of a computer system is the high-level (most general) design on which the system is based

• Architectural features include:– Components– Collaborations (how components interact)– Connectors (how components communicate)

Page 4: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

System Architecture

• Common architectural patterns include– Client-Server– Layered– Peer-to-peer– Pipes and Filters– etc.

Page 5: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Client-Server Architecture

• Each component of a client-server system has the role of either client or server

– Client: a component that makes requestsclients are active initiators of transactions

– Server: a component that satisfies requestsservers are passive and react to client requests

Page 6: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Centralized / Distributed

• The client-server architecture can be thought of as a median between– Centralized processing: computation is

performed on a central platform, which is accessed using “dumb” terminals

– Distributed processing: computation is performed on platforms located with the user

Centralized DistributedClient / Server

Page 7: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Client-Server Architecture

• The Web is a client-server system

• Web browsers act as clients, and make requests to web servers

• Web servers respond to requests with requested information and/or computation

Server

Server

ServerClient

Client

ClientClient

Clientrequest

Page 8: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Tiered Web Architectures

• Web applications are usually implemented with 2-tier, 3-tier, or multitier (N-tier) architectures

• Each tier is a platform (client or server) with a unique responsibility

Page 9: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

2-Tier C-S Architecture

• Tier 1: Client platform, hosting a web browser

• Tier 2: server platform, hosting all server software components

Page 10: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

2-Tier Characteristics

• Advantage:– Inexpensive (single platform)

• Disadvantages– Interdependency (coupling) of components– No redundancy– Limited scalability

• Typical application– 10-100 users– Small company or organization, e.g., law office,

medical practice, local non-profit

Page 11: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

3-Tier C-S Architecture

• Tier 3 takes over part of the server function from tier 2, typically data management

Page 12: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

3-Tier Characteristics

• Advantages– Improved performance, from specialized hardware – Decreased coupling of software components– Improved scalability

• Disadvantages– No redundancy

• Typical Application– 100-1000 users– Small business or regional organization, e.g., specialty retailer,

small college

Page 13: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Multitier C-S Architecture

• A multitier (N-tier) architecture is an expansion of the 3-tier architecture, in one of several different possible ways– Replication of the function of a tier– Specialization of function within a tier– Portal services, focusing on handling

incoming web traffic

Page 14: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Replication

• Application and data servers are replicated

• Servers share the total workload

Page 15: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Specialization

• Servers are specialized

• Each server handles a designated part of the workload, by function

Page 16: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Portal Services

• Portal servers handle incoming traffic, reducing application server load– e.g., firewall, load balancer, transaction

processing manager

Page 17: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Multi-Tier Characteristics

• Advantages– Decoupling of software components– Flexibility to add/remove platforms in response to load– Scalability– Redundancy

• Disadvantages– Higher costs (maintenance, design, electrical load, cooling)

• Typical Application– 1000+ users– Large business or organization

Page 18: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Characteristics Summary

2-Tier

3-Tier

N-Tier

10

100

1000users

•large e-commerce, business, or organization

•small e-commerce, regional business or organization

•local business or organization

capacityscalabilityredundancycost

Page 19: Chapter 2 Client Server Architecture. Objectives Explain the essential principles of client- server architecture Explain the differences between 2-tier,

Review

• Client-Server Architecture

• 2-tier, 3-tier, Multitier architectures