Skip to main content

Software Architectural Terms Explained - Layers vs Tiers With an example

What is the difference between Layers and Tiers? |  Two-tier, Three-tier and N-tier

What's the difference between "Layers" and "Tiers"?

Let's learn in this post with an example.

We might heard couple of times but never worried about difference between Layers and Tiers, if somebody asks this question, immediately an engineer may think like this,

I aware about Two-tier, Three-tier and N-tier also involved in implementation of Presentation Layer, Business Logic layer and Data Access Layer but what are the difference between these terms? Or Are all denotes the same only?

Being as an application engineer you may need not worry about any architectural terms such as layer, tier etc. However, when you became a senior professional or someone involves in application architecture design and architect activities then you should be very clear on this simple basic things.

Alright, let’s start understand what those terms means? and, how each term differs from other one on the application architecture front?

For ease of understanding,

  • Layer can be defined as logical separation of code, whereas a Tier can be defined as Physical separation of code
  •  Layer is a way of organizing our code, whereas a Tier is a platform where the code runs.
  •  In other words, Application can be designed with consists of different layers, and Tiers where that Application layers are deployed.
Here is an example: In the below picture, assume there are servers maintained for "Browser View" as Web Tier, "App Logic" as App Tier and "Data Storage" as Data Tier hosting separately. And, there are three logical layers maintained in "App Logic" tier.


=========================================================
Advertisement: Choosing .NET Core Worker Services OR Windows Services?

=========================================================




Comments

Anonymous said…
makes sense.good

Popular posts from this blog

Fix: "Cannot set a credential for principal 'sa' . (Microsoft SQL Server, Error: 15535)" and “User is not associated with a trusted sql server connection" Errors

Recently, I had happen to struck with the following errors when I tried to reset the SA password through the SQL Server 2008 R2 Express. " Cannot set a credential for principal 'sa' . (Microsoft SQL Server, Error: 15535) " and then, “ User is not associated with a trusted sql server connection " From my research I have found the solution and that perfectly worked in SQL management studio. Hence, I thought of sharing my findings with others. ========================================================= Advertisement: Choosing .NET Core Worker Services OR Windows Services? ========================================================= Steps to reset the password in SQL Server 2008 R2 Express and fix for the errors: Step 1. Go to SQL Server Instance -> Properties/Security tab and change the mode to SQL Server authentication mode. Step 2. Go to Security/Logins, then open 'sa' login properties,          a. Uncheck the "Enforce passwor...

How to Set Up SonarQube in IntelliJ: A Step-by-Step Guide

SonarQube in IntelliJ: (Looking for SonarLint then check here:  How to install and execute Sonarlint ) Setting up SonarQube in IntelliJ can significantly enhance your code quality by identifying bugs and vulnerabilities. Follow these steps to integrate SonarQube with IntelliJ: Step 1 :  Install SonarLint PluginOpen IntelliJ and navigate to Settings. Go to Plugins > Marketplace. Search for SonarLint, install it, and restart the IDE. Step 2 : Configure SonarLint Click on SonarLint at the bottom left of IntelliJ. Select Configure SonarLint. In the popup, check the box for Bind project to SonarQube/SonarCloud and click on Configure the connection. Step 3 :  Set Up the ConnectionIn the new popup, click the + icon to add a new connection. If the + icon is not visible, go to File > Settings > New UI and disable it. Apply changes and restart the IDE. Name your connection and select SonarQube. Enter the SonarQube URL (e.g., https://sonar.prod.company.com) and click Next....

How to implement JUnit 5 in Your Maven or Gradle Project: A Step-by-Step Guide for Java Testing

Unit Testing JUnit Learn how to integrate JUnit 5 in your Maven or Gradle project for efficient Java testing. This guide covers adding dependencies, creating test classes, writing test methods, and running tests in IntelliJ IDEA and Visual Studio Code to ensure robust and error-free code. Step 1: Create a Simple Java Application Create a simple Java application, for example, “Copilot Demo,” and select Maven or Gradle as the build system through IntelliJ IDEA or Visual Studio Code. Step 2: Add JUnit Dependency For Maven: Add the following dependency to your pom.xml file inside the <dependencies> tag: XML <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.11.2</version> <scope>test</scope> </dependency> For Gradle: Add the following dependencies to your build.gradle file: dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.11.2' } Step ...