Title: Introducci
1Introducción al WWWISIS 4.0WWWIsis XML
IsisScript Server
Vinicius de Andrade Antonio Desarrolo de
Tecnologías de Información BIREME - OPS -OMS
- CRICS V, Cuba - Abril 2001
2Definición
- 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 dinámicamente,
es decir, los resultados de una búsqueda o una
parte de un archivo maestro pueden ser
recuperados y enviados al cliente Web. La salida
en HTML es generada via lenguaje de formatación
ISIS. - Igualmente, los datos contenidos en un formulario
de un cliente Web pueden ser utilizados para
actualizar y controlar una base de datos ISIS.
3Conceptos Isis - Revisión
- Base de Datos Colección de Archivos
- Archivos
- master o maestro - almacena los registros de
datos propriamente dichos - inverted o invertido - almacena diccionarios /
índices de acceso rápido - iso - archivos de importación / exportación
- parámetros - de formatación, de extracción de
llaves, etc
4Revisión - Master File
- Colección de registros
- Dos archivos inter-relacionados
- master file ltnombre.mstgt
- registros de tamaño variable con datos de
contenido - cross-reference file ltnombre.xrfgt
- registros de tamaño fijo con datos de control
- Los registros nuevos o los registros modificados
son agregados al final del archivo master
5Revisión - Registro
- Colección de campos de datos
- Layout - 3 componentes
- LíderLongitud fija - datos sobre el registro
- DirectorioLongitud variable - una entrada para
cada campo de datos - DatosLongitud variable - los datos propriamente
dichos
6Revisión - Campos de datos
- Identificado por el tag o número de campo
- Tamaño variable
- Presencia opcional
- Una o más ocurrencias (repetitivo)
- Formado por cero, uno o más subcampos
- identificados por seguido de letra o número
- el identificador del subcampo es parte del campo
de datos - subcampo por patrón
- Los campos son extraídos del registro via
lenguaje de formatación ltnombre.pftgt, etc
7Revisión - Inverted File
- Diccionario / índice de acceso rápido
- Estructuración
- archivo de control ltnombre.cntgt
- archivo de nodos
- nodos de llaves cortas ltnombre.n01gtnodos de
llaves largas ltnombre.n02gt - archivo de hojas
- hojas de llaves cortas ltnombre.l01gthojas de
llaves largas ltnombre.l02gt - archivo de postings ltnombre.ifpgt
- 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
8Revisión - Cliente-Servidor
- servidor www - Netscape, Microsoft, Apache,
Omnihttpd, etc - cliente www - browser Netscape Navigator,
Internet Explorer, etc - Modo de operación
- Clientes solicitan documentos via
- URL uniform resource locator
- protocolo//servidor/recurso
- Servidor responde entregando documentos
- encabezamiento del documento
- content-type text/htmlltlinha em brancogt
- cuerpo del documento
9Revisión - CGI
- CGI - documentos dinámicos ("on the fly")
- Common Gateway Interface - nuevo proceso
- Interface con base de datos - búsqueda,
formatación en text/html o en text/plain,
actualización, etc - Métodos de intercambio de datos
- get
- post
10Características 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 versión
que se utiliza en el curso puede ser usado en
ambiente de prueba.
11Ambiente del Curso
- Apache webserver
- server root C\APACHE\HTDOCS\
- script directory C\APACHE\CGI-BIN\
- script alias cgi-bin
- server name localhost
- Scripts
- páginas html C\APACHE\HTDOCS\TUTORIAL\
- scripts cgi C\APACHE\CGI-BIN\TUTORIAL\
- WWWIsis C\APACHE\CGI-BIN\
12Instalación y ejecución
- El WWWIsis debe ser instalado en el directorio de
scripts del webserver
Apache ?Apache\ ? htdocs\ ? cgi-bin\
IIS / PWS ?InetPub\ ? wwwroot\ ?
scripts\
13Instalación y ejecución
- WWWISIS puede activarse en un proceso CGI de tres
maneras diferentes - Llamando al módulo ejecutable directamente del
campo de edición de dirección del Browser
http//localhost/cgi-bin/wxis.exe?hello
- Llamando al módulo ejecutable directamente de un
elemento ancla HTML, como argumento del atributo
href
lta href"/cgi-bin/wxis.exe?IsisScriptexample.xis"
gt WWWISIS anchor calllt/agt
14Instalación y ejecución
- Llamando al módulo ejecutable directamente de un
elemento de formulario HTML como argumento de
acción
ltform methodpost action"/cgi-bin/wxis.exe"gt
ltinput type"hidden" name"IsisScript"
value"example.xis"gt ltinput type"submit"
name"Enter" value" Enter "gt lt/formgt
15Estructura de la Script
La programación de las scripts se realiza con
marcas de programación (reference.html) Todas
comienza y terminan con las siguientes
ltIsisScriptgt ltsectiongt lt/sectiongtlt/IsisScrip
tgt
Toda marca se define por pares, una que habre la
función lt...gt y otra que la cierra lt/...gt
16Scripts
Primer contacto Mensaje HELLO
hello.htm hello.xis Interacción con
formularios nombre.htm nombre.xis
17Trabajando con bases de datos
- ltIsisScriptgt
- ltsectiongt
-
- ltdo task ... gt Informa la tarea del WWWIsis
- ltparm name .. gt lt/parmgt Los parm name definen
las - ltparm name ...gt lt/parmgt característica de la
tarea (task) - ltparm name ...gt lt/parmgt
-
- ltloopgt
- Dentro del loop, se accede a los datos del
- registro por cada ocurrencia del ciclo se
apunta - a cada uno de los registros recuperados.
- lt/loopgt
- lt/dogt
- lt/sectiongt
- lt/IsisScriptgt
18Tareas ltdo task ... gt
- Mfnrange Recorre la base por mfn
- Search Búsqueda
- Keyrange Recorre el diccionario por claves
- Fullinvertion Inversión del diccionario
- Import Importación de registros
- List Lectura de los items de una lista
- Update Actualización de registros
19Listados
Estructura de la tarea mfnrange
ltIsisScript name"listado"gt ltsectiongt ltdisplaygtltpf
tgt'Content-type text/html'/lt/pftgtlt/displaygt ltdo
task"mfnrange"gt ltparm name"db"gt\bases\cds\
cdslt/pftgtlt/parmgt ltparm name"from"gt10lt/parmgt
ltparm name"to"gt20lt/pftgtlt/parmgt
ltloopgt ltdisplaygt ltpftgt _at_\bases\cds\cds.pft
lt/pftgt lt/displaygt lt/loopgt lt/dogt
lt/sectiongt lt/IsisScriptgt
- Documentación
- ltdo task ...gt
- ltparm name ...gt
20Ejemplo con mfnrange
- Desarrollo de un ejemplo de listado por rango de
registros.
listado.htm listado.xis
21Búsquedas
Estructura de la tarea search
- ltIsisScript namebusquedagt ltsectiongt
ltdisplaygtltpftgt'Content-type text/html'/lt/pftgtlt/d
isplaygt - ltdo tasksearchgt ltparm
namedbgt\bases\cds\cdslt/parmgt ltparm
nameexpressiongtplantslt/parmgt
ltloopgt ltdisplaygt ltpftgt_at_\bases\cds\cds.pft
lt/pftgt lt/displaygt lt/loopgt - lt/dogt lt/sectiongtlt/IsisScriptgt
22Ejemplos con search
- Desarrollo de tres ejemplos de búsqueda en la
base de datos CDS.
- busqueda1.htm busqueda1.xis
- tarea de search desvio del flujo del sistema
variables del sistema
- busqueda2.htm busqueda2.xis
- contadores concepto de scope
- busqueda3.htm busqueda3.xis
- cipar destacando los términos buscados
23Concepto 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 ltfield
actionimport...gt y ltfield actionexport...gt para
pasar variables desde una zona (Scope) a otra.
Las zonas en una script se pueden mencionar como
scope-registro y scope-section.
24Accediendo al Diccionario
Estructura de la tarea Keyrange
- ltIsisScript namediccionariogt
- ltsectiongt
- ltdisplaygtltpftgt'Content-type
text/html'/lt/pftgtlt/displaygt - ltdo taskkeyrangegt
- ltparm namedbgt\bases\cds\cdslt/parmgt
- ltparm namefromgtPLANTSlt/parmgt
- ltfield actiondefine tag1gtIsis_Keylt/fi
eldgt - ltfield actiondefine tag2gtIsis_Posting
slt/fieldgt - ltloopgt
- ltdisplaygtltpftgt'Término ',v1,' -
Postings ',v2,ltbrgtlt/pftgtlt/displaygt - lt/loopgt
- lt/dogt
- lt/sectiongt
- lt/IsisScriptgt
25Ejemplos con keyrange
- Desarrollo de un ejemplo que muestra una lista de
los términos del diccionario a partir de la
palabra clave ingresada, y otorga la posibilidad
de seleccionar del listado un término para buscar
a los registros relacionados.
diccionario.htm diccionario.xis
26Gracias
Vinicius de Andrade Antonio Desarrolo de
Tecnologías de Información BIREME - OPS -OMS