Вы находитесь на странице: 1из 26

Introduccin al WWWISIS 4.

0
WWWIsis XML IsisScript Server

Vinicius de Andrade Antonio


Desarrolo de Tecnologas de Informacin BIREME - OPS -OMS

CRICS V, Cuba - Abril 2001

Definicin
El WWWISIS XML IsisScript Server fue concebido e implementado especialmente para servir de interface entre bases de datos ISIS y servidores Web via CGI (Common Gateway Interface). Los registros de una base de datos ISIS pueden ser convertidos en documentos HTML dinmicamente, es decir, los resultados de una bsqueda o una parte de un archivo maestro pueden ser recuperados y enviados al cliente Web. La salida en HTML es generada via lenguaje de formatacin ISIS. Igualmente, los datos contenidos en un formulario de un cliente Web pueden ser utilizados para actualizar y controlar una base de datos ISIS.

Conceptos Isis - Revisin


Base de Datos = Coleccin de Archivos Archivos:
y master o maestro - almacena los registros de datos propriamente dichos y inverted o invertido - almacena diccionarios / ndices de acceso rpido y iso - archivos de importacin / exportacin y parmetros - de formatacin, de extraccin de llaves, etc

Revisin - Master File


Coleccin de registros Dos archivos inter-relacionados:
master file: <nombre.mst> registros de tamao variable con datos de contenido cross-reference file: <nombre.xrf> registros de tamao fijo con datos de control

Los registros nuevos o los registros modificados son agregados al final del archivo master

Revisin - Registro
Coleccin de campos de datos Layout - 3 componentes
Lder Longitud fija - datos sobre el registro Directorio Longitud variable - una entrada para cada campo de datos Datos Longitud variable - los datos propriamente dichos

Revisin - Campos de datos


Identificado por el tag o nmero de campo Tamao variable Presencia opcional Una o ms ocurrencias (repetitivo) Formado por cero, uno o ms subcampos:
identificados por ^ seguido de letra o nmero el identificador del subcampo es parte del campo de datos subcampo por patrn: ^*

Los campos son extrados del registro via lenguaje de formatacin: <nombre.pft>, etc

Revisin - Inverted File


Diccionario / ndice de acceso rpido Estructuracin :
archivo de control: <nombre.cnt> archivo de nodos: nodos de llaves cortas: <nombre.n01> nodos de llaves largas: <nombre.n02> archivo de hojas: hojas de llaves cortas: <nombre.l01> hojas de llaves largas: <nombre.l02> archivo de postings: <nombre.ifp> Las hojas forman el diccionario de llaves Longitud de las llaves cortas: hasta 10 caracteres Longitud de las llaves largas: desde 11 hasta 30 caracteres

Revisin - Cliente-Servidor
servidor www - Netscape, Microsoft, Apache, Omnihttpd, etc cliente www - browser: Netscape Navigator, Internet Explorer, etc

Modo de operacin
Clientes solicitan documentos via: URL: uniform resource locator
protocolo://servidor/recurso

Servidor responde entregando documentos:


encabezamiento del documento content-type: text/html <linha em branco> cuerpo del documento

Revisin - CGI
CGI - documentos dinmicos ("on the fly")
Common Gateway Interface nuevo proceso Interface con base de datos bsqueda, formatacin en text/html o en text/plain, actualizacin, etc

Mtodos de intercambio de datos


get post

Caractersticas del WWWISIS


No es un programa residente Est pensado para trabajar en ambiente Cliente/Servidor Es activado cada vez que se lo llama y al terminar no deja procesos en memoria Disponible para plataformas Windows 9x, Windows NT, Unix. etc. Trabaja con un archivo de licencia. La versin que se utiliza en el curso puede ser usado en ambiente de prueba.

Ambiente del Curso


Apache webserver
server root script directory script alias server name C:\APACHE\HTDOCS\ C:\APACHE\CGI-BIN\ cgi-bin localhost

Scripts
pginas html scripts cgi WWWIsis
C:\APACHE\HTDOCS\TUTORIAL\ C:\APACHE\CGI-BIN\TUTORIAL\ C:\APACHE\CGI-BIN\

Instalacin y ejecucin
El WWWIsis debe ser instalado en el directorio de scripts del webserver
Apache
Apache\

IIS / PWS
InetPub\

htdocs\ cgi-bin\

wwwroot\ scripts\

