La Implementación de Proveedores GDA

El propósito de la biblioteca gda-server es esconder todos los detalles de CORBA a los programadores de proveedores y evitar la duplicación de trabajo y que así depurar el código sea mucho más fácil. La biblioteca se mantiene al mismo nivel que la biblioteca gda-client desde el punto de vista de CORBA.

La biblioteca gda-server impone un framework para que el proveedor sea implementado de una manera predeterminada, pero permite una personalización específica.

Objectos de la Biblioteca

Cada uno de los objetos tiene un objeto espejo desde la biblioteca gda-client desde el lado del servidor del framework libgda CORBA. Éstos son los objetos:

Cómo se procesa una consulta

Cuando un cliente hace una consulta, lo que sucede en el lado del servidor es lo siguiente:

  1. Se crea un GdaServerConnection

  2. Se abre la connexión

  3. Se crea un GdaServerCommand

  4. El comando actual se inserta dentro de un objeto GdaServerCommand

  5. Se ejecuta el comando, y si no ocurre ningún error, se crea y se devuelve un GdaServerRecordset

  6. El GdaServerCommand se puede destruir de un modo seguro

  7. Se examina la primera fila del recordset, luego la segunda, etc

  8. Se destruye el GdaServerRecordset

  9. Sepuede cerrar la conexión y el GdaServerConnection se destruye

Trabajo Actual de personalización del DBMS

Todos los pasos descritos arriba se imponen en el framework libgda. El trabajo de escribir un proveedor para un DBMS específico está en escribir la partes específicas que realicen estas operaciones que se describen arriba.

Así como la biblioteca C para los DBMS usa estructura específicas para manejar referencias a conexiones, etc., es posible adosar alguna información a los objetos de la biblioteca gda-server . Normalmente el programador de proveedores define las siguientes estructuras (substituya aquí DBMS por el nombre del actual DBMS como por ejemplo MYSQL o POSTGRES):