Before we explain client server architecture and you start reading words such as servers, service, network, data, and files, and start feeling overwhelmed with jargon, let us first understand about this architecture in layperson’s terms.
The notion of client-server architecture can be understood by the analogy of ordering a pizza for delivery. You call the store to order a pizza and someone picks up the call, takes your order, and then delivers it. Simple, right? Yes, this analogy pretty much answers the fundamental principle of client server architecture.
Simply put, two factors are involved :
A server is the one who provides requested services.
Clients are the ones who request services.
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.
Typically, 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. For example, in hospital data processing, a client computer can be busy running an application program for entering patient information, meanwhile, the server computer can be running another program to fetch and manage the database in which the information is permanently stored.
Want to know more about Cyber Security? Check out our Cyber Security Tutorial on Intellipaat!
Client-Server architecture example
Here are some of the client-server model architecture examples from our daily life. Hope it helps you to understand the concept better.
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:
Essentially, three components are required to make client-server architecture work. The three components are workstations, servers, and networking devices. Let us, now, discuss them in detail:
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
Now that we know about the roles that workstations and servers play, let us learn about what connects them, 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. Bridges are used to isolate network segmentation.
Also, learn the difference between client-server architecture and Peer-to-Peer network from our blog.
How does client-server architecture work?
We have understood that client-server architecture is made up of two elements, one that provides services and the other that consumes those services.
To get a clearer picture of the process, let us learn how the browser interacts with the server.
Please read the following steps for a better understanding of the process:
The user enters the uniform resource locator (URL) of the website or file and the browser sends a request to the domain name system (DNS) server.
DNS server is responsible for searching and retrieving the IP address associated with a web server and then initiating actions using that IP address.
After the DNS server responds, the browser sends over an HTTP or HTTPS request to the web server’s IP, which was provided by the DNS server.
Following the request, the server proceeds to transmit the essential website files required.
Ultimately, the files are processed by the browser and the website is subsequently presented for viewing.
Types of Client-Server Architecture
The functionality of Client-Server architecture is in various tiers.
1-tier architecture
The architecture in this specific client-server category incorporates various settings, including configuration settings and marketing logic, within a single device. Although the wide range of services provided by the 1-tier architecture establishes it as a dependable resource, managing such an architecture proves challenging. This difficulty primarily arises from the variability of data, often leading to duplicated efforts. The 1-tier architecture comprises multiple layers, such as the presentation layer, business layer, and data layer, which are unified through a specialized software package. The data residing within this layer is typically stored either in local systems or on a shared drive.
Unleash the potential of Network Topology. Explore the advantages of hierarchical, ring, and hybrid topologies, and design a network that meets your specific requirements.
2-tier architecture
The best environment is possessed by this architecture, where the client’s side stores the user interface and the server houses the database, while either the client’s side or the server’s side manages the database logic and business logic.
The 2-tier architecture outpaces the 1-tier architecture due to its absence of intermediaries between the client and server. Its primary application is to eliminate client confusion, and an instance of its popularity lies in the online ticket reservation system.
3-tier architecture
Unlike 2-tier architecture that has no intermediary, in 3-tier client-server architecture, middleware lies between the client and the server. If the client places a request to fetch specific information from the server, the request will first be received by the middleware. It will then be dispatched to the server for further action. The same pattern will be followed when the server sends a response to the client. The framework of 3-tier architecture is categorized into three main layers, presentation layer, application layer, and database tier.
All three layers are controlled at different ends. While the presentation layer is controlled at the client’s device, the middleware and the server handle the application layer and the database tier respectively. Due to the presence of a third layer that provides data control, 3-tier architecture is more secure, has invisible database structure, and provides data integrity.
N-tier architecture
N-tier architecture is also called multi-tier architecture. It is the scaled form of the other three types of architecture. This architecture has a provision for locating each function as an isolated layer that includes presentation, application processing, and management of data functionalities.
Difference between peer-to-peer network and Client-Server architecture
The following table lists five major differences between peer-to-peer architecture and client-server architecture:
Client server architecture
Peer-to-peer architecture
It has specific clients and servers.
There is no differentiation between clients and servers.
Centralized data management is accomplished through it.
It possesses its own data and applications.
The objective is to disseminate knowledge or exchange relevant data.
Its main goal is to encourage peer connectivity and preserve continuous relationships between people.
Data is provided only in response to a request.
In this network, peers have the authority to request as well as provide a service.
It is suitable for small as well as large networks.
It is appropriate for a limited number of users, specifically fewer than ten devices.
Advantages and disadvantages of client-server architecture
The advantages and disadvantages of client-server architecture are mentioned below:
Advantages
Disadvantages
The centralized network has complete leverage to control the processes and activities.
If the primary server goes down, the entire architecture is disrupted.
All devices in the network can be controlled centrally.
It is expensive to operate because of the cost of heavy hardware and software tools.
Users have the authority to access any file, residing in the central storage, at any time.
This architecture requires particular OSs related to networking.
It provides a good user interface, easy file finding procedure, and management system for organizing files.
Too many users at once can cause the problem of traffic congestion.
Easy sharing of resources across various platforms is possible.
It requires highly technical stuff, such as server machines, for maintenance of the network.