Software Application 3-Tier Architecture

3-Tier Architecture


Three-tier is a well-established software application architecture that organises applications into three logical and physical computing tiers. 

  1. the presentation tier (user interface)
  2. the application tier (where data is processed)
  3. the data tier (where the data associated with the application is stored and managed)


Benefits  of  Three-tier Architecture :

  • Each tier of a  three-tier architecture runs on its own infrastructure, each tier can be developed simultaneously by a separate development team. 
  • Each tier can be updated or scaled as needed without impacting the other tiers.
  • Each tier can run on a separate operating system and server platform - e.g., web server, application server, database server - that best fits its functional requirements. 
  • Each tier runs on at least one dedicated server hardware or virtual server, so the services of each tier can be customised and optimised without impact the other tiers. 
  • Faster development Because each tier can be developed simultaneously by different teams, an organization can bring the application to market faster, and programmers can use the latest and best languages and tools for each tier. 
  • Improved scalability : Any tier can be scaled independently of the others as needed. 
  • Improved reliability : An outage in one tier is less likely to impact the availability or performance of the other tiers.  
  • Improved security : Because the presentation tier and data tier can't communicate directly, a well-designed application tier can function as a sort of internal firewall, preventing SQL injections and other malicious exploits.
  •  

For decades three-tier architecture was the most popular architecture for client-server applications. Today, most three-tier applications are targets for modernisation, using cloud-native technologies such as containers and micro-services, and for migration to the cloud. 



The details of each tier is explained as below :-

  1. Presentation tier  
  • The presentation tier is the user interface and communication layer of the application, where the end user interacts with the application. 
  • Its main purpose is to display information to and collect information from the user. 
  • This top-level tier can run on a web browser, as desktop application, or a graphical user interface (GUI), for example.  
  • Web presentation tiers are usually developed using HTML, CSS and JavaScript. 
  • Desktop applications can be written in a variety of languages depending on the platform.

    2. Application tier  

  • The application tier, also known as the logic tier or middle tier, is the heart of the application. 
  • In this tier, information collected in the presentation tier is processed -sometimes against other information in the data tier - using business logic, a specific set of business rules. 
  •  It can also add, delete or modify data in the data tier. 
  • It is typically developed using Python, Java, Perl, PHP or Ruby, and communicates with the data tier using API calls. 

    3. Data tier

  • The data tier, sometimes called database tier, data access tier or back-end , is where the information processed by the application is stored and managed
  • This can be a relational database management system such as PostgreSQL, MySQL, MariaDB, Oracle, DB2, Microsoft SQL Server, or in a NoSQL Database server such as Cassandra, CouchDB or MongoDB. 
  • In a three-tier application, all communication goes through the application tier. The presentation tier and the data tier cannot communicate directly with one another.


Tier vs. layer 

  • A 'layer' refers to a functional division of the software, but a 'tier' refers to a functional division of the software that runs on infrastructure separate from the other divisions.

Comments

Popular posts from this blog

Setting up a USB thermal printer with a Raspberry Pi 3B+

Autostart an app on reboot - Raspberry Pi

Basic Input/Output C Program