Instalacin y ejecucin
WWWISIS puede activarse en un proceso CGI de tres maneras diferentes: Llamando al mdulo ejecutable directamente del campo de edicin de direccin del Browser http://localhost/cgi-bin/wxis.exe?hello Llamando al mdulo ejecutable directamente de un elemento ancla HTML, como argumento del atributo href <a href="/cgi-bin/wxis.exe?IsisScript=example.xis"> WWWISIS anchor call</a>

Instalacin y ejecucin
Llamando al mdulo ejecutable directamente de un elemento de formulario HTML como argumento de accin
<form method= post action="/cgi-bin/wxis.exe"> <input type="hidden" name="IsisScript" value="example.xis"> <input type="submit" name="Enter" value=" Enter "> </form>

Estructura de la Script
La programacin de las scripts se realiza con marcas de programacin (reference.html) Todas comienza y terminan con las siguientes:
<IsisScript> <section>

</section> </IsisScript>

Toda marca se define por pares, una que habre la funcin <...> y otra que la cierra </...>

Scripts

Primer contacto
Mensaje HELLO hello.htm hello.xis

Interaccin con formularios nombre.htm nombre.xis

Trabajando con bases de datos


<IsisScript> <section> <do task= ... > <parm name= .. > </parm> <parm name= ...> </parm> <parm name= ...> </parm> <loop>
Dentro del loop, se accede a los datos del registro; por cada ocurrencia del ciclo se apunta a cada uno de los registros recuperados.

Informa la tarea del WWWIsis Los parm name definen las caracterstica de la tarea (task=)

</loop> </do> </section> </IsisScript>

Tareas <do task= ... >


Mfnrange: Recorre la base por mfn Search: Bsqueda Keyrange: Recorre el diccionario por claves Fullinvertion: Inversin del diccionario Import: Importacin de registros List: Lectura de los items de una lista Update: Actualizacin de registros

Listados
Estructura de la tarea mfnrange
<IsisScript name="listado"> <section> <display><pft>'Content-type: text/html'/#</pft></display> <do task="mfnrange"> <parm name="db">\bases\cds\cds</pft></parm> <parm name="from">10</parm> <parm name="to">20</pft></parm> <loop> <display> <pft>@\bases\cds\cds.pft </pft> </display> </loop> </do> </section> </IsisScript>

Documentacin
<do task 

...>

<parm name ...>

Ejemplo con mfnrange


Desarrollo de un ejemplo de listado por rango de registros.

listado.htm

listado.xis

Bsquedas
Estructura de la tarea search
<IsisScript name=busqueda> <section> <display><pft>'Content-type: text/html'/#</pft></display> <do task=search> <parm name=db>\bases\cds\cds</parm> <parm name=expression>plants</parm> <loop> <display> <pft>@\bases\cds\cds.pft </pft> </display> </loop> </do> </section> </IsisScript>

Ejemplos con search


Desarrollo de tres ejemplos de bsqueda en la base de datos CDS.

busqueda1.htm

busqueda1.xis

tarea de search; desvio del flujo del sistema; variables del sistema

busqueda2.htm busqueda3.htm

busqueda2.xis busqueda3.xis

contadores; concepto de scope

cipar; destacando los trminos buscados

Concepto de Scope
La estructura de un script define zonas en donde se alcanzan o se tiene acceso a las variables de ambiente WXIS y en otras, se acceden a las variables propias de los registros de la base de datos. Se emplean las operaciones de <field action=import...> y <field action=export...> para pasar variables desde una zona (Scope) a otra. Las zonas en una script se pueden mencionar como scope-registro y scope-section.

Accediendo al Diccionario
Estructura de la tarea Keyrange
<IsisScript name=diccionario> <section> <display><pft>'Content-type: text/html'/#</pft></display> <do task=keyrange> <parm name=db>\bases\cds\cds</parm> <parm name=from>PLANTS</parm> <field action=define tag=1>Isis_Key</field> <field action=define tag=2>Isis_Postings</field> <loop> <display><pft>'Trmino: ',v1,' - Postings: ',v2,<br></pft></display> </loop> </do> </section> </IsisScript>

Ejemplos con keyrange


Desarrollo de un ejemplo que muestra una

lista de los trminos del diccionario a partir de la palabra clave ingresada, y otorga la posibilidad de seleccionar del listado un trmino para buscar a los registros relacionados. diccionario.htm diccionario.xis

Gracias

Vinicius de Andrade Antonio


Desarrolo de Tecnologas de Informacin BIREME - OPS -OMS