IQuery

[Contenido] [Anterior] [Siguiente]

Introducción

¿Cómo Funciona?

Características y Funciones

Comandos IQuery

IQuery y el CGI

Compatibilidad y Disponibilidad de IQuery

Requerimientos

Linux y SCO

Windows

Sumario de la Interfaz IQuery


Introducción

IQuery es un motor de búsquedas interactivo para bases de datos Micro CDS/ISIS. Fue desarrollado de acuerdo a las especificaciones de ISIS 3.0 y ha sido diseñado para ejecutarse en tres modalidades: como una línea de comandos interactiva, como un programa CGI en servidores Web y como un intérprete que obtiene las instrucciones de un archivo. IQuery funciona en las plataformas Linux, SCO y DOS.

Con esta interfaz es posible incrustar dentro de un formulario HTML código de comandos reconocidos por IQuery para interactuar con la base de datos ISIS, de tal forma que dichos comandos son transferidos con el CGI al programa IQuery a través del servidor Web.

Además, IQuery no trabaja con el formato de despliegue de resultados que utiliza el programa Micro CDS/ISIS, puesto que IQuery es un software orientado a clientes Web que poseen su propio lenguaje de formato HTML.

¿Cómo Funciona ?

Cuando se inicia IQuery, lo primero que hace es buscar el archivo de parámetros SYSPAR.PAR en el directorio predeterminado de instalación de ISIS o bien, la ruta de directorio que se puede especificar al programa con el parámetro ‘-conf <ruta>’. En el archivo SYSPAR.PAR se busca la ruta de directorio donde residen los archivos de las bases de datos.

Luego, IQuery cambia a una de las tres modalidades que se haya especificado: línea de comandos, HTML (parámetro -html) o intérprete de archivo (parámetro -file). En cualquier caso IQuery lee y procesa una línea a la vez desplegando los resultados en salida estándar.

Adicionalmente, el motor de búsquedas posee dos parámetros especiales, los cuales son: ‘-nocase’ y ‘-nostrict’. El primero permite buscar palabras claves sensitivas a las letras mayúsculas y minúsculas; el segundo toma en cuenta los espacios en blanco al principio y al final de la palabra clave a buscar.

La siguiente línea muestra la sintaxis general de IQuery con todo los parámetros que se pueden especificar para su correcta ejecución:

iquery [-conf <ruta-isis>][-html | -file <ruta-archivo>][-nocase][-nostrict]

En la modalidad CGI, IQuery se ejecuta como se muestra en la figura 14. Cuando un cliente browser remite un formulario HTML de consulta, el servidor Web ejecuta el programa CGI de IQuery con todos los parámetros necesarios. Este programa se encarga de interactuar directamente con al base de datos ISIS, ejecuta la consulta y procesa los resultados remitiéndolos al servidor Web para que éste los devuelva al cliente browser.

Figura 14. Arquitectura de un Servidor Web con la interfaz IQuery.

 

Características y Funciones

El motor IQuery puede ejecutarse en tres modalidades para poder consultar una base de datos ISIS: en una línea de comandos interactiva en el shell del sistema operativo, como un programa CGI en un servidor Web o como un intérprete que toma las instrucciones contenidas en un archivo. En las tres modalidades se requiere especificar los parámetros respectivos.

IQuery reconoce ciertos comandos para interactuar con la base de datos ISIS. Particularmente, IQuery trabaja con una sentencia de consulta a la base de datos que posee una estructura muy similar a la de una sentencia SQL: SELECT… FROM…WHERE. En dicha sentencia se abre una base de datos, itera sobre ella en forma secuencial o en base a un índice, pasa aquellos registros que cumplen con la condición de consulta e imprime los resultados según el formato de despliegue especificado.

En la condición de consulta se pueden emplear operadores para comparar textos y números, así como también, se pueden incluir operadores booleanos para unir dos o más condiciones en una consulta, lo cual es muy común para delimitar la requisición de búsqueda en bases de datos.

El formato de despliegue no es el que utiliza el programa Micro CDS/ISIS, puesto que IQuery es un software orientado a clientes Web que poseen su propio lenguaje de formato HTML.

El programa IQuery traduce la sentencia de consulta a una estrategia de consulta ISIS. Abre la base de datos y construye todas las estructuras necesarias para manejar la información contenida en la base de datos. IQuery posibilita abrir más de una base de datos al mismo tiempo.

Comandos IQuery

IQuery reconoce los siguientes comandos que se pueden especificar en las tres modalidades en que se ejecuta dicha interfaz.

Fileprint <archivo>

Lee un archivo y despliega su contenido. Puede especificar la ruta completa del archivo o uno relativo al directorio ISIS.

Strprint <texto>

Imprime el texto que se especifique en cualquier formato, inclusive HTML.

Open <archivo>:<alias>

Abre el archivo de la base de datos y le asigna un nombre alias.

Close <alias>

Cierra y libera memoria de la estructura del archivo de la base de datos que fue creada previamente por un comando Open.

Closeall

Cierra cualquier base de datos abierta.

 

Select <formato+campos> From <archivo1>:<alias1>[, <archivo2>:<alias2>,…]

Abre todas las bases de datos asociándoles el respectivo nombre alias y se mantienen abiertas hasta que IQuery termine de ejecutarse o se encuentre un comando Close/Closeall.

Itera sobre la base de datos ISIS e imprime los resultados de acuerdo al formato de despliegue, para aquellos registros que cumplen la condición de consulta.

Version

Imprime la versión de IQuery y cierta información acerca de la versión registrada del producto o la fecha de expiración de la versión de evaluación. Sólo funciona en la modalidad de línea de comandos.

IQuery y el CGI

En la modalidad de línea de comandos o de intérprete de archivo, IQuery no requiere más que los parámetros especificados por el usuario en una sentencia, la cual se constituye en la orden a procesar por IQuery. Además, el programa IQuery puede estar instalado en cualquier directorio del servidor Web.

