Revista Tecnología

¿Qué es un DAL (Data Access Logic) y cuál es su función?

Publicado el 16 mayo 2014 por Rawepub
¿Qué es un DAL (Data Access Logic) y cuál es su función?

El DAL es agnóstico al motor de bases de datos utilizado.

 

La programación de aplicaciones ha evolucionado a través de los tiempos por diversos paradigmas:

- Programación Estructurada.

- Programación Modular.

- Programación Orientada a Objetos.

- Programación Orientada a Eventos.

- Programación Basada en Componentes.

Cada día se siguen estudiando otras posibilidades para mejorar el rendimiento de las aplicaciones y disminuir el recurso consumido, tanto a nivel de hardware como de personal.

La evolución de tales paradigmas ha propiciado reutilización de código, menor coste y dificultad en el mantenimiento, mayor portabilidad y mejora en la integración.

La programación en n-capas permite que se pueda abstraer en cada una de ellas las lógicas correspondientes de manera que si es requerido cambiar algo en una de ellas, las otras permanezcan  invariables, ajenas al cambio de la que si es afectada.

Es por ello que es recomendable que la base de datos no tenga la lógica del acceso a datos implícita, sino que la misma se extraiga en una capa intermedia que se comunique tanto con el motor de la base de datos como con la aplicación que la requiere.

La capa de lógica de acceso a datos es denominada DAL (Data Access Logic), por sus siglas en inglés.

Esta capa se programa de manera que las cadenas de conexión, los llamados a los métodos y funciones dentro de la base de datos y la respuesta de tales peticiones se encapsule allí de forma que se garanticen los siguientes puntos:

 

1. Independencia del Gestor: El DAL permite que si se migra de una base de datos a otra, las funciones de retracción de datos se sobrecarguen y los mismos métodos que se llaman desde la capa de aplicación sigan siendo llamados. La aplicación no sabrá ni le interesará qué gestor responde, únicamente le interesa saber el método y los datos que devuelve.

Así, por ejemplo, si se programase en .Net:

Dim cObjDAL as new cClsDAL;

New DataSet as DSConsultaClientes;

DsConsultaClients=cObjDal.ConsultaClientes(pParameter1,pParameter2,…,pParamentern);

En este ejemplo, cObjDAL es una instancia de la clase cClsDAL (la capa de lógica de acceso a datos), en ella una función llamada ConsultaClientes se conecta a una base de datos (que no le importará si es Oracle, Microsoft SQL Server, PostgreSQL , MySQL, o cualquier otra, siempre y cuando al recibir los parámetros necesarios devuelva un Data Set con las mismas columnas)

Esto garantiza la portabilidad.

2.  Facilidad de gestionar el cambio y sostener las aplicaciones actuales:

Las sobrecargas permitirán poder tener varias funciones con el mismo nombre, por ejemplo ConsultaClientes, que dependiendo de la cantidad de parámetros y tipo de parámetros recibidos devuelva diferentes sets de datos, lo que permitirá que nuevas integraciones utilicen más características de nuevos desarrollos, pero que los componentes ya utilizados que no se hayan migrado sigan funcionando con la programación de la integración original.

3.  Facilidad de Mantenimiento:

Todos los cambios se pueden manejar versionados en la capa de acceso lógico de datos, sin problemas de modificar todas las aplicaciones que se conectan a ella.

4. Reducción de Errores:

Dado que se concentran toda la lógica de acceso a datos en un único punto, es menos probable que un error se propague sin que sea detectado. En caso suceda, corregirlo es mucho más fácil.

 


Volver a la Portada de Logo Paperblog