CMS : Acceso a diferentes SGBD

La mayoria de los CMS propietarios actuales utilizan como mótor de bases de datos por defecto a MySQL(PHP) y MS SQL Server(ASP, ASP.NET). Aunque MySQL es muy fácil de usar y su combinación con PHP lo convierten en una herramienta muy potente, en ocaciones es necesario implementar otras opciones( Oracle, PostgreSQL, SQLite, Firebid, etc). Por ejemplo, si la base de datos va ser muy robusta y debe manejar gran cantidad de transacciones.

Es importante desarrollar nuestras aplicaciones para que esten preparadas para cualquier SGBD que se utilice, sobre todo en los CMS que pueden instalarse en cualquier servidor. Para ello podemos utilizar “drivers” que permitan el acceso a estos sistemas sin tener que cambiar la programación cada vez que tengamos que implementar nuestro CMS en un mótor diferente al que usamos por defecto.

Por ejemplo:
Utilizar una clase que no varíe su estructura según el sistema al que acceda.

MySQL

class DB_DRIVER
{
   function connect( $host , $user, $pass, $database )
   {
        $conx = mysql_connect( $host, $user, $pass );

        if( $conx )
        {
            mysql_select_db( $database );
            return $conx;
        }
        else
           return false;
   }

         //otros métodos

}

PostgreSQL

class DB_DRIVER
{
   function connect( $host , $user, $pass, $database )
   {
        $conx = pg_connect("host=$host dbname=$database user=$user password=$pass");

        if( $conx )
            return $conx;
        else
           return false;
   }

         //otros métodos

}

Así solo tendremos que llamar a los mismos métodos si cambiamos el mótor por defecto y podemos implementar un panel de administración para estos drivers.

   $db = new DB_DRIVER;
   $db->connect( "localhost" , "foo" , "foo" , "mibd" );

Estas clases están escribiendo en PHP4, ya que aún hay servidores en el mundo que lo tienen instalado,pero se pueden escribir en PHP5.

De esta forma independientemente del mótor de bases de datos que usemos siempre va a ejecutar la misma acción y estaremos implementando una buena arquitectura.

Anuncios

No comments yet

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: