0% found this document useful (0 votes)
77 views11 pages

Definition:: Client-Server Architecture

Client-server architecture separates computers into clients and servers. Clients make requests to servers which process requests and store data. This allows for sharing of resources and data across a network. Common client types include thick clients, which have significant local processing power, and thin clients, which rely more heavily on servers. Servers typically provide storage, processing, and services. Iterative servers process one request at a time while concurrent servers can handle multiple requests simultaneously. More complex architectures include two-tier with user interface and data tiers separated, and three-tier which further separates the application logic from the other tiers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views11 pages

Definition:: Client-Server Architecture

Client-server architecture separates computers into clients and servers. Clients make requests to servers which process requests and store data. This allows for sharing of resources and data across a network. Common client types include thick clients, which have significant local processing power, and thin clients, which rely more heavily on servers. Servers typically provide storage, processing, and services. Iterative servers process one request at a time while concurrent servers can handle multiple requests simultaneously. More complex architectures include two-tier with user interface and data tiers separated, and three-tier which further separates the application logic from the other tiers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Client-Server Architecture

Definition:
Client-server architecture (client/server) is a network architecture in which each computer or process on
the network is either a client or a server.

Explanation:

Technology that separates computer and application software into two categories
clients, and servers to better employ available computing resources and share data
processing loads.

Client Working:
A client computer provides the user-interaction facility (interface) and some or all
of the application processing.

Server Working:

A server computer might provide high-volume storage capacity,


heavy data crunching, and/or high resolution graphics.

Typically, several client computers are connected through a network


(or networks) to a server which could be a large PC, minicomputer or
a mainframe computer. Every computer connected to a website acts
as a client while the website computer acts as a server. Also
called CLIENT-SERVER ENVIRONMENT.
Client and Its Types

Client:
A client is the requestor or receiving end of a service in a client-server
model of a system.

Types of Client:
There are mostly following types of clients

 Thick Clients
 Thin Clients

Thick Client:

What is a Thick Client?

A thick client also known as Fat, Rich or Heavy client is one of the component of
client server architecture connected to the server through a network connection
and does not consume any of the server's computer resources to execute
applications.

Why To Select Thick Client?

A thick client is a type of client device in client-server architecture that has most
hardware resources on board to perform operations, run applications and perform
other functions independently.

Although a thick client can perform most operations, it still needs to


be connected to the primary server to download programs

Where To Implement Thick Client?

Thick clients are generally implemented in computing environments when the


primary server has low network speed, limited computing and storage capacity to
facilitate client machine, or there is a need to work offline.

Thin Client:

A thin client also known as Lean, Zero or Slim Client is a computer or


computer program that depends heavily on some other computer (server)
to fulfill its computational roles.

Why To Select Thick Client?

Thin clients occur as components of a broader computer infrastructure, where


many clients share their computations with the same server. As such, thin client
infrastructure can be viewed as providing some computing service via several user
interfaces. This is desirable in contexts where individual thick clients have much
more functionality or power than a infrastructure required.

Thin client computing is also a way of easily maintaining computational services


at a reduced total cost of ownership.
Server and its types
Server:
A server is the sender end of a service in a client-server model of a system. A server
processors with share memory providing computing, connectivity and the databas
related to the business need.

Types of Servers:
There are two types of servers

 Iterative server
 Concurrent server

Iterative Server:
This is the simplest form of a server where a server process serves one client and after completing fi
another client. Meanwhile another client keeps waiting.

Advantages:

o Easy to build

Limitations:

o Handles single request at a time


o Unnecessary delay

Concurrent Server:
This type of server runs multiple concurrent processes to serve many requests at a time. Because on
client cannot wait for so long.

Advantages:

o Handles multiple requests at a time


o Better performance
Limitations:

o Difficult to design and build

Types Of Client-Server Architecture

Types of Client-Server Architecture:


There are various types of client-server architecture which
are described as below:

1 tier architecture :

In this type of client server environment the user interface, business logic & data
logic are present in same system. This kind of client server service is cheapest but it
is difficult to handle because of data inconsistency that allows repetition of work.

 The Two Tiers Architecture:


In this type of architecture, the workload is divided between the server (host of the
system) and the client(which hosts the user interface).

In reality these are located on separate computers but there is no absolute


requirement of this, providing that the tiers are logically separated can be hosted
(e.g. development and testing) on the same computer.

Advantages:

 Ease in Developing Applications: Applications can


easily be developed due to simplicity.
 User Satisfaction: Maximum user satisfaction is gained
with accurate and fast prototyping of applications through
robust tools.
 Applicable for Homogeneous Environment: Since this
contains static business rules it's more applicable for
homogeneous environment.
 High Performance: Database server and business logic is
physically close, which offers higher performance.

Limitations:

The two tier architecture proved to be a good solution when user


population work is usually small (up to about 100 concurrent users)
but it rapidly proved to have a number of limitations:

 Performance: Performance begins to deteriorate as


the population grows. this is due to the reason that each
user has its own connection and the server has to keep
all these connections live even when no work is being
done.
 Security: Each user must have their own individual
access to the database, and be granted whatever rights
may be required in order to run the application.
 Capability: Independent of the type of client, much of
the data processing has to be located in database
making it totally dependent upon the capabilities and
implementation provided by the database
manufacturer. This limits the application functionality.
 Portability: As the two-tier architecture is dependent
upon the specific database implementation, porting an
existing application to a different dbms becomes a
major issue.

Having said that, this architecture has found a new lease of life in
the internet age, it can work well in disconnected environment.
However, in many ways this implementation harks back to the
mainframe architecture and indeed, a browser based, two-tier
application, can suffer from many ways of the same issue.

o The Three-Tier Architecture:


To overcome the limitations of the two-tier architecture, an additional tier was
introduced - creating what is now the standard three-tier client-server model. The
purpose of the additional tier (called as "middle" or "rule" tier) is o handle
application execution and database management, as with the two-tier model, the
tiers can either be implemented on different physical machine, or multiple may be
co-hosted on a single machine.

In the three-tier architecture the functional process logic, data access, computer
data storage and user interface are developed and maintained as independent
modules on separate platform.

The three-tiers in a three-tier architecture are:

 Presentation Tier: Occupies the top level and displays


information related to service available on a website. This tier
communicates with other tiers by sending results to the
browser and other tiers in the network.
 Application Tier: Also called the middle tier, logic tier or
business logic , this tier is pulled from the presentation tier. It
controls application functionality by performing detailed
processing.

Data Tier: Houses database server where information is stored and retrieved.
Data in this tier is kept independent of application servers or business logic.

Advantages:

 Improved Data Integrity: Data corruption through client


application can be eliminated as the data passes through the
middle tier for updating database ensures its validity.
 Enhanced Security: The placement of business logic on a
centralized server makes the data more secure. data security
is enhanced on service-by-service basis as the client does not
interact with database directly.
 Hidden Database Structure: The actual structure of
database often remains hidden from clients enabling any
change in the database to be hidden.

Limitations:

 Complexity of Communication: Usually more efforts


should be ensured when creating 3-tier applications as the
communication points are increased (client to middle tier to
server) and the performance increased by tools like Visual
Basics, Power Builder etc.
n-Tiers Architecture:
Often referred as Multitier Architecture. It is a client-server architecture in which
presentation, application processing, and data management functions are
physically separated. it is an expanded form of three-tier architecture.

Advantages:
It provides a model by which developers can create flexible and reusable
applications. By segregating an application into tiers, developer acquires the
option of modifying or adding a specific layer, instead of reworking the
application.

Limitation:

 Difficult to Implement: Due to componentization of tiers,


the complex structure is difficult to implement or maintain.
Advantages and Disadvantages of Client-Server Architecture

Advantages of Client-Server Architecture:


Organizations often seek opportunities to maintain services and
quality competition to sustain its market position with the help of
technologies. Deployment of client-server computing in an
organization will effectively increase its productivity through the
usage of cost-effective user interface, enhanced data storage, vast
connectivity and reliable application services

 Improved Data Sharing:

Data is retained by usual business processes and manipulated on a


server is available for designated users (clients) over an authorized
access.
 Integration of Services:

Every client is given the opportunity to access corporate


information via desktop interface eliminating the necessity to
log into a terminal mode or processor.

 Shared Resources Amongst Different Platforms:

Application used for client-server model is built regardless of the


hardware platform or technical background of the entitled software
(operating system software) providing an open computing
environment, enforcing users to obtain the services of clients and
servers (database, application and communication services)

 Data Processing Capability Despite the Location:

Client-server users can directly log into a system despite of the


location or technology of the processors.

 Easy Maintenance:

Client-server architecture is distributed model representing


dispersed responsibilities among independent computers integrated
across a network. Therefore, it's easy to replace, repair, upgrade and
relocate a server while client remains unaffected. This unaware
change is called as Encapsulation.

 Security:

Servers have better control access and resources to ensure


that only authorized clients can access or manipulate data
and server updates are administered effectively.

Disadvantages of Client-Server
Architecture:
 Overloaded Servers:

When there are frequent simultaneous client requests, server


severely get overloaded, forming traffic congestion.

 Impact of Centralized Architecture:


Since it is centralized, if a critical server failed, client
requests are not accomplished. Therefore, client-server lacks
the robustness of a good network.

You might also like