Motores De Persistencia.

 
Dr. Vicent-Ramon Palasí Lallana.
Director Académico de la
Universidad Francisco Gavidia.

Es generalmente sabido que una aplicación informática consta de dos componentes principales que colaboran para llevar a cabo la funcionalidad que el usuario desea. El primero de estos componentes es la base de datos, que guarda la información necesaria para operar la aplicación, en forma de datos en disco. El segundo de estos componentes es el programa propiamente dicho, que recupera esos datos de la base de datos, realiza los cálculos necesarios y presenta los resultados deseados al usuario.


Figura 1. Arquitectura de una aplicación informática.

Para que estos dos componentes puedan funcionar juntos deben poder comunicarse intercambiando datos, como se observa en la figura 1. En otras palabras, deben ser compatibles. Sin embargo, durante los últimos treinta años la evolución de estos dos componentes ha sido divergente, de forma que cada vez se ha hecho más difícil que colaboren en una misma aplicación.

Así, desde los años 70 a la actualidad, las bases de datos utilizan un modelo teórico llamado “relacional”, que se ha convertido en un estándar y que es utilizado en la práctica totalidad de aplicaciones de software.

En cambio, los programas han usado, desde los años 80, un modelo llamado “orientado a objetos”, que difiere en mucho del modelo relacional y que se ha extendido cada vez más. Es por ello que aparece un conflicto a la hora de reunir estos dos componentes en una aplicación, ya que cada uno responde a diferente modelo y forma de operar. Cada componente maneja los datos con un formato diferente. Metafóricamente, podríamos afirmar que el programa y la base de datos hablan idiomas diferentes y, por lo tanto, la comunicación entre ellos resulta difícil.

Este artículo comienza con una descripción de los dos modelos mencionados y de las diferencias que dificultan su combinación en una sola aplicación. A continuación, se exploran las diferentes soluciones a este problema y se acaba concluyendo que la mejor manera de resolverlo es usando un motor de persistencia. El artículo finaliza indicando los nombres de los motores de persistencia más usados, con el fin de que el lector pueda elegir el que más se adapta a sus necesidades.

1. Modelo Orientado A Objetos.

El modelo orientado a objetos es el modelo teórico que usa la mayoría de los programas actuales. La programación orientada a objetos hunde sus raíces en los años sesenta (en los que aparecieron los primeros lenguajes de este tipo, llamados “Simula I” y “Simula 67”, desarrollados en el Centro Noruego de Computación, en Oslo). En los primeros 70, aparece “Smalltalk”, un lenguaje fundamental en la historia de la orientación a objetos.

SUMARIO         SIGUIENTE