Introduction
Layered technology is a software design approach in which the application is divided into horizontal layers. Each layer has a specific responsibility and interacts with the layers above and below it. This approach promotes modularity, maintainability, reusability and scalability in software systems.
Layers in Layered Technology:
1 ) Presentation Layer (User Interface Layer)
->Handles user interaction and displays information.
->Built using technologies like HTML, CSS, JavaScript,UI frameworks (e.g., React, Angular).
->Sends user requests to the application layer.
2 ) Application Layer (Business Logic Layer)
->Contains the core logic of the application.
->Processes user requests and applies business rules.
->Uses services from the data access layer.
3 ) Data Access Layer (DAL)
->Provides an interface between the application layer and the database.
->Handles data retrieval, storage and manipulation.
->Uses techniques like DAO (Data Access Object) or Repository pattern.
4 ) Database Layer
->Stores the actual data in a database.
->Could be a relational database (MySQL, PostgreSQL) or NoSQL database (MongoDB, etc.).
->Responds to queries from the data access layer.
How It Works:
1) User interacts with the presentation layer (UI).
2 )The request is passed to the application layer.
3 )The application layer processes the request and calls the data access layer.
4 )The data access layer fetches/updates data from the database layer.
5) The response is returned back through the layers to the user.
Advantages:
->Separation of concerns each layer has a specific role.
->Improves maintainability and code organization.
->Allows independent development and testing of layers.
->Enhances reusability of components.
->Scales easily by modifying or replacing a layer.
->Improves security by restricting access to lower layers.