Multi-tier Designs in Software
Tharindu Weerasinghe
www.tharinduweerasinghe.com
What is a Tier?
• We categorize the main parts of an enterprise
system into sections.
• Those sections are called tires.
• Normally there are 3 tier architectures in many
enterprise applications.
3-tier architecture
* A Presentation Layer sends content to browsers in the form of HTML/JS/CSS. Brows
engines can understand them and render...
e.g. This can be done via frameworks like React, Angular, Ember, Aurora, etc.
* An Application Layer uses an application server (like JBOSS, Apache Tomcat)and
processes the business logic for the application.
e.g. This can be written in Java, C#, C++, Python, Ruby, etc.
* A Data Layer which is a database management system that provides access to appli
data.
e.g. This could be MSSQL, MySQL, Oracle, or PostgreSQL, Mongo, etc
3-tier architecture
3-tier architecture
A sample a design diagram of a 3 tier application based
on PHP
3-tier architecture
A sample a design diagram of a 3 tier application based on C#
3-tier architecture
A sample a design diagram of a 3 tier application based on Java
Little bit of on Web and Application Servers.
Web server: serves content to the web browsers via HTTP
protocol. (Apache web server, IIS, nginx)
Application server: hosts and exposes business logic and
processes; acts as the facilitator between the data layer and
the presentation layer.
3-tier architecture
Why do we need tiers in enterprise software?
* Easy to maintain
* Easy to update
* Easy to scale
* Risks can be mitigated easily
References (with many a thank)
• https://stackify.com/n-tier-architecture/
• https://www.jinfonet.com/resources/bi-defined/3-tier-architecture-
complete-overview/
• https://stackoverflow.com/questions/13786549/how-to-implement-3-tiers-
architecture-in-c-sharp
• https://www.izenda.com/blog/5-benefits-3-tier-architecture/
• http://www.cardisoft.gr/frontend/article.php?aid=87&cid=96
• https://stackoverflow.com/questions/936197/what-is-the-difference-
between-application-server-and-web-server
• https://www.javatpoint.com/server-web-vs-application

Multi-tier Designs in Software

  • 1.
    Multi-tier Designs inSoftware Tharindu Weerasinghe www.tharinduweerasinghe.com
  • 2.
    What is aTier? • We categorize the main parts of an enterprise system into sections. • Those sections are called tires. • Normally there are 3 tier architectures in many enterprise applications.
  • 3.
  • 4.
    * A PresentationLayer sends content to browsers in the form of HTML/JS/CSS. Brows engines can understand them and render... e.g. This can be done via frameworks like React, Angular, Ember, Aurora, etc. * An Application Layer uses an application server (like JBOSS, Apache Tomcat)and processes the business logic for the application. e.g. This can be written in Java, C#, C++, Python, Ruby, etc. * A Data Layer which is a database management system that provides access to appli data. e.g. This could be MSSQL, MySQL, Oracle, or PostgreSQL, Mongo, etc 3-tier architecture
  • 5.
    3-tier architecture A samplea design diagram of a 3 tier application based on PHP
  • 6.
    3-tier architecture A samplea design diagram of a 3 tier application based on C#
  • 7.
    3-tier architecture A samplea design diagram of a 3 tier application based on Java
  • 8.
    Little bit ofon Web and Application Servers. Web server: serves content to the web browsers via HTTP protocol. (Apache web server, IIS, nginx) Application server: hosts and exposes business logic and processes; acts as the facilitator between the data layer and the presentation layer.
  • 9.
    3-tier architecture Why dowe need tiers in enterprise software? * Easy to maintain * Easy to update * Easy to scale * Risks can be mitigated easily
  • 10.
    References (with manya thank) • https://stackify.com/n-tier-architecture/ • https://www.jinfonet.com/resources/bi-defined/3-tier-architecture- complete-overview/ • https://stackoverflow.com/questions/13786549/how-to-implement-3-tiers- architecture-in-c-sharp • https://www.izenda.com/blog/5-benefits-3-tier-architecture/ • http://www.cardisoft.gr/frontend/article.php?aid=87&cid=96 • https://stackoverflow.com/questions/936197/what-is-the-difference- between-application-server-and-web-server • https://www.javatpoint.com/server-web-vs-application