| Artículos | 01 MAR 2001

Acceso a bases de datos con Kylix

Tags: Histórico
Examinamos el mecanismo de acceso a bases de datos del nuevo entorno RAD de Borland
Francisco Charte.
Borland presentó recientemente su producto Kylix, el primer entorno RAD de tipo comercial no basado en Java para el sistema operativo GNU/Linux. En este artículo abordamos su nueva arquitectura para trabajo con sistemas RDBMS.

A finales del mes de febrero tuvo lugar en Madrid la presentación oficial de Borland Kylix, un producto muy esperado y que promete facilitar de manera considerable el trabajo tanto de aquellos que desean crear aplicaciones para GNU/Linux, como de los que buscan un camino fácil para ofrecer sus desarrollos en los dos sistemas operativos predominantes: Windows y Linux.
El producto cuenta con un gran número de aspectos y características muy destacables, entre ellos el nuevo mecanismo de acceso a bases de datos o sistemas RDBMS. Borland ha dejado de lado su BDE (Borland Database Engine), un motor de acceso a datos ya anticuado, relativamente lento por su gran funcionalidad y difícilmente trasladable a otros sistemas, y ha creado partiendo desde cero un mecanismo totalmente nuevo.
Lo que hace interesante a este nuevo sistema, conocido genéricamente como DBExpress, no es sólo su disponibilidad actual en Linux, como parte del producto Kylix, sino su próxima liberación también para Windows, como parte de Borland Delphi 6. En contraposición a otros mecanismos, como ADO y OLE DB, nos encontramos con la posibilidad de usar exactamente el mismo procedimiento en Windows y Linux a la hora de trabajar con bases de datos.
La finalidad de este artículo es mostrar un esquema general de DBExpress y algunos detalles de su actual implementación en Borland Kylix. Para su redacción se ha utilizado una versión FT4 de Kylix, prácticamente idéntica a lo que será el producto final.

Por qué ahora DBExpress
Desde sus inicios, los entornos de desarrollo rápido, o RAD, de la firma Borland (concretamente Delphi y C++ Builder) han utilizado el BDE como mecanismo de acceso a datos. Se trata de un motor que la empresa también usaba en otros productos no relacionados directamente con el desarrollador, un motor que facilitaba el uso de distintos formatos de bases de datos y la comunicación con servidores como InterBase, SQL Server, Oracle, etc.
Los controladores de bases de datos para BDE son complejos y pesados en cuanto a uso de recursos se refiere, ya que BDE encapsula mucha funcionalidad en un solo objeto, facilitando desde la conexión a la base de datos y la recuperación de conjuntos de datos o datasets hasta su gestión en memoria en el cliente, creando cursores que facilitan la navegación por las filas y su edición.
En contraposición a esto, un controlador DBExpress es mucho más simple y ligero. Su objetivo es tan sólo conectar con la base de datos y devolver un cursor unidireccional. No se traslada todo el conjunto de datos al cliente ni se facilitan operaciones adicionales, obteniéndose un mejor rendimiento y un menor uso de recursos. Al tiempo, esto simplifica considerablemente el desarrollo de nuevos controladores DBExpress.
Los controladores DBExpress están escritos en lenguaje C++, se ejecutan nativamente en cada sistema operativo, y son el único elemento dependiente del sistema que existe en el nuevo mecanismo de acceso a datos desarrollado por Borland. El resto de los componentes, englobados en las categorías DataCLX y VisualCLX, son compatibles entre sistemas, concretamente entre Linux y Windows. Esto significa que Borland tan sólo necesitará reescribir en el futuro, cuando se aborden nuevos sistemas operativos como objetivo, los controladores DBExpress, lo cual tiene completa viabilidad. Trasladar el BDE a otros sistemas, por el contrario, habría requerido un trabajo mucho mayor.
Aparte de la mayor simplicidad para ofrecer un mismo producto en distintas plataformas, este nuevo mecanismo de acceso a datos es más racional. Si una aplicación tan sólo quiere obtener un conjunto de datos para recorrerlo de principio a fin y generar un informe, por poner un ejemplo, puede usar un componente de conexión directa y obtener un cursor unidireccional, mucho más rápido y con menos uso de recursos de lo que requeriría la misma operación usando el BDE.

Componentes de acceso a datos en Kylix
Simplemente con un controlador ligero, como los que forman parte de DBExpress, difícilmente una aplicación podría trabajar de manera simple con una base de datos. Aparte de los controladores DBExpress para InterBase, MySQL, Oracle y DB2, Kylix cuenta con unos grupos de componentes que permitirán al desarrollador crear aplicaciones de todo tipo, desde aquellas que consolidan en un solo puesto la interfaz de usuario, las reglas de negocio y el acceso a datos hasta aplicaciones distribuidas en múltiples capas pasando, lógicamente, por la ya clásica arquitectura cliente/servidor.
Un controlador DBExpress es capaz de conectar con una base de datos, ya sea local o remota, y directamente o a través de un proveedor o broker. La aplicación utiliza los componentes DataCLX para comunicarse con el controlador, indicándole la base de datos con la que desea conectar, el conjunto de datos que quiere obtener, etc. Sólo con estos componentes ya podríamos, aunque sin componentes de interfaz, trabajar con una base de datos.
Cuando lo que se busca es, precisamente, diseñar una interfaz para que el usuario pueda acceder a los datos y manipularlos, aparte del controlador y los componentes DataCLX necesitaremos también algunos de los que forman parte del conjunto VisualCLX. Se trata de componentes habituales, como cajas de texto, listas y similares, pero con la particularidad de que pueden conectarse a componentes DataCLX mediante un intermediario conocido como DataSource.
En función de si la interfaz de usuario y los componentes DataCLX, el controlador DBExpress y la propia base de datos se encuentran en la misma máquina o en máquinas distintas, daremos lugar a distintas configuraciones. En la Figura 1 se encuentran representadas las tres más típicas. La más exterior, con fondo claro, es una configuración en la que todos los componentes, incluida la base de datos, se encuentran en el cliente. Separando el servidor de bases de datos del resto nos encontramos con una configuración cliente/servidor que, al dividir el cliente en dos capas, se convierte finalmente en una configuración distribuida.

DataCLX
Para el desarrollador de aplicaciones, el usuario de Borland Kylix, los controladores DBExpress pasarán prácticamente inadvertidos. Serán instalados en el sistema conjuntamente con el entorno de Kylix y, de manera inmediata, permitirán que los componentes DataCLX, que forma parte de la nueva jerarquía de clases y componentes conocida como CLX, puedan establecer conexiones y trabajar con bases de datos.
Es más lógico, por tanto, que nos centremos en los componentes DataCLX y conozcamos su funcionamiento básico. Estos componentes se encuentran en Kylix en la página denominada DBExpress (véase la Figura 2). Con ellos podremos, por una parte, establecer una conexión con una base de datos y, por otra, obtener un conjunto de datos o dataset.
Siempre que necesitemos crear una conexión con una base de datos deberemos usar un componente TSQLConnection. Es el encargado de alojar todos los parámetros necesarios para determinar qué controlador se utilizará y dónde está la base de datos con la que va a conectarse. A diferencia de lo que ocurría con el BDE, en el que era preciso utilizar una herramienta externa para crear un alias y fijar algunos parámetros, el componente TSQLConnection cuenta con un cua

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información