260 likes | 397 Views
Introducción al WWWISIS 4.0 WWWIsis XML IsisScript Server. CRICS V, Cuba - Abril 2001. Vinicius de Andrade Antonio Desarrolo de Tecnologías de Información BIREME - OPS -OMS. Definición.
E N D
Introducción al WWWISIS 4.0WWWIsis XML IsisScript Server CRICS V, Cuba - Abril 2001 Vinicius de Andrade Antonio Desarrolo de Tecnologías de Información BIREME - 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 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.
Ambiente del Curso • Apache webserver • server root C:\APACHE\HTDOCS\ • script directory C:\APACHE\CGI-BIN\ • script aliascgi-bin • server name localhost • Scripts • páginas htmlC:\APACHE\HTDOCS\TUTORIAL\ • scripts cgiC:\APACHE\CGI-BIN\TUTORIAL\ • WWWIsisC:\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 contacto Mensaje ‘HELLO’ hello.htm hello.xis Interacción con formularios nombre.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 del registro; por cada ocurrencia del ciclo se apunta a cada uno de los registros recuperados. </loop> </do> </section> </IsisScript>
Tareas <do task= ... > • 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
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> Documentación • <do task ...> • <parm name ...>
Ejemplo con mfnrange • Desarrollo de un ejemplo de listado por rango de registros. listado.htm listado.xis
Búsquedas 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 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 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>'Término: ',v1,' - Postings: ',v2,’<br>’</pft></display> </loop> </do> </section> </IsisScript>
Ejemplos 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 alos registros relacionados. diccionario.htm diccionario.xis
Gracias Vinicius de Andrade Antonio Desarrolo de Tecnologías de Información BIREME - OPS -OMS