La relación de los clientes con los servidores de bases de datos podría ser como en la primera figura pero lamentablemente no se ha logrado que los diferentes fabricantes lleguen a estándares respetados por todos que lo permita. Solamente las especificaciones de SQL (de vital importancia en las relaciones Cliente/Servidor) han sobrevivido medianamente. Hay que recordar que solo SQL 3 ha enfrentado tópicos de gran envergadura como módulos persistentes, relaciones avanzadas cliente/servidor y datos abstractos; y que aun los proveedores no hacen sus productos compatibles con este estándar.
Cuando un desarrollador enfrenta un proyecto enmarcado en Cliente/Servidor de Bases de Datos debe enfrentar una serie de inconvenientes que debe resolver, en particular la conexión y manipulación de la información en la base de datos a través del SGBD o DBMS.
Cuando un desarrollador enfrenta un proyecto enmarcado en Cliente/Servidor de Bases de Datos debe enfrentar una serie de inconvenientes que debe resolver, en particular la conexión y manipulación de la información en la base de datos a través del SGBD o DBMS.
El esquema siguiente muestra esta situación:
Como se aprecia el programador debe recurrir a APIs (Interfaz para el Programador de Aplicaciones), que son funciones que proveen los fabricantes de hardware y/o software para que los programadores no deban llegar a bajo nivel para relacionarse con sus productos y lo hagan conociendo tales funciones. Como se dijo anteriormente, dado que no hay un estándar, cada compañía ha dispuestos su APIs específicas.
Estas funciones actúan sobre los controladores o drivers (similares a los drivers para impresoras, cámaras, etc), quienes se comunican con el sistema operativo y poner a disposición sus productos. Tampoco los drivers son estándar y existe por lo menos uno para cada producto. Para que la aplicación se pueda comunicar con la Base de Datos debe tenerse habilitado este driver.
Por último, en caso de estar en red, se debe tener protocolos comunes de comunicación entre clientes y servidores o traductores de los mismos. En esto los estándares están muy avanzados y son respetados, por lo cual pocas veces hay problema con ello.
Se debe tener presente un caso más general, en el cual una aplicación tenga que comunicarse con diferentes DBMS, esto complica aun mas la situación.
Se debe tener presente un caso más general, en el cual una aplicación tenga que comunicarse con diferentes DBMS, esto complica aun mas la situación.
Controladores o Drivers. Paul Reed, dice que el controlador es clave para desentrañar los misterios del DBMS. Los controladores reciben la llamada de las CLI y la traducen al lenguaje de acceso nativo del servidor de bases de datos. Se requiere un controlador por cada base de datos con la que se realiza conexión.
APIs de SQL. Dos métodos prevalecen para el soporte de SQL con lenguajes de programación:
SQL embebido ESQL
Interfaz del Nivel de Llamada (CLI).
SQL embebido ESQL
Interfaz del Nivel de Llamada (CLI).
SQL incrustado o embebido ha sido atendido por la especificación SQL-92, para la inclusión de instrucciones SQL (realmente no es una API) como si fuesen instrucciones propias del lenguaje de programación ordinario. Deben enmarcarse entre etiquetas que permiten ser distinguidas de las demás instrucciones. Estos bloques serán previamente precompilados. Tiene como inconvenientes que la base d datos destino debe conocerse al momento del desarrollo y que las instrucciones son diferentes para cada producto.
Las interfaces del nivel de llamada (CLI) son APIs de SQL para acceso a bases de datos, por lo cual no se requiere precompilación ni conocer de antemano la base de datos. Esto facilitaría la independencia del producto en particular, pero acá tampoco los estándares han triunfado.
CLI de SAG. SAG es un consorcio constituido en 1988 por 44 proveedores con el fin de ofrecer u estándar unificado para el acceso a bases de datos remotas. El CLI de SAG es un conjunto de API para base d datos SQL, aportando semántica y sintaxis de SQL común. Permiten conexiones a través de un controlador local, preparar solicitudes, ejecutar solicitudes, recuperar resultados, concluir instrucciones y concluir conexiones.
Varios productos en el mercado se adecuan a esta especificación.
CLI de Microsoft. Es una versión ampliada de la CLI de SAG, conocida como Conectividad de Bases de Datos Abierta (ODBC: Open DataBase Connectivity), inicialmente para acceso de bases de datos con Windows.Varios productos en el mercado se adecuan a esta especificación.
OBDC es una interface programada que hace posible el acceso a información en sistemas manejadores de bases de datos que usan SQL (Structured Query Language) como un estándar de acceso a datos. ODBC posee drivers que se instalan por defecto y permite también que el usuario los instale según la base de datos con la que desee obtener conexión.
Fuente:
http://bdaporte2009.obolog.com/
No hay comentarios:
Publicar un comentario