CORVU dbCGI |
DbCGI es una interfaz CGI entre bases de datos SQL y el World Wide Web, desarrollada por CorVu Pty Ltd (Australia). Esta interfaz puede interactuar con diversos sistemas abiertos de bases de datos SQL, como Informix, Ingres, ODBC, Oracle, Progress y Sybase, a través del Web.
La herramienta dbCGI posibilita crear dinámicamente documentos personalizados en formato HTML, tales como formularios, tablas y reportes complejos. Además, dbCGI está diseñado para soportar codificación interlineal de sentencias SQL para interactuar con las bases de datos. Cuando un cliente browser hace una requisición a documentos dbCGI, el programa ejecuta las requisiciones a las bases de datos e interpola los resultados dentro del respectivo archivo para devolverlos al Web browser.
DbCGI puede utilizarse con cualquier bases de datos SQL que soporte acceso dinámico con el lenguaje C.
Las funciones principales de esta interfaz son:
Estas funciones de dbCGI permiten crear fácilmente páginas Web para acceder y/o actualizar bases de datos.
En la siguiente figura se muestra la arquitectura de un servidor Web con la interfaz dbCGI. Cuando un cliente browser hace una requisición de URL, que es interpretado como un archivo dbCGI, el servidor HTTP pasa la requisición al programa dbCGI. Éste lee el archivo especificado, luego procesa las requisiciones a la base de datos contenidas en dicho archivo. Finalmente compone los resultados en formato HTML para que el servidor HTTP los remita al cliente browser.
Figura 6. Arquitectura de Servidor Web con interfaz dbCGI.
El formato de los archivos dbCGI es una extensión del formato estándar HTML, el cual soporta las etiquetas especiales <sql> y </sql>; así como también, especificaciones de formatos que comienzan con el carácter %.
DbCGI trabaja con ciertos subcomandos SQL para ejecutar acciones sobre una base de datos, los cuales son de la forma:
PARAM1=valor1
PARAM2=valor2
.
PARAMn=valorn
</sql>
Cada DBMS puede reconocer diferentes parámetros para cada uno de los subcomandos SQL. Si se emplea un parámetro no reconocido por el DBMS en un subcomando, el parámetro será ignorado.
Los subcomandos que reconoce dbCGI son los siguientes:
init : | Inicia el DBMS. |
uninit : | Termina el DBMS. |
connect : | Establece la conexión a la base de datos. |
Disconnect : | Termina la conexión a la base de datos. |
query : | Emite una consulta SQL a la conexión de la base de datos. |
execute : | Emite una instrucción o comando SQL a la conexión de la base de datos. |
format : | Da formato a los resultados de una consulta a la base de datos. |
Headings : | Da formato a los encabezados de los resultados de una consulta a la base de datos. |
error : | Especifica un formato para el despliegue de errores desde la base de datos. |
valarg : | Valida argumentos recibidos a través de la requisición HTTP. |
valform : | Valida los datos recibidos de variables de formularios HTML. |
Las especificaciones de formato de despliegue proveen de un mecanismo completo para presentar los resultados de la consulta a un base de datos en una página Web; así como también para diseñar formularios que permitan actualizar una base de datos. Para ello, se emplean las sustituciones con el carácter %, las cuales pueden aplicarse en cualquier parte de un archivo dbCGI.
En el siguiente ejemplo se muestra el contenido de un archivo dbCGI que accede a una base de datos Informix, a través de una consulta sencilla a la tabla Clientes de la base de datos Tiendas. Luego se especifica el formato de despliegue de los resultados que consiste de una lista del contenido de los campos de datos ciudad, código postal y correo electrónico (columnas 7, 8 y 9, respectivamente).
<sql init>
INFORMIXDIR=/usr/informix
SQLEXEC=/usr/informix/lib/sqlturbo
TBCONFIG=tbconfig
</sql>
<sql connect conn1>
DATABASE=tiendas
</sql>
<sql format>
%7d<BR>
%8d<BR>
%9d<BR>
</sql>
<sql query conn1>
select * from clientes order by ciudad, postal, email
</sql>
<sql disconnect conn1>
</sql>
<sql uninit>
<sql>
Los archivos dbCGI pueden residir en el directorio raíz de documentos HTML del servidor Web y su nombre puede tener cualquier extensión (por ejemplo .sql ó .cgi). Dichos archivos se acceden desde el browser Web con el siguiente URL:
http://<servidor-www>/<dir-cgi>/<prog-dbcgi>/<archivo>
Donde:
<servidor-www> : | es el nombre o dirección IP del servidor Web. |
<dir-cgi> : | es el nombre del directorio de escritos CGI del servidor Web, donde se encuentra el programa ejecutable de dbCGI. |
<prog-dbcgi> : | es el nombre del programa ejecutable de dbCGI, correspondiente a la base de datos. |
<archivo> : | es el nombre del archivo dbCGI (.sql ó .cgi), ubicado en el directorio raíz de documentos HTML en el servidor Web. |
DbCGI es una interfaz completamente gratis, desarrollada por CorVu Pty Ltd (Australia) sin algún tipo de soporte. Puede adquirirse el software en el siguiente sitio Web:
http://www.corvu.com.au/dbcgi/
La herramienta es compatible con cualquier sistema abierto de base de datos SQL, tales como Informix, Ingres, ODBC, Oracle, Progres y Sybase; y puede operar en las plataformas Unix y Windows.
El software de distribución de dbCGI incluye el código fuente para Unix y la versión ODBC, la cual consiste en un programa WinCGI ejecutable (odbccgi.exe). También se incluye una pequeña documentación sobre la instalación de dbCGI en Unix y sobre el uso de dicha interfaz.
A continuación, se listan los requerimientos específicos para dbCGI en la plataforma Windows. Para las demás plataformas UNIX se asume unos requerimientos estándar para servidores Web que soporten CGI 1.1, además de los DBMS con los que se utilizará la interfaz. El Web browser requerido en todos los casos es uno que soporte formato HTML 2.0 o superior.
Hardware |
|
Sistema operativo |
|
Memoria | 16 MB (mínimo) |
Espacio en disco | 460 KB |
Base de datos | Cualquiera que soporte ODBC de 32 bits ver. 2.5 o superior (en inglés), tales como Access, FoxPro, Visual FoxPro, Paradox, Btrieve, dBase, Excel, etc. |
Servidor Web | Cualquiera que soporte CGI 1.1 y WinCGI 1.3, como: Netscape, WebSite, MS Internet Information Server ver. 2.0 o superior, OmniHTTPd, etc. |
Nombre | Corvu dbCGI ver. 1.01 |
Bases de Datos |
|
Sistemas operativos |
|
Disponibilidad | Gratis, distribuido por CorVu Pty Ltd (Australia) sin ningún tipo de soporte, en el siguiente sitio Web: |
Arquitectura | CGI y WinCGI ejecutables. El servidor HTTP ejecuta el programa dbCGI cada vez que recibe una requisición de un archivo dbCGI. |
Características |
|
Fuente de información CorVu Pty Ltd (Australia):