lunes, 21 de abril de 2008

Bases de Datos en la Red

WWW y las bases de datos
Ferran Cardona Alfaras
Revista TI-Magazine
Bases de datos comerciales

De entre los distintos recursos de gestión, diseño e implementación de bases de datos (SGDB), podemos encontrar diferentes sistemas que han sido desarrollados por varias empresas especializadas en el tema. Todas ellas usan de una forma más o menos particular el lenguaje SQL, o al menos sus estándares más usuales.

Bases de datos : mSQL, DB2, Informix, Ingres, Paradox, DBase, Oracle, Gserver-Oracle PL/SQL, SQL/DS, Sybase, Sybase SQL Server, Access, 4GL FAQ.

Las empresas más significativas en el ámbito de las bases de datos, han evolucionado hacia los extremos opuestos a los implantados en sus inicios.

Así, por ejemplo Oracle, una de los más prestigiosos desarrolladores, era en su inicio, de dedicación a grandes redes de ordenadores, gestionando bases de datos de Tetabytes distribuidas (Oracle server) que con el tiempo ha progresado hacia los entornos más reducidos de ordenadores (Oracle workgroup).

Microsoft por su parte, iniciado para entornos personales (Access), está creciendo hacia las tecnologías de múltiples accesos telemáticos a bases de datos (MS SQL server).


SGBD + WWW

Las aplicaciones en el World Wide Web, están siendo revolucionadas gracias a las bases de datos. Los clientes WWW constituyen herramientas, en plena evolución para la edición y la modificación, fuertemente adaptadas para consultas. El acceso a base de datos representa su porvenir.

En un futuro muy cercano, los clientes con soporte de Javascript, permitirán la edición y modificación de forma sencilla y ágil, se podrán usar paneles, campos multiregistro y con capacidades del canal de transmisión adecuadas, una portabilidad de los datos más eficiente y distribuida. Para ello, también se requiere de navegadores que se adapten a los parámetros descritos, actualmente, Netscape ha lanzado la versión 3.0 de su navegador, que incorpora algunas peculiaridades que acercan a la previsión de futuro (ver sección 3.4).

En el WWW los métodos de acceso a bases de datos se pueden clasificar en dos categorías. Las dos están basadas en el uso de scripts CGI. En la primera, el desarrollador escribe su script CGI e inserta en él todo el código SQL necesario para su tratamiento. Este primer caso es el utilizado en nuestro sistema de búsqueda. En la segunda, utiliza un script CGI estándar (que es instalado por el administrador del servidor). Este script constituye el interfaz con el sistema gestor de la base de datos (SGBD).

La unión de las SGBD y el WWW es el encuentro de dos tecnologías Cliente/Servidor. El navegador es el cliente de un servidor HTTP que a su vez es un cliente del servidor de base de datos. Por tanto, es imprescindible que el servidor HTTP pueda actuar como cliente del SGBD. Para ello, se presentan dos soluciones :

El servidor HTTP y el SGBD se instalan en la misma máquina. Es la configuración más simple. Entonces únicamente se necesitan productos de desarrollo distribuidos con el SGBD, como por ejemplo API en C o librerías que permitirían insertar comandos SQL en lenguajes de programación clásicos.

En este primer caso aparece un solo nivel de cliente-servidor, es representado en el esquema siguiente :


El servidor HTTP y el SGBD se instalan en máquinas diferentes. En este caso, el diálogo entre estas dos máquinas se hace a través de la red. Además de los productos de desarrollo suministrados con su SGBD, se necesita instalar la capa de red de este SGBD.

Este segundo caso en el que aparecen dos niveles de arquitectura cliente-servidor, se representa en el siguiente esquema :


El primer sistema, consiste en desarrollar un script CGI utilizando un lenguaje de programación junto con una extensión de este (destinada a la consulta de bases de datos). De este modo, es posible insertar consultas SQL en el código. Este es nuestro caso en el motor de búsqueda desarrollado con Delphi, que envía al SGBD un query SQL, después el mismo script lo traducirá a formato HTML.


El segundo método, consiste en colocar un script que haga de interfaz entre el SGBD y el servidor http. Este script se realiza únicamente sobre el servidor de bases de datos mediante comandos SQL. El script se limita a ejecutar estos comandos sobre el servidor con los parámetros adecuados y de recuperar los datos (ya formateados) que el propio servidor le envía. Los parámetros pasados SGBD son los valores de los campos de edición del formulario utilizado para llamar al script. Este método no es útil, si como en nuestro caso se usa el método post, donde algunas de las variables de entorno que se intercambian entre el cliente y el servidor, no existen dado que son exclusivas para el método get, más obsoleto.


En este método, el desarrollo es trasladado al SGBD, el cual ejecuta los comandos SQL necesarios para la búsqueda o demás peticiones a efectuar.