Descripción Técnica logLOPD

LogLOPD es un Wrapper del DataSource (origen de datos) utilizado por la aplicación. Dicho de otro modo, envuelve el DataSource de la aplicación manteniendo su comportamiento original y extendiéndolo con nuevas funcionalidades.

Los objetivos de LogLOPD son tres:

  • Interceptar la consulta SQL
  • Analizar la consulta SQL
  • Generar un registro en función de los datos accedidos en la consulta y las políticas establecidas por la LOPD, incluyendo la identidad del usuario en el registro (DNI o nombre de usuario por ejemplo).
Esquema logLOPD

La idea se basa en utilizar el DataSourceWrapper, que encapsulando el DataSource real, intercepta las consultas y las analiza para generar un registro en los casos necesarios.

Los módulos de los que se compone LogLOPD son los siguientes:

CLASES WRAPPER
DataSourceWrapper, PreparedStatementWrapper, etc… son las clases que implementan el API JDBC, añadiéndoles una funcionalidad extra para el registro y análisis de las consultas.
CONFIG
Es el módulo que contiene la configuración de tablas y columnas que contienen datos de carácter personal.
SQLMANAGER
Es el encargado de gestionar las llamadas al analyzer y logger. Su funcionalidad radica en ofrecer métodos de tratamiento de las consultas, que las analicen y llamen al logger para registrar la consulta con sus datos asociados.
ANALYZER
Es el encargado de analizar consultas, conforme a la configuración del DataSource, y devolver el resultado del análisis.
LOGGER
Es el módulo que se encarga de guardar los registros.
IDENTIFICACIÓN USUARIO
El logger recibe el usuario real de la aplicación, de forma que en el registro de consultas quedará registrado dicho usuario.