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
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)
Common architectural patterns include ◦ Client-Server
◦ Layered
◦ Peer-to-peer
◦ Pipes and Filters
Each component of a client-server system
has the role of either client or server
◦ Client: a component that makes requests
clients are active initiators of transactions
◦ Server: a component that satisfies requests
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
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
Web applications are usually implemented
with 2-tier, 3-tier, or multitier (N-tier) architectures
Each tier is a platform (client or server) with
Tier 1: Client platform, hosting a web
browser
Tier 2: server platform, hosting all server
Advantage:
◦ Inexpensive (single platform)
Disadvantages
◦ Interdependency (coupling) of components
◦ No redundancy
◦ Limited scalability
Typical application
◦ 10-100 users
Tier 3 takes over part of the server function
Advantages
◦ Improved performance, from specialized hardware
◦ Decreased coupling of software components
◦ Improved scalability
Disadvantages
◦ No redundancy
Typical Application
◦ 100-1000 users
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
Application and data servers are replicated
Servers are specialized
Each server handles a designated part of
Portal servers handle incoming traffic,
reducing application server load
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
2-Tier 3-Tier N-Tier 10 100 1000 users
•large e-commerce, business, or organization
•small e-commerce, regional business or organization
•local business or organization
Client Server is an architectural model,
while a file server is a data organization
method for storing user files centrallywithin a department or company.
In the client-server architectural model, an
application is divided into two parts:
The client side, which runs the user
interface, local storage and so forth.
The business logic and the database reside
File server:
◦ Traditional file servers provide fast local access and robust user permissions, but are difficult to access with mobile devices and require
A file server provides a way of storing files like
documents, presentations, spreadsheets, etc. for sharing across an organization.
Traditionally, enterprise administrators setup a
common space for users to store common files - presentations, proposals, and spreadsheets, et al. This is done via many file servers with "shares". The shares may be user-based or
project-based. The shares also could be private or public. Traditionally users copy files into a
One major drawback is that the files shares
can only be accessed when the users are in the office or connected via VPN.
Naturally the files cannot be shared with
partners and customers for collaborative work.
Another drawback is mobile access, which is
File server is a computer responsible for the central storage and
management of data files so that other computers on the same network can access the files.
A file server allows users to share information over a network without
having to physically transfer files by floppy diskette or some other external storage device.
Any computer can be configured to be a host and act as a file server. In
its simplest form, a file server may be an ordinary PC that handles requests for files and sends them over the network. In a more
sophisticated network, a file server might be a dedicated
network-attached storage (NAS) device that also serves as a remote hard disk drive for other computers, allowing anyone on the network to store files on it as if to their own hard drive.
Client/server it is the relationship between two computer programs in
which one program, the client, makes a service request from another program, the server, which fulfills the request. Although the client/server idea can be used by programs within a single computer, it is a more
important idea in a network. In a network, the client/server model
provides a convenient way to interconnect programs that are distributed efficiently across different locations. Computer transactions using the client/server model are very common. For example, to check your bank account from your computer, a client program in your computer
Client-Server Architecture