Skip to main content

Command Palette

Search for a command to run...

Client-server Architecture

Published
7 min read
Client-server Architecture

Client-server architecture is a computing model in which the server hosts, delivers, and manages most of the resources and services requested by the client. It is also known as the networking computing model or client-server network as all requests and services are delivered over a network. The client-server architecture or model has other systems connected over a network where resources are shared among the different computers.

Client–server model - Wikipedia

Client-server architecture is arranged in a way that clients are often situated at workstations or on personal computers, while servers are located elsewhere on the network, usually on more powerful machines. Such a model is especially beneficial when the clients and server perform routine tasks.

Using client server architecture, Workstations, PCs, and other devices belonging to numerous users are frequently connected to a central server through the Internet or another network.

The server responds to the client’s request for data by accommodating it and returning the requested data packets to the user.

Client-Server architecture example:-

The client-server model architecture examples from our daily life.
Mail servers:-

Email servers are used for sending and receiving emails. There are different software that allows email handling.

File servers:-

File servers act as a centralized location for files. One of the daily life examples to understand this is the files that we store in Google Docs. The cloud services for Microsoft Office and Google Docs can be accessed from your devices; the files that you save from your computer can be accessed from your phone. So, the centrally stored files can be accessed by multiple users.

Web servers:-

Web servers are high-performance computers that host different websites. The server site data is requested by the client through high-speed internet.

Components of Client-Server architecture:-

Three components are required to make client-server architecture work. The three components are workstations, servers, and networking devices.

What is Client-Server Architecture? Definition, Types, & Example

Workstations:-

Workstations are also called client computers. Workstations work as subordinates to servers and send them requests to access shared files and databases. A server requests information from the workstation and performs several functions as a central repository of files, programs, databases, and management policies. Workstations are governed by server-defined policies.

Servers:-

Servers are defined as fast-processing devices that act as centralized repositories of network files, programs, databases, and policies. Servers have huge storage space and robust memory to deal with multiple requests, approaching simultaneously from various workstations. Servers can perform many roles, such as mail server, database server, file server, and domain controller, in client-server architecture at the same time.

Networking devices:-

Networking devices are a medium that connects workstations and servers in a client-server architecture. Many networking devices are used to perform various operations across the network. For example, a hub is used for connecting a server to various workstations. Repeaters are used to effectively transfer data between two devices.

How does client-server architecture work?

The basic steps of how Client-Server Architecture works are:

  1. In the first step, client sends a request to the server using the network medium. The request can be a query, a command, or a message.

  2. In the second step, the server receives the request and processes it according to its logic and data. The server may access its own resources or other servers to fulfil the request.

  3. In the third step, server sends a response back to the client using the network medium. The response can be data, an acknowledgement, or an error message.

  4. Lastly, client receives the response and displays it to the user or performs further actions based on it.

Client-Server Model - GeeksforGeeks

Types of Client-Server Architecture:-

What is Client-Server Architecture? Definition, Types, & Example

One-tier Architecture :-

This is a software Architecture in which an application is single and self-contained on a single platform. One-tier Architecture is simple and easy to understand, making it a popular choice for small and simple applications.

In one-tier Architecture, the client, the server, and the database are all on the same machine. The client is the application that interacts with the user and performs the business logic. The server is the application that provides services to the client, such as data storage and processing. The database is the software that manages the data for the system.

One-tier Architecture is rarely used in productions as it does not meet the requirements and constraints of most systems.

Back To Basics: Tiers in Software Architecture - DEV Community

Two-tier Architecture :-

This is the simplest type of Client-Server Architecture, where the client directly communicates with the server. There is no intermediate layer between them. The client handles the user interface and the business logic, while the server handles the data storage and processing.

An example of a two-tier Architecture is a web browser and a web server. The web browser requests pages from the web server, which then the web server responds with HTML files. This type of Architecture is easy to implement and maintain, but it has some drawbacks, such as low scalability, high network traffic, and security risks.

Client Server Architecture: Diagram, Types, Examples, and Components!

Three-tier Architecture :-

This is a more complex type of Client-Server Architecture, where there is an intermediate layer between the client and the server. The intermediate layer is usually a middleware or an application server that checks the business logic and acts as a bridge between the client and the server. The client handles only the user interface, while the server handles only the data storage and processing.

An example of a three-tier Architecture is an online banking system. The client is a web browser that displays the banking interface, the middleware is an application server that validates transactions and enforces security rules, and the server is a database that stores account information. This type of Architecture improves scalability, performance, and security, but it also increases complexity and cost.

Different types of database architecture | DB Info World

N Tier Architecture:

The technique is a scaled form, considering three tiers. The approach is also named “Multi-tier architecture”. This architecture has a provision for locating each function as an isolated layer that includes presentation, application processing and management of data functionalities.

Back To Basics: Tiers in Software Architecture - DEV Community

Client-Server Architecture Advantages:-

The benefits related to client-server architecture are discussed below.

  1. There is a centralized network that has full leverage to control the processes and activities in a client-server architecture.

  2. The central area of the architecture is used for the storage of data.

  3. The devices used in architecture can be controlled centrally.

  4. Network protection, data backup and all other concerned elements are tackled centrally.

  5. Users have the authority to access all the files at any time residing on the central storage.

  6. There exists no restriction regarding geography to access the information. One can access any information from any place.

  7. The architecture can be expanded as the growth requires the scaling of users or any other parameters.

  8. It offers service incorporation, which ensures that it allows user authorization to view business data through its device and to delete any inappropriate access for logging in.

  9. Clients have the facility to share any resources at various platforms and places.

  10. The client-server design is implemented on a distributed model basis, ensuring that the server is replaced, restored, upgraded and moved without influencing the client.

  11. The architecture can tackle massive weight given clients, systems, devices and network loads.

  12. The architecture provides an easy user interface, file finding procedure and management system for keeping all the files in an organized pattern.

  13. The architecture facilitates the data overwhelming by the reduction in data replication.

    Client-Server Architecture Disadvantages:-

    The limitations of the client-server architecture are focused below.

    1. The users will suffer if the primary server goes dump.

    2. The architecture requires a particular OS related to networking.

    3. Configuration of Hardware components and software tools utilize plenty of costs.

    4. There is a need for technical as well as skilled staff for maintenance of the network specifically for server machines.

    5. Numerous requests simultaneously can cause “traffic congestion problems”.

    6. The architecture can mostly be availed in large organizations and enterprises as the cost is unbearable for typical clients.