Definition:: Client-Server Architecture
Definition:: 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:
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:
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.
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.
Thin Client:
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:
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:
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.
Advantages:
Limitations:
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.
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.
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:
Limitations:
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:
Easy Maintenance:
Security:
Disadvantages of Client-Server
Architecture:
Overloaded Servers: