¿LAMP o LAFP?

Hace ya algunos años se creó el acrónimo LAMP para definir a un servidor con una configuración de Linux, Apache, MySQL y PHP donde una vez configurados todos los servicios, funcionaba como un servidor de aplicaciones web: despachando páginas web dinámicas creadas a partir de datos guardados en la base de datos MySQL, procesados por el lenguaje de scripts PHP y enviados por el servidor http Apache, todos estos programas bajo el sistema operativo Linux.




Ha sido una fórmula muy exitosa sobre todo para la combinación AMP, ya que hay veces en que se cambia de sistema operativo, utilizando Windows o MacOSX en lugar de Linux, y dando lugar a nuevos acrónimos como WAMP o MAMP. De hecho existen paquetes de software que se distribuyen bajo esos nombres y que sirven para instalar conjuntamente tales aplicaciones en Windows y en MacOSX, respectivamente. Como mencioné antes, la fórmula (AMP) ha dado lugar a muchos desarrollos de software, por ejemplo, manejadores de contenidos (CMS) como Drupal, Mambo, WordPress, Xoops, etc.

MySQL ha demostrado ser una buena base de datos aunque tiene algunos detalles con respecto a su doble licenciamiento, falta de características avanzadas en su versión libre y algunas inconsistencias en los datos y validaciones de fecha, por ejemplo.


Sus bondades ha sido que gracias a que ha estado tanto tiempo en el mercado como software libre, por lo que hay mucho conocimiento sobre su uso y muchas aplicaciones que ayudan a administrarla.

Sin embargo esto no necesariamente indica que es la base de datos a usar en aplicaciones web con PHP, ya que existen otras opciones, específicamente me refiero a Firebird.


Firebird, por su licencia y características avanzadas, madurez, estabilidad y eficiencia es una base de datos ideal para el desarrollo de aplicaciones web, sean manejadores de contenidos para portales, aplicaciones administrativas, para negocios, sistemas de información o cualquier otro tipo de aplicación.




Firebird permite hacer más fáciles los desarrollos ya que con sus triggers y procedimientos almacenados, puede dejarse buena parte de la lógica de la aplicación dentro de la base de datos, haciendo que los programas realizados con PHP sean más sencillos en su programación y separando la lógica de la presentación. Si se utilizan además otros componentes de software para PHP, por ejemplo Smarty, se puede llegar a separar la presentación de los datos, de la lógica y acceso a lso datos en dos archivos PHP por documento html.


Tal vez un reto importante para que Firebird logre establecerse al nivel de MySQL dentro de distribuciones de software como LAMP, WAMP ó MAMP, es que se empiecen a migrar algunas aplicaciones diseñadas para LAMP para que funcionen con Firebird, algo así como LAFP. Muchas de las aplicaciones LAMP actuales –sobre todo las que están programadas usando clases y POO- permiten cambiar de manejador de base de datos creando archivos que contienen las instrucciones SQL básicas de cada base de datos, y especificando en la configuración del sitio o aplicación, cuál base de datos se utilizará. Generalmente vienen configuradas de inicio para usar MySQL, por lo que si se cuenta con el archivo para utilizar Firebird, solamente hay que especificarlo, y de otra manera hay que crear el archivo con las instrucciones específicas para Firebird, tarea no del todo fácil y que debe ser realizada por programadores especialistas en Firebird.


Creo que es cuestión de tiempo y de esfuerzo de los programadores para desarrollar los programas necesarios para que muchas aplicaciones LAMP se vuelvan LAFP y permitan aprovechar las bondades de eficiencia, licenciamiento y estabilidad que da Firebird.