3 tier architecture is very well known approach in the world of software development. A layer is portion of the code, which is supposed to perform a particular action. Three Tier Architecture is an organization of three different layers i.e., Presentation Layer, Business Access Layer and Data Access Layer. Applications following three tier architecture are easy to maintain as each layer is separated from each other, change in one does not affect the other layers
Here is the description of all three layers:
Presentation Layer (PL): This is the topmost layer of the application, which a user can access directly. This layer actually consists of UI part of an application and displays the contents. It can either contain webpages or windows forms, which are actually responsible to get the inputs from the user and to display the results. To perform any action in application, Presentation layer has to communicate with BAL (Business Access Layer)
Business Access Layer (BAL): This layer contains all the business rules like component validation, communication with database etc. This is the only layer which directly communicates with Presentation and Data Access Layer, so it acts as a bridge between Presentation and Data Access Layers. This layer ensures that the input data is in a standard format before proceeding to Data Layer.
Data Access Layer (DAL): The most important component for any of the application is its data. This layer is responsible to perform database operation like connect with the database, save, retrieve, delete and update the data. DAL sends the results to BAL, which is further responsible to send the same to PL to display the results to the user.
Advantage of 3 Tier Architecture:
- Maintainability: Application becomes easy to maintain, as each layer is an independent, so changes in one layer does not affect the another layer.
- Flexibility: Once layers are independent, flexibility gets increased
- Re-usability: Logic placed in Business Access Layer, increases the re-usability