Introducción al 4.0 XML IsisScript Server
description
Transcript of Introducción al 4.0 XML IsisScript Server
Introducción al WWWISIS 4.0WWWIsis XML IsisScript Server
CRICS V, Cuba - Abril 2001
Vinicius de Andrade AntonioVinicius de Andrade AntonioDesarrolo de Tecnologías de InformaciónDesarrolo de Tecnologías de Información
BIREME - OPS -OMSBIREME - OPS -OMS
Definició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.
Conceptos 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
Revisión - Master File
Colección de registros
Dos archivos inter-relacionados:
master file: <nombre.mst>
registros de tamaño variable con datos de contenido
cross-reference file: <nombre.xrf>
registros de tamaño fijo con datos de control
Los registros nuevos o los registros modificados son agregados al final del archivo master
Revisió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
Revisió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: <nombre.pft>, etc
Revisión - Inverted File
Diccionario / índice de acceso rápido
Estructuración :
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
Revisió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/html<linha em branco>
cuerpo del documento
Revisió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
Características del WWWISIS
No es un programa residenteEstá pensado para trabajar en ambiente
Cliente/ServidorEs activado cada vez que se lo llama y al
terminar no deja procesos en memoriaDisponible 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.
Ambiente 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\
Instalació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\
Instalació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
<a href="/cgi-bin/wxis.exe?IsisScript=example.xis"> WWWISIS anchor call</a>
Instalación y ejecución
Llamando al módulo ejecutable directamente de un elemento de formulario HTML como argumento de acción
<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 programación de las scripts se realiza con marcas de programación (reference.html)
Todas comienza y terminan con las siguientes:
<IsisScript> <section>
</section></IsisScript>
Toda marca se define por pares, una que habre la función <...> y otra que la cierra </...>
Scripts
Primer contactoPrimer contacto Mensaje ‘HELLO’
hello.htm hello.xis
Interacción con formulariosnombre.htm nombre.xis
Trabajando con bases de datos<IsisScript><section> <do task= ... > Informa la tarea del WWWIsis
<parm name= .. > </parm>Los parm name definen las <parm name= ...> </parm> característica de la tarea (task=)<parm name= ...> </parm> <loop>
Dentro del loop, se accede a los datos delregistro; por cada ocurrencia del ciclo se apunta a cada uno de los registros recuperados.
</loop> </do> </section></IsisScript>
Tareas <do task= ... >
Fullinvertion: Inversión del diccionario Import: Importación de registrosList: Lectura de los items de una listaUpdate: Actualización de registros
Mfnrange: Recorre la base por mfnSearch: BúsquedaKeyrange: Recorre el diccionario por claves
Listados
<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>
DocumentaciónDocumentación<do task ...>
<parm name ...>
Estructura de la tarea Estructura de la tarea mfnrangemfnrange
Desarrollo de un ejemplo de listado por rango de registros.
Ejemplo con mfnrange
listado.htm listado.xis
BúsquedasEstructura de la tarea Estructura de la tarea searchsearch
<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 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
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
<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>'Término: ',v1,' - Postings:
',v2,’<br>’</pft></display> </loop>
</do> </section></IsisScript>
Estructura de la tarea KeyrangeEstructura de la tarea Keyrange
Ejemplos con keyrange
diccionario.htm diccionario.xis
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.
Gracias
Vinicius de Andrade AntonioVinicius de Andrade AntonioDesarrolo de Tecnologías de InformaciónDesarrolo de Tecnologías de Información
BIREME - OPS -OMSBIREME - OPS -OMS