210 likes | 283 Views
Learn about client-server architecture principles, tiered architectures, system patterns, centralized vs. distributed processing, and the characteristics of 2-tier, 3-tier, and multi-tier systems. Discover the roles of clients and servers, and common architectural patterns. Compare advantages and disadvantages of each tiered architecture for different user capacities and organization sizes.
E N D
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
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)
System Architecture • Common architectural patterns include • Client-Server • Layered • Peer-to-peer • Pipes and Filters • etc.
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
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 Distributed Client / Server
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 Client Client Server Client Server request Client Client Server
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
2-Tier C-S Architecture • Tier 1: Client platform, hosting a web browser • Tier 2: server platform, hosting all server software components
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
3-Tier C-S Architecture • Tier 3 takes over part of the server function from tier 2, typically data management
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
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
Replication • Application and data servers are replicated • Servers share the total workload
Specialization • Servers are specialized • Each server handles a designated part of the workload, by function
Portal Services • Portal servers handle incoming traffic, reducing application server load • e.g., firewall, load balancer, transaction processing manager
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
Characteristics Summary • large e-commerce, business, or organization • small e-commerce, regional business or organization • local business or organization N-Tier 1000 3-Tier users 100 2-Tier 10 capacity scalability redundancy cost
Review • Client-Server Architecture • 2-tier, 3-tier, Multitier architectures