Los Sistemas de Gestión de Bases de Datos (SGBD) más evolucionados permiten la programación de desencadenadores o disparadores también llamados triggers, procedimientos y funciones en lenguaje PS/SQL o Transact-SQL. En nuestro caso práctico:
Firebird/Interbase® (FB) incorpora el lenguaje de programación PL/SQL, el cual permite la programación de desencadenadores (triggers) y procedimientos almacenados (stored procedures). Como parte del código PL/SQL está disponible la instrucción EXECUTE STATEMENT, la cual permite la ejecución de comandos SQL tanto en forma local como remota.
Además este motor de base de datos (FB) trabaja con un algoritmo de confirmación de dos pasadas (two-phase commit, 2PC) para este comando, lo cual es suma importancia porque permite el control de las transacciones distribuidas. De esta forma es posible determinar el éxito o fracaso de la ejecución distribuida de la transacción y de esta manera implementar una replicación de tipo homogénea maestro-esclavo basado en desencadenadores (triggers) con una granularidad de replicación a nivel de tablas. El presente trabajo pretende no solo hacer una replicación maestro-esclavo con Firebird, sino el desarrollo de una aplicación que permita a través de una interface automatizar la implementación de la replicación, generando de forma automática el código y las estructuras necesarias para la replicación y también permitir la posible recuperación en caso de fallas o anomalías. Se abren futuras líneas de investigación sobre nuevas funcionalidades a incorporar a la aplicación propuesta para facilitar la implementación de bases de datos distribuidas en Firebird, fortaleciendo esta funcionalidad no disponible en este motor de base de datos. Esta aplicación está desarrollada bajo licencia LGPL.