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).
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.