Open In App

Three-Tier Client Server Architecture in Distributed System

Last Updated : 08 Nov, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will get into detail about the three-tier client-server architecture. The most common type of multi-tier architecture in distributed systems is a three-tier client-server architecture. In this architecture, the entire application is organized into three computing tiers

  •  Presentation tier
  •  Application tier
  •  Data-tier

The major benefit of the three tiers in client-server architecture is that these tiers are developed and maintained independently and this would not impact the other tiers in case of any modification. It allows for better performance and even more scalability in architecture can be made as with the increasing demand, more servers can be added.

What is Three-Tier Architecture?

Three-Tier Architecture is an is an well established software application design pattern which will organizes the application in the three logical and physical computing tiers as following:

  • Presentation Tier
  • Application Tier
  • Data Tier

The Three Tiers In Detail

Presentation Tier

It is the user interface and topmost tier in the architecture. Its purpose is to take request from the client and displays information to the client. It communicates with other tiers using a web browser as it gives output on the browser. If we talk about Web-based tiers then these are developed using languages like- HTML, CSS, JavaScript.

Application Tier

It is the middle tier of the architecture also known as the logic tier as the information/request gathered through the presentation tier is processed in detail here. It also interacts with the server that stores the data. It processes the client’s request, formats, it and sends it back to the client. It is developed using languages like- Python, Java, PHP, etc.

Data Tier

It is the last tier of the architecture also known as the Database Tier. It is used to store the processed information so that it can be retrieved later on when required. It consists of Database Servers like- Oracle, MySQL, DB2, etc. The communication between the Presentation Tier and Data-Tier is done using middle-tier i.e. Application Tier.

Three-Tier-architecture

Tier vs. layer

Tier

Layer

Tier refer to the physical operation of components.

Layer refers to the logical separation of an application.

Tiers are physical separated and running on the different machines are servers.

Layers are logically separated but running on the same servers or the machines.

Scalability of an application is very high.

Scalability of an application is medium.

Common tiers in a multi-tier architecture include the presentation tier (user interface), application tier (business logic), and data tier (database).

Each layer focuses on specific responsibilities, such as presentation, business logic, and data access, within a single tier.

Three-Tier Application In Web Development

Web application will have the same tiers as the three architectures but only difference is that they are with different names.

  1. Web Server: Web server is an presentation tier of an three-tier architecture which servers as an presentation tier or UI (User Interface) tier. This content can be static or dynamic based on there requirement such as an e-commerce site where users can add products to their shopping cart, enter payment details, or create an account.
  2. Application Server: Application tier is an middle tier which consists the full logical that is required for the business which will process the user inputs and so on. It will performs the logic’s like queries the inventory database to return product availability or adds details to a customer’s profile.
  3. Database server: This is back-end tier of an web application it consists all the data so this tier mostly there will be data base such as MySQL, Oracle, DB2 or PostgreSQL.

Other Multi-Tier Architectures

Three Tier Architecture is the widely used for the application development there are some other architecture as mentioned below.

Two-Tier Architecture

This is an fundamental software architecture which consists of two layers or tier one is client and another is server each tier has there own responsibility and they are interlinked with each other or dependent on each other

Client Tier

Client tier is the top most layer which is like an user interface and interaction part of the application. it acts as an web browser, desktop application, or mobile app, through which the user interacts with the application. It is responsible for presenting the data and processing the input of the application.

Server Tier

Server tier is an bottom layer which contains the logic that us required to handle the data processing and data management.

N-Tier Architecture

N-Tier Architecture, also known as Multi-Tier Architecture it divides the application into various number of tiers based on there complexity and requirements. following are the some of the tiers included in the architecture.

  • Presentation Tier (Client Tier)
  • Application Tier (Middle Tier or Business Logic Tier)
  • Data Tier (Data Storage Tier or Database Tier)
  • Services Tier (Business Services or Application Services)
  • Integration Tier (Integration Services).

Benefits of Three-Tier Architecture

  • Logical separation is maintained between Presentation Tier, Application Tier, and Database Tier.
  • Enhancement of Performance as the task is divided on multiple machines in distributed machines and moreover, each tier is independent of other tiers.
  • Increasing demand for adding more servers can also be handled in the architecture as tiers can be scaled independently.
  • Developers are independent to update the technology of one tier as it would not impact the other tiers.
  • Reliability is improved with the independence of the tiers as issues of one tier would not affect the other ones.
  • Programmers can easily maintain the database, presentation code, and business/application logic separately. If any change is required in business/application logic then it does not impact the presentation code and codebase.
  • Load is balanced as the presentation tier task is separated from the server of the data tier.
  • Security is improved as the client cannot communicate directly with Database Tier. Moreover, the data is validated at Application Tier before passing to Database Tier.
  • The integrity of data is maintained.
  • Provision of deployment to a variety of databases rather than restraining yourself to one particular technology.

Disadvantages of Three-Tier Architecture

  • The Presentation Tier cannot communicate directly with Database Tier.
  • Complexity also increases with the increase in tiers in architecture.
  • There is an increase in the number of resources as codebase, presentation code, and application code need to be maintained separately.

FAQs On Three Tier Architecture

1. Three Tier Architecture in DBMS

The database management system (DBMS) is divided into three logical and physical tiers: the presentation tier, the application tier, and the database tier. This is known as three-tier architecture in DBMS.

2. Three Tier Architecture in C#

A C# application is divided into three logical and physical tiers: the presentation tier, the application tier, and the data tier. This is known as three-tier architecture.

3. Three Tier Architecture in AWS(Amazon Web Services)

A Three-Tier Architecture in Amazon Web Services (AWS) refers to the design of web applications or services that utilize AWS cloud resources and services to separate the application into three logical tiers. Each tier has specific responsibilities, and AWS provides a range of services to support the implementation of this architecture.

4. Three Tier Architecture of Mobile Computing

A Three-Tier Architecture in the context of mobile computing refers to the organization of a mobile application or system into three logical tiers or layers, each with specific responsibilities.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads