The web application is comprised of three distinct layers namely presentation, application or business-logic and data or database layers. The purpose of separating the web applications into layers minimizes complexity of the architecture. Moreover, since complexity is the enemy of security, this web application architecture plays significant role in enhancing security and performance requirements of the software.
Let us briefly discuss about the three layers as follows:
- Presentation Layer: This layer displays the user interface (UI) module and facilitates user interaction with the rest of the application’s modules. This is the window through which users request access to the core of the application. Besides, the purpose of this layer is to decouple the UI components from the application logic and data accesses.
- Business Layer: This layer focuses on designing and implementing the business logic and workflows of the web application. Moreover, the objects, classes, methods and other properties are defined in this layer to pass data between the components. Besides, this will serve as a middleware between the presentation and data layers.
- Data Layer: This layer is designed to separate and abstract the logic behind accessing database of the web application. This architecture will be appropriate to make configurations, changes, and maintenance on the database without affecting the rest of the application components.
This web application architecture will have performance, security, deployment and testability gains when compared with single layer development.