En el modo HTML, hay tres cosas a tomar en cuenta cuando se pasan los datos al programa IQuery:

  1. El archivo del programa IQuery debe residir en el directorio de escritos CGI del servidor Web con el nombre iquery.cgi.
  2. Además, se debe especificar el nombre de este programa en el URL del formulario HTML de consulta (atributo ACTION de la etiqueta <FORM>). IQuery soporta ambos métodos GET y POST (recomendado).
  3. Si se requiere transferir más de un parámetro de línea de comando al programa CGI de IQuery, puede añadir una etiqueta <INPUT TYPE="hidden"> con el atributo NAME="HTMLPARAMS" y VALUE igual a los parámetros como ‘-nocase’ o ‘-nostrict’.

    Nota: Solo se puede pasar el parámetro ‘-html’ directamente al programa CGI de IQuery en el atributo ACTION de la etiqueta <FORM>.

  4. IQuery obtiene las sentencias de comandos de la variable QUERY, por lo cual deberá incluir una etiqueta <INPUT TYPE="hidden" NAME="QUERY"> con el atributo VALUE igual al código IQuery, en el cual, cada sentencia debe separarse por el carácter ‘;’.
  • Adicionalmente, es posible sustituir dentro del código IQuery, el valor introducido en alguna variable del formulario HTML. Para ello, se emplea el carácter $ seguido del nombre de la variable encerrada entre los caracteres {}.

    En el siguiente ejemplo se imprime el contenido de la variable ‘busqueda’ transferida a IQuery:

  • strprint ${busqueda};
  • A continuación se muestra una sección completa de un formulario HTML, contenida en una página Web para interactuar con una base de datos ISIS haciendo uso de la interfaz IQuery.

    Consiste de un campo para que el usuario ingrese la palabra clave a buscar y una lista de opciones con botones de radio para seleccionar el campo por el cual se hará la consulta.

     

    Nótese que se incluye el parámetro ‘-html’ en el URL dentro del atributo ACTION de la etiqueta <FORM> lo cual indica al programa IQuery su ejecución en modalidad CGI.

    Por otra parte se ha incluido la variable HTMLPARAMS para agregar el parámetro ‘-nocase’. En la variable QUERY se especifica con el código IQuery la sentencia de consulta que se ejecutará con la base de datos ISIS. Nótese que el formato de despliegue será tabular.

    Adicionalmente se incluyen dos comandos para imprimir un encabezado y pie de página en el despliegue de resultados.

    <form method="post" action="http://<servidor-www>/<dir-cgi>/iquery.cgi?-html">

    Ingrese la palabra clave a buscar: <br><input type="text" name="clave" size=40><br>Buscar por el campo:<input type="radio" name="campo" value="40" checked>Section

    <input type="radio" name="campo" value="20">Nombre<input type="radio" name="campo" value="30">Dirección<input type="submit" value="Search"><input type="hidden" name="HTMLPARAMS" value="-nocase"><table>

    <input type="hidden" name="QUERY" value="fileprint <directorio>/encab_pag;strprint <p><b> Usted buscó por: </b><i> ${clave}</i>;

    select <tr><td>%cor.10</td><td>%cor.20</td><td>%cor.30</td>

    <td>%cor.40</td></tr>;from CORPOR:cor;where cor.${campo}=${clave};fileprint <dir-htdocs>/pie_pag">

    </table>

    </form>

    Compatibilidad y Disponibilidad de IQuery

    IQuery es un producto comercial desarrollado por Alejandro Ferreira Guido (Uruguay), que permite consultar bases de datos Micro CDS/ISIS bajo las siguientes plataformas o sistemas operativos: SCO Unix, Linux, WINDOWS NT y WINDOWS95, DOS/WINDOWS 3.1

    Puede adquirirse por 30 días una versión de evaluación de la herramienta en los siguientes sitios:

  • http://www.reu.edu.uy/~root/iquery.html

    http://www.gti.net/reu/iquery

    ftp://ftp.reu.edu.uy/pub/iquery

  • El software de distribución consiste únicamente en un archivo ejecutable del programa IQuery (iquery.cgi).

    Requerimientos

    A continuación, se listan los requerimientos específicos para IQuery en las plataformas Unix y Windows. El Web browser requerido en ambos casos es uno que soporte formato HTML 2.0 o superior.

    Linux y SCO

    Hardware

    • PC con procesador Intel 486 o superior
    • Monitor color VGA o superior

    Sistema operativo

    • Linux ver. 1.2.13 o superior.
    • SCO Unix

    Memoria

    16 MB (mínimo)

    Espacio en disco

    45 KB (Linux), 75 KB (SCO)

    Base de datos

    Micro CDS/ISIS ver. 3.0 o superior. De UNESCO

    Servidor Web

    Cualquiera que soporte CGI ver. 1.1, como: NCSA, Apache, etc.

    Windows

    Hardware

    • PC con procesador Intel 486 o superior
    • Monitor color VGA o superior

    Sistema operativo

    • Windows NT ver. 3.51 ó 4.0
    • Windows 95

    Memoria

    16 MB (mínimo)

    Espacio en disco

    60 KB

    Base de datos

    Micro CDS/ISIS ver. 3.07 de UNESCO

    Servidor Web

    Cualquiera que soporte CGI ver. 1.1, como: Netscape, WebSite, MS Internet Information Server ver. 1.0 o superior, OmniHTTPd, etc.

    Sumario de la Interfaz IQuery

    Nombre

    IQuery ver. 1.0.3 Engine

    Bases de Datos

    Micro CDS/ISIS ver. 3.0 o superior. de UNESCO

    Sistemas operativos

    • Linux
    • SCO
    • Windows NT y Windows95
    • DOS/Windows

    Disponibilidad

    Comercial, disponible para cada plataforma versiones de evaluación por 30 días en los siguientes sitios:

    http://www.reu.edu.uy/~root/iquery.html

    http://www.gti.net/reu/iquery

    ftp://ftp.reu.edu.uy/pub/iquery

    Arquitectura

    CGI ejecutable. Diseñado para ser ejecutado en tres modalidades: como línea de comandos, como programa CGI en servidores Web y como intérprete de un archivo.

    Características

    • Soporta operadores booleanos y enteros.
    • Funciona en tres modalidades: como línea de comandos, como programa CGI y como intérprete de un archivo.
    • Soporta incrustar comandos IQuery en páginas Web.
    • Solo permite la consulta a una base de datos ISIS.
    • Construye la estrategia de búsqueda con una sintaxis propia y no la de ISIS.
    • No requiere hacer alguna conversión a las bases de datos ISIS.
    • No se requiere ejecutar el programa Micro CDS/ISIS, sólo trabaja con los archivos de la base de datos, que pueden estar en el mismo servidor o en otro equipo de una red.

    Fuente de información

    Interactive Query for CDS/ISIS Search System

    http://www.reu.edu.uy/~root/iquery.html

    http://www.gti.net/reu/iquery

    Prof. Marcelo Kruk, IQuery for CDS/ISIS Developer Group

    iquery-team@reu.edu.uy


    [Contenido] [Anterior] [Arriba] [Siguiente]