Client Server Architecture Explained

This tutorial explains the client-server network architecture and applications in detail. Learn what the client-server network architecture is and how it works.

What the client-server architecture is?

A client-server architecture is a design that breaks the entire functionality of a software application into smaller functions and assigns each function to a specific component or a group of components.

Typically, there are three main functions of an application. These functions are data storing, data processing, and data presenting. The client-server architecture assigns these functions to separate components of the software application. Once a function is assigned, the component performs only the assigned function.

In a complex architecture, these functions can be assigned to dedicated computers. Depending on which part of the application is installed, the computer is known as the server computer, the intermediate computer, and the client computer. The server computer stores data. The intermediate computer processes data. The client computer presents data.

This tutorial is the last part of the article "Network Architectures and models Explained". Previous parts of this article are the following.

Peer to Peer Networks Explained

Client-Server Networks Model Explained

Types of the client-server architecture

There are four types of client-server architecture. These types are Tire-1, Tire-2, Tire-3, and Tire-N. Let's discuss these types in detail.

Tire-1 client-server architecture

In this type, the entire application is installed on a system. Since all components of the application are available on the same system, they can access each other without going outside the system.

The following image shows the Tire-1 architecture.

tire-1 client-server architecture

Tire-2 client-server architecture

In this type, the application is installed on two or more computers. The components that store and process data are installed on the server system and the components that present the data are installed on the client system. There can be more than one server and clients in the network. For example, you may have two server computers and ten client computers or one server computer and fifty client computers. No computer sits between the client computers and server computers. Client computers access the server computers directly.

The following image shows the Tire-2 architecture.

tire-2 client server architecture

Tire-3 client-server architecture

This architecture is similar to the Tire-2 architecture except in this architecture the components that process the data are installed on separate computers. Computers that process data sit between the client computers and server computers. All-access requests from the client computer reach the server computer through the intermediate computer that processes the data.

The following image shows Tire-3 architecture.

tire-3 client server architecture

Tire-N client-server architecture

This architecture is similar to the Tire-3 client-server architecture except in this architecture the components that process the data are installed in a sequence on multiple computers. The intermediate computer that is directly connected to the client computer receives data access requests from the client computer and passes them to the next computer in the sequence. The next computer passes them to the next computer in the sequence. The last computer in the sequence passes them to the server computer.

The following image shows Tire-N architecture.

tire-1 client-server architecture

How does the client-server network architecture work?

In this architecture, all computers have their dedicated roles. A server stores and provides data. An intermediate device authenticates access requests, processes data, and applies business logic. A client requests data or service from the server and presents the received data or the service to the user. A computer is not allowed to perform a task that is not assigned to it.

Let's take a simple example to understand how this architecture works.

A user opens the Facebook App on his phone. He types his username and password to log in. If the username and password are correct, he is allowed to access his account. He creates a post, uploads his recent picture, and shares the post. Another user views this post and likes the picture.

The Facebook application uses the Tire-N architecture. It stores data in server systems, uses a chain of intermediate devices to authenticate and process data, and provides client applications to connect and manage data.

In this example, the user's phone is a client device. A user can install only the client application on a client device. From the client application, the user can view and manage his account. When the user performs any action on the client application, the client application passes that action to the intermediate device. The intermediate device checks whether the user is allowed to perform the requested action. If the user is allowed to perform the requested action, the intermediate device instructs the client application to allow the user to perform the requested action. If required, the intermediate device can retrieve information from the server or store information on the server.

Now, let's discuss how this architecture works in our example step-by-step.

The user typed his username and password. The client application sends the username and password to the intermediate device. The intermediate device connects to the server and accesses the users-database and checks whether the username and password are correct. If they are correct, the intermediate device instructs the client application to allow the user to login.

how client server application work example 1

The user created a post, uploaded a picture, and shared the post. The client application sends these actions to the intermediate device. The intermediate checks each action individually and allows the action only if the user has permission to perform the requested action. In our case, the user has permission so he was allowed to create the post, upload the photo, and share the post. Created post and uploaded photos are stored on the server system.

how client server application work example 2

Another user viewed the post and liked the picture. The client application sends a data access request to the intermediate device. The intermediate device checks whether the user has permission to view the profile of the first user. If the user has permission to view the shared post of the first user, the intermediate device accesses the shared post and provides it to the client application. The client application presents the post to the user. When the user likes the picture, the client application sends this action to the intermediate device, and the intermediate device checks whether the user has permission to like the post. If the user has permission to like the post, the intermediate device updates the likes of the picture on the server.

how client server application work example 3

Examples of client-server architecture based applications

Computer networks mainly use client-server architecture-based applications. The following table provides a brief list of the most popular client-server architecture-based applications used on computer networks and the Internet.

Web service

This service uses two separate applications for its functions. These applications are a web server application and a web client application. The two most popular web server applications are Apache and IIS. Apache is an open-source web server application. It runs on *NIX systems. IIS is a closed-source web server application. It runs only on Windows server systems. Web browsers are the most common web client applications. The three most popular web client browsers are Chrome, Firefox, and Safari.

Email service

This service is one of the most complex implementations of server-client architecture. This service connects multiple email servers. An email server either receives or delivers emails. An email client exchanges email with the connected Email server. Let's take a simple example. A user creates an email on his email client programs and presses the send button. The email client program connects to the Email server and transfers the email to the server. The server checks the destination email address and forwards the mail to the email server that belongs to the destination email address. The destination email server forwards the mail to the email client program that belongs to the recipient user. Microsoft exchange server is an example of an Email server. Gmail and Outlook are examples of email clients.

FTP service

This service transfers files between two computers. This service uses FTP Server and FTP client applications to transfer files. FTP Server application is installed on the computer that stores files while FTP client application is installed on the computer that is used to transfer or manage files. FileZilla FTP server and FTP client are examples that use FTP service to transfer files.

Remote applications

Windows Server includes remote applications. A remote application is an application that is installed on a server system but is executed on a client computer. A user can manage a remote application from a client system. Even a user uses a remote application on the client computer, the remote application uses hardware resources of the server computer. Remote applications are known as Remote Desktop Services.

SSH service

SSH service allows a user to access and manage a computer from another computer. This service provides a command-line interface to manage the remote system. The SSH server application is installed on a server system. SSH client application is installed on a client system. Through the SSH client application, a user can log in to the SSH server application. After successful authentication SSH Server allows the user to manage the server system from the SSH client.

That's all for this tutorial. If you like this tutorial, please share it with friends through your favorite social channel.

Advertisements

ComputerNetworkingNotes Networking Tutorials Client Server Architecture Explained