1. Introduction

In this tutorial, we’ll discuss the application architecture layers. Additionally, we’ll explore the Data Access Layer’s (DAL) role in the communication process.

2. Application Model

Firstly, an application has various layers of architecture responsible for properly functioning the software. Moreover, each layer holds a set of responsibilities contributing to an organized data flow.

In Database Management Systems (DBMS), data from the storage is accessed and processed as per the needs of the application. Let’s see the layers of the application model:

layers in application model

Moreover, this architecture of DBMS allows secure access to stored data. Further, a storage layer holds the data collected and provides structured access for the application. The storage layer acts as a repository of data accessible as per the command initiated by the user.

2.1. Data Access Layer

Generally, we can perceive the Data Access Layer (DAL) as a gateway for the database. An application receives input from the Presentation Layer (PL) and processes it in the Business Logic Layer (BLL). The job of the DAL is to thoroughly validate the semantics and authorization and retrieve data from storage.

2.2. Business Logic Layer

Importantly, the Business Logic Layer (BLL) holds the implementation part of an application. Furthermore, it’s responsible for processing the operations in the application. Moreover, it acts as the main body of the software with the presentation layer for interaction with the user. Notably, BLL does the required computations involved in an application. Moreover, this layer is responsible for enforcing the rules and validating commands as per the database. It also ensures the authentication of commands, thereby assuring security.

2.3. Presentation Layer

The PL acts as an interface between the user and the software. This layer is responsible for the interactions with the user, most often via some form of a graphical user interface (GUI). It can receive input from the user and display the result using this layer. HTML, CSS, and Javascript are some of the popularly used languages for implementing user interfacing.

3. Data Access Layer

Let’s explore the key operations of DAL:

  • DAL performs the queries, allowing access to data and applying other operations on the data
  • It helps set up and manage the database connection between application and data
  • Further, the DAL helps in mapping the data and its corresponding object providing data abstraction

3.1. Architecture of Data Access Layer

Let’s explore the components of the DAL:

components of DAL

The components helping in performing the tasks of DAL are service agents, data helpers/ utilities, and data access logic components. Notably, each application differs in its format and semantics. Moreover, service aids in the communication of the storage with the application adapting to the model.

Generally, utility and data helpers allow data access, data transformation, and manipulation within the layer. Further, it comprises dedicated procedures and libraries created to increase data access efficiency while minimizing the need for service agent and logic component layer development.

Data access logic components comprise the functionalities required to access the data in the storage. Furthermore, this allows us to centralize the functions. As a result, this simplifies the setup and maintenance of the application.

3.2. Advantages

The DAL is independent of the BLL, making it adaptable to application modifications. Additionally, it allows a common point from which calls can be made to the databases. A DAL can maintain numerous databases, allowing the application to utilize any database as needed. Moreover, the user or the BLL doesn’t know about the entire storage, thereby not revealing the whole database to a third-party application.

Separating the data access code makes the database portable and better to manage. Any changes in the storage structure will not affect the clients. As a result, this gives freedom in managing the database.

3.3. Disadvantages

Some applications have a common DAL for storage where various applications access it. However, this may give way for hackers to exploit the data. Thereby risking the security of the data.

Sharing the same data layer causes a heavy impact on the performance of storage and applications. The storage might be prone to a risk of overflowing. Moreover, it faces access issues for different locations simultaneously, causing delays and incorrect updation of data.

Additionally, this may cause allocation issues and scheduling of processes issues.

4. Applications of Data Access Layer

Database applications commonly have their data in tables as Excel sheets or database access. However, these are connected to the application using a connection setup. Some of the popular packages used for the connection are ADO.NET, ODBC, and JDBC. Let’s see an example of an ODBC connection window:

Example of ODBC Let’s see some of the database languages are:

5. Summary

Let’s see the key difference between the layers:

Presentation Layer(PL)

Business Logic Layer (BLL)

Data Access Layer(DAL)

Acts as an interface between application and user

Further, it acts as an interface between PL and DAL

However, it acts as an interface between application and storage

No knowledge about storage structure

No knowledge about storage structure

However, DAL knows the location of data in the storage

Example: Gets command from users using GUI

Example: Interprets the command from PL and communicates with DAL

Example: Access the data from storage as per the command received from BLL

Moreover, we use tools like AdobeXD and Sketch to help in designing. Additionally, languages like Hyper Text Markup Language(HTML), and C for implementing PL

Notably, we can use languages like Java and Python for BLL

Especially, we use tools such as ADO.NET, Java Database Connectivity(JDBC)

6. Conclusion

In this article, we have explored the general architecture of an application as well as the functionality of the layers. Additionally, we have briefly discussed the DAL’s functionalities and the components responsible for it. Moreover, we have seen its applications and examples of how the layers work together.


« 上一篇: 什么是JSONP?