Вы находитесь на странице: 1из 15

Client Server Architecture

A network architecture in which each computer or process on


the network is either a client or a server.
Servers are powerful computers or processes dedicated to
managing disk drives (file servers), printers (print servers), or
network traffic (network servers).
Clients are PCs or workstations on which users run
applications. Clients rely on servers for resources, such as
files, devices, and even processing power.
Another type of network architecture, peer-to-peer
architectures, each host or instance of the program can
simultaneously act as both a client and a server, and each
has equivalent responsibilities and status

. Both client/server and peer-to-peer architectures are widely


used, and each has unique advantages and disadvantages
Client Server
Architecture
• Client-server architectures are sometimes
called two-tier architectures.
• Client-server computing or networking is a
distributed application architecture that
partitions tasks or work loads between
service providers (servers) and service
requesters, called client. Often clients and
servers operate over a computer network on
separate hardware. A server machine is a
high-performance host that is running one or
more server programs which share its
resources with clients. A client does not share
any of its resources, but requests a server's
content or service function. Clients therefore
initiate communication sessions with servers
which await (listen to) incoming requests
Client Server
Architecture
• Client-server describes the relationship
between two computer programs in
which one program, the client
program, makes a service request to
another, the server program.
Standard networked functions such as
email exchange, web access and
database access, are based on the
client-server model. For example, a
web browser is a client program at
the user computer that may access
information at any web server in the
world.
Client Server Architecture

• To check your bank account from your


computer, a web browser client
program in your computer forwards
your request to a web server program
at the bank. That program may in turn
forward the request to its own
database client program that sends a
request to a database server at
another bank computer to retrieve
your account balance. The balance is
returned to the bank database client,
which in turn serves it back to the
web browser client in your personal
computer, which displays the
Client Server
Architecture
• The client-server model has become
one of the central ideas of network
computing. Many business
applications being written today use
the client-server model. So do the
Internet's main application protocols,
such as HTTP, SMTP, Telnet, DNS. In
marketing, the term has been used to
distinguish distributed computing by
smaller dispersed computers from the
"monolithic" centralized computing of
mainframe computers. But this
distinction has largely disappeared as
mainframes and their applications
have also turned to the client-server
Client Server
Architecture
• Each instance of the client software can
send data requests to one or more
connected servers. In turn, the servers
can accept these requests, process them,
and return the requested information to
the client. Although this concept can be
applied for a variety of reasons to many
different kinds of applications, the
architecture remains fundamentally the
same.
• The most basic type of client-server
architecture employs only two types of
hosts: clients and servers. This type of
architecture is sometimes referred to as
two-tier. It allows devices to share files
and resources. The two tier architecture
means that the client acts as one tier and
Client Server
Architecture
• The interaction between client and
server is often described using
sequence diagram. Sequence
diagrams are standardized in the
Unified Modeling Language.
• Specific types of clients include web
browsers, email clients, and online
chat clients.
• Specific types of servers include web
servers, ftp servers, application
servers, database servers, name
servers, mail servers, file servers,
print servers, and terminal servers.
Client Server Architecture

Multitier architecture

• In software engineering, multi-tier


architecture (often referred to as n-tier
architecture) is a client-server
architecture in which the presentation, the
application processing, and the data
management are logically separate
processes. For example, an application
that uses middleware to service data
requests between a user and a database
employs multi-tier architecture. The most
widespread use of "multi-tier architecture"
refers to three-tier architecture.
Client Server Architecture

Multitier architecture

• The concepts of layer and tier are


often used interchangeably.
However, one fairly common point
of view is that there is indeed a
difference, and that a layer is a
logical structuring mechanism for
the elements that make up the
software solution, while a tier is a
physical structuring mechanism for
the system infrastructure.
Three-tier architecture
Client Server
Architecture
• 'Three-tier' is a client-server
architecture in which the user
interfaces, functional process logic
("business rules"), computer data
storage and data access are
developed and maintained as
independent modules, most often
on separate platforms
Client Server Architecture
• Presentation Tier
• This is the topmost level of the application.
The presentation tier displays information
related to such services as browsing
merchandise, purchasing, and shopping
cart contents. It communicates with other
tiers by outputting results to the
browser/client tier and all other tiers in
the network.
• Application Tier (Business Logic/Logic
Tier)
• The logic tier is pulled out from the
presentation tier and, as its own layer, it
controls an application’s functionality by
performing detailed processing.
Client Server Architecture
• Data Tier
• This tier consists of Database
Servers. Here information is stored
and retrieved. This tier keeps data
neutral and independent from
application servers or business
logic. Giving data its own tier also
improves scalability and
performance.
• Note: In the Web development field,
three-tier is often used to refer to
Advantages of
Centralized Client/Server
Resources All data stored in one
location
   Easier to backup files
and data
 Easier to find files and
data
Efficient Software optimized for multiple
users
 Hardware optimized for multiple
users

Security One machine can secure entire


network
One central login

Scalability Easy to add new resources


Disadvantages of
Client/Server
• If the server goes down, it takes part  
or the whole network with it.
•  It is more expensive to install.
•  Needs to be maintained by staff with
high IT skills
• Traffic congestion on the network has
been an issue since the inception of
the client-server paradigm. As the
number of simultaneous client
requests to a given server increases,
the server can become overloaded
• Under client-server, should a critical
server fail, clients’ requests cannot be
fulfilled.

Вам также может понравиться