3-tier application architecture

Contributor(s): Cheryl Gilbert

A 3-tier application architecture is a modular client-server architecture that consists of a presentation tier, an application tier and a data tier. The data tier stores information, the application tier handles logic and the presentation tier is a graphical user interface (GUI) that communicates with the other two tiers. The three tiers are logical, not physical, and may or may not run on the same physical server.

Presentation tier - This tier, which is built with HTML5, cascading style sheets (CSS) and JavaScript, is deployed to a computing device through a web browser or a web-based application. The presentation tier communicates with the other tiers through application program interface (API) calls.

Application tier - The application tier, which may also be referred to as the logic tier, is written in a programming language such as Java and contains the business logic that supports the application’s core functions. The underlying application tier can either be hosted on distributed servers in the cloud or on a dedicated in-house server, depending on how much processing power the application requires.

Data tier - The data tier consists of a database and a program for managing read and write access to a database. This tier may also be referred to as the storage tier and can be hosted on-premises or in the cloud. Popular database systems for managing read/write access include MySQL, PostgreSQL, Microsoft SQL Server and MongoDB.

3-tier architecture

Benefits of a 3-tier app architecture

The benefits of using a 3-layer architecture include improved horizontal scalability, performance and availability. With three tiers, each part can be developed concurrently by different team of programmers coding in different languages from the other tier developers. Because the programming for a tier can be changed or relocated without affecting the other tiers, the 3-tier model makes it easier for an enterprise or software packager to continually evolve an application as new needs and opportunities arise. Existing applications or critical parts can be permanently or temporarily retained and encapsulated within the new tier of which it becomes a component.

3-tier application programs may also be referred to as n-tier programs. In this context, the letter “n” stands for ‘a number of tiers.’

This was last updated in February 2019

Continue Reading About 3-tier application architecture

Dig Deeper on Software design and development

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

Are there any disadvantages to using a 3-tier architecture?
what is a difference between 3 tier architecture and 3-tire application
3 tier application can be considered as an application that is undergoing development or is being tested. Essentially this app is not in production yet and not carrying real time load in comparison to a tier 1 app which is streaming live data or handling real time traffic and so will need proper approvals etc for any system maintenances to avoid downtime and disruption. 

A Tier-1 app can be designed as a 3 -Tier architecture. As noted in the above article it has 3 layers i.e. 
1. Client/Presentation layer [ this is your website ]
2. Application Layer      [ this is where your code lies on the server ]
3. Database layer     [ Where the data resides and is received from the application and Client layers ] 

This form of architecture results in both scalability and availability. 
I work for a mobile app development company that does it all. It allows us to be more efficient when it comes to our client's projects. We deliver a full service.