Los plug-in normalmente traducidos al castellano como “complementos” aunque más propiamente sería “enchufables” son pequeñas rutinas que permiten cambiar la funcionalidad o la apariencia de un programa.

En otras palabras, los plug-in permiten agregarle o cambiarle algo al programa principal (en inglés: host).

Y la gran ventaja de que un programa permita plug-in es que cualquier programador puede agregarle o cambiarle algo al programa principal, no solamente los programadores del programa principal pueden hacerlo.

¿Cómo funcionan los plug-in?

El programa principal (host) tiene un método que permite que los plug-in se registren a sí mismos y también un protocolo para el intercambio de datos.

Si hay un plug-in registrado entonces el programa principal (host) bifurca su ejecución al plug-in, en otras palabras no ejecuta su propia rutina sino que ejecuta la rutina del plug-in.

Cuando el plug-in finaliza, devuelve el control al programa principal (host)

plug-in

Gráfico 1. Si haces clic en la imagen la verás más grande

Como puedes ver en el Gráfico 1, la Rutina 2 no se ejecuta si hay un plug-in. La Rutina 2 es ignorada y en su lugar se ejecuta el plug-in.

¿Por qué usar plug-in?

Porque de esta manera muchos programadores externos pueden aportar nuevas características o funcionalidades, o mejorar las actuales.

Usando plug-in en Firebird 3

Dos puntos débiles del Firebird siempre fueron:

  1. La seguridad de sus bases de datos
  2. Que los datos no se transmitían encriptados en la red

Del punto 1. hablaremos en otros artículos.

El punto 2. se ha solucionado mediante el uso de plug-in, ya que ahora tenemos la posibilidad de usar nuestras propias rutinas de encriptación. ¿Qué significa eso? Que aunque un atacante intercepte la transmisión en la red no le servirá porque no podrá entender qué significan los datos transmitidos. Para entenderlos necesitará sí o sí del plug-in que nosotros creamos, y si lo mantenemos en secreto entonces …. aunque intercepte los datos transmitidos, no podrá entenderlos.

Cualquier programador suficientemente avanzado puede crear un plug-in.

¿En cuáles lenguajes de programación se puede crear un plug-in para Firebird 3?

Recuerda que un plug-in es una rutina externa creada por cualquier persona, y por lo tanto el programa principal (host) debe poder entenderlo. Y para que pueda entenderlo ambos deben usar el mismo protocolo. Este protocolo se implementa por medio de librerías de enlace dinámico.

Las librerías de enlace dinámico tienen la extensión .dll en Windows y .so en Linux, y pueden ser de dos tipos:

  1. DECLARE DLL
  2. COM DLL

Los plug-in se implementan a través de DECLARE DLL, por lo tanto cualquier lenguaje de programación que las pueda crear podrá ser utilizado. Ejemplos: C, C++, Delphi, Lazarus, etc. Hay lenguajes que pueden usar las DECLARE DLL pero no pueden crearlas y por lo tanto no podrás crear un plug-in con ellos. Ejemplo: Visual FoxPro.

Conclusión:

Los plug-in son rutinas externas creadas para aumentar la funcionalidad del programa principal o host. Cualquier programador avanzado puede crear un plug-in. Ahora, con Firebird 3 tenemos la posibilidad de crear nuestros propios plug-in y así aumentar la seguridad.

Nota:

El autor de este blog creará un plug-in y mostrará su código fuente y la interfaz para que se pueda comprender como crearlos y hacerlos funcionar.

Artículos relacionados:

Los archivos de configuración del Firebird 3

El índice del blog Firebird21

El foro del blog Firebird21