Avanzando un poco más en el tema de las últimas entradas, voy a centrarme en esta característica que implementa DMVC. Voy a mostrar la utilización de ActiveRecord para “reimplementar” los métodos de GET, POST, PUT y DELETE que vimos en la última entrada. El resultado final será el mismo, pero cambiaremos la forma de obtener y devolver los datos y de realizar las operaciones sobre la Base de Datos.
A diferencia de la técnica de la tercera entrada, ActiveRecord, sólo podemos utilizarlo si estamos utilizando como componentes de conexión FireDAC.
A continuación os pongo los links de las anteriores:
A continuación vamos a ver una introducción al funcionamiento de ActiveRecord, característica que incluye DMVC, como patrón de programación.
PATRON ACTIVERECORD
Es un patrón de diseño que permite hacer mapeo objeto-relacional (ORM). Mapea un registro de una tabla de la Base de Datos a un objeto. Soporta operaciones CRUD.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
La mayoría de SGBD’s disponen de un sistema para poder utilizar a lo que habitualmente llamamos eventos o notificaciones, lo que ya no es tan habitual, es que los componentes de acceso implementen esta funcionalidad.
Resumiendo y simplificando el concepto, podemos decir que una aplicación cliente recibe una notificación desde el Gestor de Base de Datos, cuando el contenido de una consulta que definimos, cambia. En la práctica funcionaría de la siguiente manera.
Las “query notifications” nos permiten definir la siguiente consulta:
SELECT NOMBRE, APELLIDOS FROM CLIENTES
SELECT NOMBRE, APELLIDOS FROM CLIENTES
Y recibir una notificación cuando los datos involucrados en ese consulta (NOMBRE o APELLIDOS del cliente) cambian.
Con esta configuración recibiré una notificación siempre que se AÑADA o BORRE un registro de la tabla CLIENTES y también cuando se modifiquen los campos NOMBRE y APELLIDOS de esta tabla (no así el resto de campos de la tabla).
NOTIFICACIONES EN SQL SERVER
Las notificaciones en SQL Server se introducen en a partir de la versión 2005 (9.x). Y existen varias formas de implementar las notificaciones:
SQLNotificationRequest: Está programado a un nivel más bajo y es en cierta forma menos automático, ya que el usuario debe implementar parte de la estructura necesaria para hacerlas funcionar.
SQLDependency: Su implementación es a nivel más alto y el sistema es más automatizado. Se inicia un proceso que procesa las notificaciones que se publican en una cola.
SQLCacheDependency: Que se utiliza para aplicaciones Web diseñadas mediante ASP.NET 2.0 o posterior.
En nuestro caso nos vamos a centrar en SqlDependency que es el método que utiliza el componente TFDEventAlerter de las FireDAC.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…