Web.SQL |
Introducción
Características y Funciones
¿Cómo Funciona Web.sql?
Formato de Archivos Hyper Text Sybase (HTS)
Acceso a los Archivos HTS
Compatibilidad de Sybase Web.sql
Requerimientos
Sumario de la Interfaz
Sybase web.sql es una herramienta para Internet e Intranets con una nueva tecnología que facilita el acceso a bases de datos relacionales desde el World Wide Web, así como también la creación dinámica de documentos personalizados en formato HTML. La herramienta está diseñada para soportar codificación interlineal y llamadas a otros escritos, puesto que se conecta directamente con un servidor Web. El resultado es un mejor rendimiento en el acceso a la base de datos y en el tiempo de respuesta. Además, web.sql integra la tecnología Open Client de Sybase, lo cual permite que los datos de cualquier fuente sean incorporados dinámicamente en las páginas Web.
Con web.sql se extienden las funciones de un servidor Web posibilitando la inserción de instrucciones de bases de datos, tales como sentencias SQL, así como también código de escritos Perl, dentro de un documento en formato HTML. Cuando un cliente browser hace una requisición a estos documentos, web.sql ejecuta los escritos e interpola los resultados dentro del respectivo archivo para devolverlos al Web browser.
La interfaz web.sql reconoce dos tipos de extensiones de archivos: .hts (Hyper Text Sybase) y .pl (Perl). Cuando los archivos tienen la extensión .hts, el cliente browser recibe los resultados en formato HTML puro, ya que las extensiones soportadas por web.sql son procesadas en el servidor Web. Sin embargo, si se requiere que el cliente browser reciba otros tipos de documentos, tales como los archivos con extensiones .gif, entonces se debe especificar el tipo de contenido de dicho documento en un archivo Perl (.pl), antes de enviar los datos al browser.
Es decir, el programa web.sql puede ser utilizado para retornar páginas HTML a un browser en forma dinámica con la ayuda de un archivo HTS. Además, web.sql posibilita la ejecución de un escrito Perl, el cual a su vez puede devolver texto, gráficos, sonido, vídeo o cualquier otro tipo de dato que el Web browser soporte o pueda transferir a una aplicación auxiliar.
Un escrito Perl tiene la facultad de interactuar con una base de datos, tal como lo hace un archivo HTS a través de sentencias SQL. Por ejemplo, se puede emplear un escrito Perl para extraer una imagen de una base de datos.
Esto se logra a través de las dos interfaces de programación de aplicaciones (API) que vienen con web.sql: Convenience API y Client-Library API. Dichas interfaces proveen de un conjunto de rutinas o funciones para ejecutar las operaciones más comunes en un archivo HTS, así como también para llevar a cabo la mayor parte de la interacción con una base de datos. Adicionalmente, estas interfaces posibilitan manejar los datos de los registros que devuelve el servidor SQL.
Existen dos versiones del programa web.sql: CGI y NSAPI. En la versión CGI web.sql opera como un programa CGI. El servidor HTTP ejecuta el programa cada vez que recibe alguna requisición de un archivo HTS. En cambio, en la versión NSAPI el programa de web.sql está directamente conectado al servidor HTTP de Netscape, lo cual elimina las deficiencias que resultan al iniciar el procesador web.sql para cada requisición de archivos HTS o Perl. Esta versión es de alto rendimiento, ya que posibilita al programa web.sql conservar las conexiones a las bases de datos en memoria caché.
Nota para Windows NT: La función de conexión con memoria caché no está disponible para la versión NT de web.sql.
La figura 21 muestra la arquitectura típica de un servidor Web, donde el Web browser hace una requisición de documentos en dicho servidor especificando un URL.
El servidor HTTP interpreta este URL en una ruta para un archivo específico que se encuentra en la máquina servidora que es anfitriona. Si el archivo contiene las extensiones .html, .gif, .jpeg o de cualquier otro tipo que el servidor Web reconozca, el servidor HTTP devuelve el archivo requerido directamente al browser.
En cambio, si el archivo requerido es un programa que reside en un directorio autorizado, el servidor HTTP ejecuta dicho programa de acuerdo al CGI y envía los resultados del programa al Web browser.
Figura 21. Arquitectura típica de un servidor Web.
La figura 22 muestra la arquitectura de un servidor Web con la interfaz web.sql, donde dicho servidor maneja las requisiciones de archivos HTML, tal como se indicó en la figura 21.
Sin embargo, cuando un cliente browser hace una requisición del URL, que es interpretado como un archivo con extensión .hts o .pl, el servidor HTTP pasa la requisición al programa web.sql. Éste lee el archivo especificado, luego procesa las requisiciones a la base de datos y del código Perl contenidas en el archivo. Finalmente compone los resultados en formato HTML para que el servidor HTTP los pase al browser.
Figura 22. Arquitectura de un Servidor Web con Sybase web.sql.
El formato de archivos HTS es una extensión del formato estándar HTML. Se puede incluir cualquier cosa en un archivo HTS inclusive extensiones de HTML, tales como viñetas Java o de JavaScript. El programa web.sql ignora estas viñetas y las remite al servidor HTTP.
Para la funcionalidad de web.sql, los archivos HTS soportan todas las viñetas de HTML 3.0 y una adicional: <SYB>. Este programa interpreta todas las líneas entre las viñetas <SYB> y </SYB>, ya sean éstas sentencias de instrucciones SQL o código Perl. Luego inserta los resultados de esas sentencias en el flujo del HTML que envía al servidor HTTP.
La viñeta <SYB> posee un atributo opcional denominado TYPE. Al incluir "TYPE=SQL", se indica que el bloque <SYB> contiene únicamente sentencias SQL. De igual forma "TYPE=PERL" indica que el bloque <SYB> contiene exclusivamente código Perl. Por cierto, las sentencias Perl pueden contener llamadas a funciones que ejecutan sentencias SQL.
Si no se incluye el atributo TYPE, el procesador web.sql asume que el bloque <SYB> contiene sentencias Perl.
El tipo de contenido que devuelve el formato de archivo HTS para los resultados es exclusivamente HTML. Sin embargo, si es necesario devolver algún otro tipo de contenido, se requerirá de un archivo Perl (.pl) donde se especifique el tipo de contenido, haciendo uso de la función ws_content_type( ).
Para el caso, dentro del archivo Perl grafico.pl, se especifica el contenido image/gif para el archivo foto.gif antes de imprimirlo.
print foto.gif ;
En el siguiente ejemplo de un archivo HTS, cuando un browser hace la requisición a este archivo el procesador web.sql ejecuta las líneas que aparecen entre las viñetas <SYB> y </SYB>, las cuales obtienen la fecha y hora del sistema en el servidor e imprimen el resultado en salida estándar, acompañado de algunas viñetas HTML. El programa web.sql ejecuta el código dentro de los bloques <SYB> e inserta los resultados dentro del flujo HTML que envía al servidor HTTP.
<HEAD><TITLE>Ejemplo</TITLE></HEAD>
<BODY>
<H2><CENTER> Ejemplo de Sybase web.sql con Perl</CENTER></H2>
<SYB TYPE=PERL>
require "ctime.pl";
print "<P>";
print "Fecha: ", "<STRONG>", &ctime(time), "</STRONG>";
print "<P>";
</SYB>
</BODY>
</HTML>
El archivo HTML resultante, enviado al browser, es el siguiente:
<HEAD><TITLE>Ejemplo</TITLE></HEAD>
<BODY>
<H2><CENTER> Ejemplo de Sybase web.sql con Perl</CENTER></H2>
<P>
Fecha: <STRONG> Juev. 05 abril 1997 11:47:08</STRONG>
<P>
</BODY>
</HTML>
Los archivos HTS se abren en un Web browser a través de un URL, tal como se hace con otros documentos HTML. El browser no requiere de extensiones o aplicaciones adicionales.
Por ejemplo, para abrir la página de bienvenida de Sybase web.sql, utilice los siguientes URLs dependiendo de la plataforma:
En Unix
En Windows NT
Donde:
<servidor-www> :<dir-cgi> : | es el nombre del directorio de escritos CGI del servidor Web. | |
ws.exe ó websql : | es el nombre del programa CGI de web.sql. | |
<dir-websql> : | es la ruta del subdirectorio de web.sql en el directorio raíz de los documentos HTML del servidor Web. | |
welcome.hts : | es el nombre de la página de bienvenida de Sybase web.sql. |
Web.sql es un producto comercial de la empresa Sybase, sin embargo ésta provee algunas versiones de prueba o para evaluación por 90 días, las cuales se pueden obtener en el siguiente sitio Web:
http://www.sybase.com/products/internet/websql/ws_reqs.html
La herramienta web.sql se integra perfectamente con capacidades propias para operar con los siguientes productos Sybase:
Sybase web.sql funciona bajo las siguientes plataformas o sistemas operativos:
El paquete de distribución del producto web.sql incluye los siguientes:
Adicionalmente, Sybase provee de un programa tutor para aprender en forma interactiva acerca de web.sql. Este programa se puede obtener gratuitamente del sitio Web de Sybase:
http://www.sybase.com/products/internet/websql/
A continuación, se listan los requerimientos específicos para Sybase web.sql en las respectivas plataformas. El Web browser que se requiere en todos los casos es uno que soporte tablas HTML 3.0.
Web.sql 1.1 para Sun Solaris
Hardware | Sun SPARC estación |
Sistema operativo | Solaris ver. 2.4, 2.5 y 2.5.1 |
Memoria | 16 MB (mínimo) |
Espacio libre en disco | 14 MB |
Base de datos |
|
Servidor Web |
|
Web.sql 1.1 para Windows NT
Hardware |
|
Sistema operativo | Windows NT ver. 3.51 ó 4.0 |
Memoria | 16 MB (mínimo) |
Espacio libre en disco | 35 MB |
Base de datos |
|
Servidor Web |
|
Web.sql 1.0 para SGI IRIX
Hardware | Silicon Graphics estación de trabajo |
Sistema operativo | IRIX ver. 5.3 ó 6.2 |
Memoria | 16 MB (mínimo) |
Espacio libre en disco | 12 MB |
Base de datos | Sybase SQL Server ver. 10 (10.0.2 ó 10.0.3) y 11 |
Servidor Web |
|
Web.sql 1.0 para HP-UX
Hardware | HP-UX estación de trabajo |
Sistema operativo | HP-UX ver. 9.x |
Memoria | 16 MB (mínimo) |
Espacio libre en disco | 12 MB |
Base de datos | Sybase SQL Server ver. 10 (10.0.2 ó 10.0.3) y 11 |
Servidor Web |
|
Nombre | Sybase web.sql ver. 1.0 y 1.1 |
DBMS |
|
Sistemas operativos |
|
Disponibilidad | Comercial, distribuido por Sybase. Disponible versiones de evaluación por 90 días en el siguiente sitio Web: http://www.sybase.com/products/internet/websql/ws_reqs.html
|
Arquitectura | CGI ejecutable y NSAPI En la versión CGI, web.sql se ejecuta como un programa CGI. El servidor HTTP ejecuta el programa cada vez que se recibe una requisición de un archivo HTS. En la versión NSAPI, el programa web.sql está directamente conectado al servidor HTTP de Netscape, posibilitando al programa conservar las conexiones a las bases de datos en memoria caché. |
Características |
|
Fuente de información |