DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad...

40
DENODO ITPILOT 4.1 MANUAL DE USUARIO Update 2 (17 Mar. 2008)

Transcript of DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad...

Page 1: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

DENODO ITPILOT 4.1 MANUAL DE USUARIO

Update 2 (17 Mar. 2008)

Page 2: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

NOTA Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento puede ser copiada, fotografiada, fotocopiada, transmitida electrónicamente, almacenada en un sistema de gestión documental o reproducida mediante cualquier otro mecanismo sin la autorización previa o por escrito de denodo.

copyright © 2008 Queda prohibida la reproducción total o parcial de este documento sin la autorización por escrito de denodo technologies

Page 3: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

ÍNDICE

PREFACIO I ALCANCE..................................................................................................................................................................... I QUIÉN DEBERÍA USAR ESTE MANUAL ................................................................................................................. I RESUMEN DE CONTENIDOS.................................................................................................................................... I

1 INTRODUCCIÓN ..................................................................................................................................... 1 1.1 ENTORNOS DE DENODO ITPILOT ....................................................................................................... 2

1.1.1 Herramienta de Administración................................................................................................................ 3 1.1.2 Entorno de Generación.............................................................................................................................. 3 1.1.3 Entorno de Ejecución................................................................................................................................. 4 1.1.4 Entorno de Mantenimiento ....................................................................................................................... 4

2 DISTRIBUCIÓN DE LOS ENTORNOS................................................................................................... 6 2.1 DISTRIBUCIÓN DEL ENTORNO DE GENERACIÓN............................................................................ 6 2.2 DISTRIBUCIÓN DEL ENTORNO DE EJECUCIÓN ............................................................................... 6 2.3 DISTRIBUCIÓN DEL ENTORNO DE MANTENIMIENTO ................................................................... 7

3 INSTALACIÓN Y CONFIGURACIÓN INICIAL ..................................................................................... 9

4 EJECUCIÓN ........................................................................................................................................... 10 4.1 ARRANQUE DEL SERVIDOR DE ADMINISTRACIÓN ...................................................................... 10 4.2 ARRANQUE DEL POOL DE NAVEGADORES..................................................................................... 10 4.3 ARRANQUE DEL SERVIDOR DE WRAPPERS................................................................................... 10 4.4 ARRANQUE DEL SERVIDOR DE MANTENIMIENTO....................................................................... 10 4.5 ARRANQUE DEL SERVIDOR DE CONVERSIÓN PDF ....................................................................... 10

5 HERRAMIENTA WEB DE ADMINISTRACIÓN ................................................................................. 11 5.1 ARRANQUE DE LOS SERVIDORES .................................................................................................... 11 5.2 CONFIGURACIÓN DEL POOL DE NAVEGADORES .......................................................................... 12

5.2.1 Identificación del pool y asignación de puertos ..................................................................................... 13 5.2.1.1 Comparación entre la utilización del pool de navegadores y del cliente http ......................... 14

5.2.2 Configuración de los Navegadores del Pool........................................................................................... 14 5.2.3 Proxy con Autenticación.......................................................................................................................... 15 5.2.4 Configuración de la conversión HTML.................................................................................................... 16 5.2.5 Configuración del navegador web Firefox .............................................................................................. 16 5.2.6 Tamaño del Pool y Política de Reutilización de Navegadores................................................................ 17

5.2.6.1 Políticas de Reutilización de Navegadores............................................................................... 18 5.2.7 Inicialización del Pool.............................................................................................................................. 19 5.2.8 Ejecución y parada del Pool de Navegadores......................................................................................... 20

5.3 CONFIGURACIÓN DEL SERVIDOR DE WRAPPERS ........................................................................ 20 5.3.1 Acceso al Servidor de Wrappers ............................................................................................................ 20 5.3.2 Lista de Wrappers................................................................................................................................... 21

5.3.2.1 Ejecución de Wrappers ............................................................................................................. 22 5.3.2.2 Exportación de los resultados a ficheros con formato CSV...................................................... 22

5.3.3 Selección de Localización del Pool de Navegadores Asociado.............................................................. 23 5.3.4 Asignación de Puertos ............................................................................................................................ 23 5.3.5 Cambio de contraseña ............................................................................................................................ 23 5.3.6 Carga de nuevos wrappers desde ficheros VQL ..................................................................................... 23

Page 4: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

5.3.7 Creación de un Web Service................................................................................................................... 23 5.4 CONFIGURACIÓN DEL SERVIDOR DE MANTENIMIENTO ............................................................ 26

5.4.1 Acceso al Servidor de Mantenimiento ................................................................................................... 26 5.4.2 Datos de Configuración del Servidor ...................................................................................................... 27

5.4.2.1 Parámetros de la Base de Datos............................................................................................... 27 5.4.2.2 Parámetros para Notificación de Correo Electrónico ............................................................... 28 5.4.2.3 Parámetros para Asignación de Puertos................................................................................... 28 5.4.2.4 Edición de Reglas de Verificación............................................................................................. 29

5.4.3 Selección de Localización del Pool de Navegadores Asociado.............................................................. 31 5.4.4 Selección de Localización del Servidor de Wrappers............................................................................. 31 5.4.5 Capacidades y limitaciones del servidor de mantenimiento.................................................................. 31

5.4.5.1 Modelo de Programa Envoltorio de Consulta ........................................................................... 31 5.4.5.2 Restricciones Adicionales......................................................................................................... 32

6 ANEXO A: CAPACIDADES OBSOLETAS........................................................................................... 33 6.1 CONTROL ACTIVEX PARA EJECUCIÓN AUTOMÁTICA DE SECUENCIAS DE NAVEGACIÓN EN NAVEGADORES CLIENTE ...................................................................................................................................... 33

BIBLIOGRAFÍA ............................................................................................................................................................... 34

Page 5: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

ÍNDICE DE FIGURAS Figura 1 Formulario de Tienda de Libros................................................................................................................. 2 Figura 2 Entornos y Componentes de ITPilot .......................................................................................................... 3 Figura 3 Distribución del Entorno de Generación ................................................................................................... 6 Figura 4 Distribución del Entorno de Ejecución ...................................................................................................... 7 Figura 5 Relación entre Entornos de Ejecución y Mantenimiento.......................................................................... 7 Figura 6 Página de Entrada a la Herramienta de Administración ........................................................................ 11 Figura 7 Pestaña de "Browser Pool" ..................................................................................................................... 12 Figura 8 Página de Adición de Servidor................................................................................................................ 13 Figura 9 Identificación y asignación ..................................................................................................................... 14 Figura 10 Comportamiento de los navegadores ..................................................................................................... 15 Figura 11 Proxy con autenticación .......................................................................................................................... 16 Figura 12 Tamaño y Política de Reutilización ......................................................................................................... 18 Figura 13 Iniciación del pool ................................................................................................................................... 20 Figura 14 Ventana de Configuración del Servidor de Wrappers ............................................................................ 20 Figura 15 Conexión a un Wrapper .......................................................................................................................... 21 Figura 16 Página de Ejecución de Wrappers .......................................................................................................... 22 Figura 17 Localización del Pool de Navegadores ................................................................................................... 23 Figura 18 Carga de Wrappers mediante Ficheros VQL........................................................................................... 24 Figura 19 Lista de Wrappers con webmail cargado ............................................................................................... 24 Figura 20 Página de Exportación de Web Services ................................................................................................ 25 Figura 21 Página principal de Administración de Mantenimiento ......................................................................... 27 Figura 22 Parámetros de BBDD de Mantenimiento................................................................................................ 28 Figura 23 Parámetros de Notificación de Cambio de Wrapper.............................................................................. 28 Figura 24 Parámetros de Asignación de Puertos.................................................................................................... 29 Figura 25 Edición de Reglas de Verificación........................................................................................................... 30 Figura 26 Localización de Pool de Navegadores .................................................................................................... 31 Figura 27 Localización de Servidor de Wrappers ................................................................................................... 31

Page 6: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

PREFACIO

ALCANCE

Este documento sirve de introducción y guía de administración y utilización de Denodo ITPilot.

QUIÉN DEBERÍA USAR ESTE MANUAL

Este documento está dirigido a administradores que pretendan instalar el software, así como utilizar la herramienta de administración de Denodo ITPilot.

RESUMEN DE CONTENIDOS

Más concretamente, en este documento se describe:

• Introducción a ITPilot

• Los diferentes entornos de funcionamiento de Denodo ITPilot

• Configuración de cada uno de los componentes de Denodo ITPilot en los entornos de ejecución y mantenimiento.

Prefacio i

Page 7: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Introducción 1

1 INTRODUCCIÓN

La mayor parte de la información que se encuentra disponible en la Worldwide Web (web en adelante) sólo puede ser obtenida por medios que son amigables para los usuarios de la red, pero que no son útiles si se desea un procesamiento automático y mecánico por parte de aplicaciones software. Un caso muy frecuente en nuestros días puede encontrarse en una gran cantidad de sitios web que ofrecen interfaces de consulta ad-hoc a través de formularios, y que devuelven la información requerida por medio de listados compuestos por respuestas semiestructuradas codificadas en documentos HTML. A esta parte de la web –aquella accesible a través de diferentes tipos de formularios y/o interfaces, y que devuelven datos obtenidos automáticamente de bases de datos internas- se la denomina habitualmente web oculta (o, en inglés, “hidden web”). Esta web oculta no es en absoluto una pequeña parte del total de la WWW, y contiene muchísima información que, en muchos casos, es de mayor calidad e interés para los usuarios. Sitios web como tiendas de comercio electrónico (que ofrecen sus catálogos de esta manera), buscadores de información científica y de salud, de patentes, o de información financiera son buenos ejemplos de esta situación. Además, a menudo estos sitios web son de acceso privado (es decir, es necesario un acceso mediante usuario/contraseña), presentan una interfaz de consulta avanzada (permitiendo búsquedas de información a partir de diferentes conceptos) y/o sus resultados se devuelven en forma de listas de ítems codificadas en HTML, enlazándose además con páginas relacionadas que contienen más datos sobre cada ítem (p.e. normalmente las tiendas de comercio electrónico devuelven una lista de resultados, pero con la posibilidad de que el usuario pueda “pinchar” sobre el título para acceder a otra página con comentarios sobre el producto, fotos, productos relacionados, etc.). Otras complicaciones habituales vienen derivadas del uso de técnicas como Javascript, HTML dinámico o sistemas de mantenimiento de sesión, que complican todavía más el acceso automatizado a la información contenida en estos sitios web. Además de la problemática de acceso a estas fuentes con información “oculta”, las aplicaciones que desean hacer uso de estos datos se encuentran con la dificultad de que los resultados se devuelven generalmente en HTML, que es un lenguaje de etiquetas definido para la visualización por parte de usuarios, y que no publica ningún tipo de metainformación sobre la estructura y/o la semántica de los resultados generados, además de no diferenciar estructuralmente entre elementos de navegación (menús), paneles gráficos e información útil para el usuario. Surge por tanto también el problema de la extracción de los datos relevantes contenidos en las páginas HTML. Ejemplo: Consideremos el ejemplo de una tienda de libros en Internet cuyo formulario de búsqueda se muestra en la XFigura 1X. El formulario obliga al usuario a especificar un valor para el atributo ‘TITULO’ y opcionalmente le permite fijar un valor para el atributo ‘AUTOR’ y para el atributo ‘FORMATO’ (restringido a un conjunto de valores). La tienda de libros devuelve una lista de resultados con información sobre TITULO, AUTOR, FORMATO, EDITORIAL y PRECIO.

Page 8: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Introducción 2

Figura 1 Formulario de Tienda de Libros

Este caso resume las dificultades con las que se encuentra una aplicación que desee extraer información estructurada de los entornos web: acceso a fuentes web, navegación a través de entornos transaccionales, selección de opciones y, por último, extracción de datos a partir de información semiestructurada. Denodo ITPilot es la solución de Denodo Technologies que permite acceder y estructurar de manera sencilla el conjunto de datos que existe en la web; este proceso se realiza mediante la construcción de una abstracción de la fuente web concreta, denominada “wrapper” o envoltorio que aísla a las aplicaciones cliente de las características intrínsecas de ese sitio (protocolo de acceso, estructura nativa de la información, etc.). ITPilot proporciona un entorno distribuido y escalable de generación, ejecución y mantenimiento de “wrappers”. Este manual presenta Denodo ITPilot y ofrece instrucciones que permiten su correcta instalación, recomendaciones sobre los diferentes tipos de arquitectura que soporta, así como una guía del entorno de ejecución y mantenimiento. En este mismo apartado, se introducirán los componentes de ITPilot; en el siguiente apartado se proporcionará una visión general de las arquitecturas recomendadas. En el capítulo X3X se detallará el proceso de instalación de cada uno de los componentes. Por último, el capítulo 5 explica cómo configurar y administrar los Entornos de Ejecución y Mantenimiento de ITPilot y cómo exportar un wrapper como WebService.

1.1 ENTORNOS DE DENODO ITPILOT

Denodo ITPilot permite la generación, ejecución y mantenimiento de “wrappers” sobre fuentes web de una manera sencilla y dinámica. Para ello, existen tres Entornos, cada uno de los cuáles permite una de las acciones comentadas y cuya gestión se realiza a través de la Herramienta de Administración. Cada entorno contiene una serie de Componentes, que se describen a continuación. La XFigura 2X muestra gráficamente la relación entre los Entornos y sus Componentes.

Page 9: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Introducción 3

Figura 2 Entornos y Componentes de ITPilot

1.1.1 Herramienta de Administración

Es el centro de gestión del entorno de ejecución, desde donde se configuran los diferentes servidores que lo conforman. Es una herramienta web que se comunica con un servidor de administración (desplegable en contenedores web que cumplan las especificaciones de servlets y JSPs).

1.1.2 Entorno de Generación

Este entorno engloba el conjunto de componentes necesarios para la creación de “wrappers” a partir de la generación de especificaciones DEXTL de extracción de datos (ver X[DEXTL]X, X[GENER]X) y secuencias de navegación NSEQL (ver X[NSEQL]X, X[GENER]X). Los componentes de los que hace uso son los siguientes:

- Herramientas de Generación: las herramientas de generación de especificaciones de extracción de datos y de generación de secuencias de navegación son aplicaciones gráficas que permiten a un usuario no técnico la creación de “wrappers” web. Para más información, se recomienda la lectura del Manual del Entorno de Generación de Denodo ITPilot X[GENER]X.

Page 10: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Introducción 4

- Pool de Navegadores de Generación: este entorno utiliza internamente un Pool de Navegadores para probar las secuencias de navegación y la especificación final.

Además, y aunque no pertenece propiamente a este entorno, las herramientas de generación pueden necesitar almacenar el “wrapper” creado. Para ello, harán uso del Servidor de Wrappers del Entorno de ejecución (ver siguiente sección, X1.1.3X).

1.1.3 Entorno de Ejecución

Este es el entorno de operación continuada, donde el usuario podrá hacer uso de los “wrappers” previamente creados para realizar consultas sobre las fuentes. Este uso podrá ser directo (a través de un API nativo o publicando el wrapper como un WebService) o a través de otros productos tales como Denodo Virtual DataPort, con quien ITPilot se encuentra totalmente integrada. Los componentes de los que consta este entorno son los siguientes:

- Servidor de Wrappers: este es el componente encargado de almacenar los “wrappers” sobre los cuáles se desean realizar accesos. Incluye una interfaz remota que permite ejecutar sentencias sobre ella.

- Pool de Navegadores: cuando se ejecuta un “wrapper”, se puede seleccionar IEBrowser (módulo de navegación automática basado en Microsoft Internet Explorer X[IE]X), Firefox X[FRFOX]X o un cliente HTTP como método de acceso. En este caso, el servidor de wrappers utiliza el pool de navegadores para minimizar los tiempos de creación de instancias del navegador. Este pool es configurable desde la herramienta de administración.

1.1.4 Entorno de Mantenimiento

El entorno más complejo es el de Ejecución y Mantenimiento. Debido a que las fuentes web son autónomas e independientes de los “wrappers”, pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual, por lo que estos “wrappers” dejan de extraer adecuadamente sus datos. Denodo ITPilot ofrece una herramienta de mantenimiento automático que permite reparar automáticamente los “wrappers” a partir de la detección automática de los cambios comentados anteriormente. Aunque se tratará con mayor profundidad en el apartado X5.4X, su funcionamiento básico es el siguiente:

- El servidor de wrappers almacena todos los envoltorios de cada una de las fuentes web; este almacenamiento se realiza en XML, por lo que no es necesaria ninguna base de datos.

- A partir de la configuración de la frecuencia de comprobación de cambios, el sistema verifica para cada wrapper si ha habido cambios.

- Cuando se detecte que una fuente cambia se pueden configurar las acciones a realizar. - Una posible acción es el envío de un correo informando del cambio. - La otra posibilidad es la regeneración automática del wrapper.

Los componentes de los que consta este entorno, aparte de los ya mencionados en el entorno de ejecución, son los siguientes:

- Servidor de Mantenimiento: componente encargado de detectar automáticamente los cambios producidos en las fuentes y de realizar la regeneración de los wrappers. Se comunica con el servidor de wrappers para pedirle todos los “wrappers a mantener, y para obtener los resultados de la ejecución de consultas sobre los mismos (estos resultados serán utilizados para la comprobación de cambios y durante el proceso de regeneración).

- Pool de Navegadores del Servidor de Mantenimiento: pool de navegadores utilizado en la fase de regeneración.

Como se ha comentado anteriormente, una explicación detallada de este entorno se realizará en el apartado X2.3X de este mismo manual.

Page 11: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Introducción 5

El siguiente apartado recomienda diferentes arquitecturas de distribución de estos componentes. El capítulo X3X detalla los procesos de instalación y configuración de cada uno de los entornos de ITPilot.

Page 12: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Distribución de los Entornos 6

2 DISTRIBUCIÓN DE LOS ENTORNOS

2.1 DISTRIBUCIÓN DEL ENTORNO DE GENERACIÓN

Como se ha comentado en el apartado anterior, el Entorno de Generación permite crear “wrappers” de una manera visual y sencilla. Este entorno requiere la instalación de dos componentes: la herramienta de generación de especificaciones y la herramienta de generación de secuencias de navegación. También podrá tener accesible el servidor de wrappers del entorno de ejecución. La XFigura 3X muestra la relación entre cada uno de los elementos.

Figura 3 Distribución del Entorno de Generación

El servidor de wrappers pertenece al entorno de ejecución por lo que normalmente se instalará en una máquina independiente en el entorno de producción. No es objetivo de este manual el explicar la instalación, operación y manejo de las herramientas de este entorno. Para más información, se puede consultar X[GENER]X para instrucciones sobre instalación y operación, y X[DEXTL]X y X[NSEQL]X para información detallada sobre los lenguajes de definición de especificaciones y secuencias.

2.2 DISTRIBUCIÓN DEL ENTORNO DE EJECUCIÓN

La operación de Denodo ITPilot se realiza en el entorno de ejecución, donde se realizan las acciones sobre los “wrappers” que encapsulan las fuentes web cuyos datos se quieren extraer. Se requieren tres componentes en este caso: la herramienta web de administración (independiente del entorno, pero utilizada aquí), el servidor de wrappers y el pool de navegadores. La XFigura 4X describe la relación entre estos elementos.

Page 13: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Distribución de los Entornos 7

Figura 4 Distribución del Entorno de Ejecución

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos, y a su posible carga, se recomienda su instalación en una máquina independiente al resto del sistema. El pool de navegadores puede encontrarse o en la misma máquina que el servidor de wrappers, o en una máquina independiente; en general, dependerá del número máximo de navegadores que puedan llegar a estar abiertos en la ejecución del sistema.

2.3 DISTRIBUCIÓN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecución, y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuáles se están extrayendo datos, y regenere automáticamente aquellos “wrappers” que lo requieran (ver apartado X1.1.4X). El servidor de mantenimiento, que hace uso de un pool de navegadores, puede ejecutarse en la misma máquina que el servidor de wrappers, aunque es un componente distribuido del que se recomienda su instalación en otra máquina. La XFigura 5X muestra la relación entre este entorno y el de ejecución.

Figura 5 Relación entre Entornos de Ejecución y Mantenimiento

El proceso básico del servidor de mantenimiento es el siguiente: al ejecutar una consulta sobre un wrapper, esta consulta se envía junto con los resultados que ha producido al modulo de mantenimiento. Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados, ésta se almacena en una base de datos relacional y al

Page 14: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Distribución de los Entornos 8

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado. Cada test (configurable por el usuario, ver apartado X5.4X), se ejecuta pasándole como parámetro esa consulta + resultados. Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condición no se cumple en absoluto, y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados. A continuación, se lanza un proceso evaluador que determina en función de los resultados de los tests si el wrapper ha cambiado. Este evaluador necesita tanto los resultados de los últimos tests como las reglas de evaluación. Si el wrapper cambia, el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que serán utilizadas para regenerar el wrapper. A partir de estos ejemplos y de la estructura creada durante la fase de generación de especificaciones, el sistema intenta regenerar automáticamente el nuevo wrapper. Cuando los resultados de una consulta son grabados en la base de datos, se les asigna una fecha de expiración. Los resultados caducados se borran de forma periódica. En la siguiente sección se detallan los pasos de instalación de cada uno de los componentes.

Page 15: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Instalación y Configuración inicial 9

3 INSTALACIÓN Y CONFIGURACIÓN INICIAL

La Guía de Instalación de la Plataforma Denodo X[DENINST]X proporciona toda la información necesaria para instalar Denodo ITPilot, incluyendo los requisitos mínimos de hardware y software, e instrucciones para la utilización de la herramienta de instalación y para la configuración inicial del sistema.

Page 16: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Ejecución 10

4 EJECUCIÓN

Una vez el proceso de instalación ha terminado, los servidores están listos para ser arrancados. Todo servidor que se encuentre en la misma máquina que el servidor de administración, podrá ser arrancado directamente desde la propia herramienta web, caso que se comentará en el apartado X5.1X. Si no es el caso, habrán de ser arrancados en cada una de las máquinas donde residan.

4.1 ARRANQUE DEL SERVIDOR DE ADMINISTRACIÓN

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado. En principio, una vez la aplicación ha sido desplegada adecuadamente, el servidor de administración se encontrará disponible en HTUhttp://dominio:puerto/denodo-itpilot-admin-1.3.6/UTH.

4.2 ARRANQUE DEL POOL DE NAVEGADORES

El Pool de navegadores puede arrancarse desde el Centro de Control de la Plataforma Denodo (ver Guía de Instalación de la Plataforma Denodo X[DENINST]X), o utilizando los siguientes scripts en la ruta <DENODO_HOME>/bin:

• browserpool_startup: arranca el pool de navegadores.

• browserpool_shutdown: finaliza el pool remoto y todos los navegadores contenidos en él.

4.3 ARRANQUE DEL SERVIDOR DE WRAPPERS

El servidor de wrappers puede arrancarse desde el Centro de Control de la Plataforma Denodo (ver Guía de Instalación de la Plataforma Denodo X[DENINST]X), utilizando el script vqlserver con las opciones startup y shutdown del directorio <DENODO_HOME>/bin, o los scripts vqlserver_startup y vqlserver_shutdown respectivamente, que permiten arrancar y parar el servidor.

4.4 ARRANQUE DEL SERVIDOR DE MANTENIMIENTO

El servidor de mantenimiento puede arrancarse desde el Centro de Control de la Plataforma Denodo (ver Guía de Instalación de la Plataforma Denodo X[DENINST]X), o con los scripts maintenance_startup y maintenance_shutdown del directorio <DENODO_HOME>/bin, que permiten arrancar y parar el servidor.

4.5 ARRANQUE DEL SERVIDOR DE CONVERSIÓN PDF

El servidor de conversión PDF puede arrancarse desde el Centro de Control de la Plataforma Denodo (ver Guía de Instalación de la Plataforma Denodo X[DENINST]X). El script PdfConversionsServer.exe del directorio <DENODO_HOME>/bin también permite arrancar y parar el servidor de conversión, con el siguiente formato: PDFConversionsServer ([-start | -shutdown] [-conf=’confFile’]) , donde –start indica que se desea arrancar el servidor de conversión, -stop que se desea parar, y confFile, el fichero de configuración del servidor, que por defecto se encuentra en la ruta <DENODO_HOME>/conf/iebrowser, con el nombre IEBrowserConfiguration.properties.

Page 17: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 11

5 HERRAMIENTA WEB DE ADMINISTRACIÓN

La herramienta de administración de ITPilot permite gestionar los entornos de ejecución y mantenimiento de una manera sencilla y uniforme. Se trata de una aplicación web que controla tanto el servidor de wrappers como el pool de navegadores y el servidor de mantenimiento –por supuesto, si éste último es necesario-. La XFigura 6X muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a través de la URL dominio:puerto/itpilot-denodo-admin-1.3.5, y con el usuario admin y contraseña vacía como acceso inicial). La herramienta se compone visualmente de los siguientes elementos:

• Área de Selección de Servidores: aquí es donde el usuario puede elegir qué servidor desea configurar: servidor de wrappers, pool de navegadores o servidor de mantenimiento, en caso de que se utilice como administración del entorno de ejecución.

• Área de Trabajo: esta área mostrará la información de configuración relevante para cada servidor. A través de la herramienta web de administración, se pueden configurar y, en casos concretos, arrancar y parar los diferentes servidores que componen los entornos de ejecución y mantenimiento. El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecución y mantenimiento.

Figura 6 Página de Entrada a la Herramienta de Administración

5.1 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administración puede gestionarse la configuración de cada uno de los servidores. Para ello, obviamente, los servidores han de estar arrancados. Si están en la misma máquina que la herramienta de

administración, podrán arrancarse desde ella directamente, utilizando el botón Start/Stop . Si los servidores se encuentran distribuidos en máquinas diferentes a donde reside la herramienta de administración, éstos habrán de haber sido arrancados previamente.

Page 18: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 12

5.2 CONFIGURACIÓN DEL POOL DE NAVEGADORES

Los wrappers que implementan sus secuencias de navegación a través de programas NSEQL precisan que el entorno de ejecución de ITPilot tenga accesible un pool de navegadores. En esta sección se describen las opciones de configuración disponibles para el mismo. Un primer aspecto a tener en cuenta es que los navegadores del pool utilizarán la configuración establecida para los navegadores Microsoft Internet Explorer y/o Firefox en el sistema dónde se ejecute el pool.

• Es recomendable que el home sea una página en blanco (“about:blank”) para evitar que cada nuevo navegador arrancado por el pool se conecte a la página home antes de ejecutar una petición de la aplicación, lo cuál causaría un retardo innecesario.

• También es preciso tener en cuenta las opciones de seguridad y cookies ya que los navegadores del pool se comportarán de acuerdo a dicha configuración.

La configuración del pool de navegadores se realiza en el panel “Browser Pool” de la herramienta de administración del entorno de ejecución de ITPilot. La XFigura 7X ofrece una imagen de esta ventana.

Figura 7 Pestaña de "Browser Pool"

En primer lugar es necesario indicar los datos de acceso de cada pool de navegadores que se vaya a utilizar.

Para ello se hace uso del botón “Add Server” , que muestra una ventana como la que aparece en la XFigura 8X. Los campos a rellenar son los siguientes:

- Name: nombre identificativo del servidor. - Host: dirección donde se encuentra. - Port: puerto de escucha del servidor. - Local path: opcional, permite indicar que el servidor es local al servidor de administración; añadiendo el

path local donde está la aplicación, el usuario será capaz de arrancar y parar el servidor de mantenimiento desde la herramienta gráfica de administración.

Page 19: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 13

Figura 8 Página de Adición de Servidor

Los datos del pool añadido pueden modificarse pulsando el botón “Edit”, que lleva a la misma ventana de configuración comentada anteriormente. El botón “Start/Stop” será visible si y sólo si se ha cubierto adecuadamente el campo “Local Path” en la configuración del pool.

Por supuesto, pueden añadirse tantos pools como sean necesarios, aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado X2X de este mismo documento. Una vez configurado el pool se procede a la conexión mediante la pulsación del botón “Connect”. Si la conexión es exitosa, aparecerá en la ventana el conjunto de parámetros configurables por el usuario. Los parámetros de configuración existentes pueden dividirse en varios grupos, accesible cada uno de ellos en el panel de la herramienta de administración: identificación del pool y de la asignación de puertos del sistema, comportamiento de los navegadores del pool, configuración de conversores HTML, configuración de navegadores, soporte para proxies con autenticación, tamaño del pool y políticas de asignación de navegadores y, finalmente, parámetros de inicialización. Los siguientes subapartados se ocupan, respectivamente, de cada uno de estos grupos de parámetros.

5.2.1 Identificación del pool y asignación de puertos

Los parámetros de este grupo son:

• TYPE OF BROWSER. Tipo de navegador a utilizar en el pool :

o IEBrowser: navegador de Internet Explorer. o Firefox: navegador de Firefox.

• PORT. Puerto en el que el pool de navegadores escuchará peticiones.

• INITIAL PORT. Cada navegador del pool escuchará peticiones en un puerto. El valor de este parámetro determina el número de puerto que se utilizará como inicial para la asignación de números de puerto a los navegadores. A partir de este número, se utilizarán números de puerto consecutivos en orden ascendente.

Page 20: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 14

• SHUTDOWN PORT: Puerto en el que el servidor queda en escucha de la señal de Shutdown, para finalizar su ejecución en caso de recibirla.

• AUXILIARY PORT: Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes.

En la XFigura 9X se muestra la página de la herramienta de administración donde configurar todos estos parámetros.

Figura 9 Identificación y asignación

5.2.1.1 Comparación entre la utilización del pool de navegadores y del cliente http

El cliente http de ITPilot incorpora un motor de JavaScript, lo cuál le permite realizar navegaciones complejas en diferentes fuentes web. A la hora de decidir qué herramienta de navegación utilizar para extraer información de una fuente web, hay que tener en cuenta los siguientes factores:

1. Eficiencia. El cliente http es más eficiente que los navegadores IE/Firefox, ya que es mucho más ligero. Esto redunda en un aumento en la velocidad de respuesta al acceder a las fuentes, y a una disminución de la carga de CPU de la máquina que lo alberga; esta última característica es muy importante cuando se desean realizar ejecuciones en paralelo.

2. El cliente http no puede ejecutar algunos de los comandos NSEQL de navegación (ver X[NSEQL]X). 3. El cliente http no interpreta código escrito en VBScript. 4. El motor JavaScript de ITPilot puede sufrir errores de procesamiento de JavaScript de algunas páginas.

Esto es debido a que los intérpretes de los navegadores suelen ser bastante laxos con respecto a la sintaxis utilizada por las páginas web.

5.2.2 Configuración de los Navegadores del Pool

Los parámetros de este grupo son:

• MAX. DOWNLOAD TIME. Indica el tiempo máximo que un navegador esperará para descargar una página (en milisegundos).

• OBJECT TIMEOUT: Tiempo máximo (en milisegundos) que un navegador puede estar en uso fuera del pool para atender una petición de un wrapper. Transcurrido ese tiempo, el navegador es destruido. Si el valor de este parámetro es menor que 0 se permite que el navegador permanezca fuera del pool indefinidamente.

• DOWNLOAD CONTROLS. Este conjunto de parámetros permite especificar qué tipos de contenidos deben ser descargados por los navegadores del pool. Los tipos de contenido cuya descarga o no puede ser configurada son: imágenes, videos, sonidos de fondo, programas de script, applets Java, y componentes activeX (descarga y/o ejecución). Si se utiliza Firefox como navegador, sólo pueden ser configurados los parámetros relacionados con imágenes, javascript, java, cache y proxy.

Page 21: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 15

• CACHE CONTROLS. Este conjunto de parámetros permite especificar si los navegadores del pool deben utilizar o no la cache local y/o la cache del proxy.

• GRAPHICAL INTERFACE. Indica si los navegadores del pool mostrarán interfaz gráfica o no. Para optimizar la eficiencia del sistema, las aplicaciones en producción normalmente no mostrarán las interfaces gráficas de los navegadores. Sin embargo puede ser útil cambiar el valor de esta opción para propósitos de depuración. Este parámetro sólo es configurable cuando el wrapper se ejecuta con Internet Explorer.

En la XFigura 10X se muestra la página de la herramienta de administración donde configurar todos estos parámetros.

Figura 10 Comportamiento de los navegadores

5.2.3 Proxy con Autenticación

Si el acceso a Internet se realiza a través de un proxy con autenticación es necesario proporcionar valor para los siguientes parámetros:

• PROXY LOGIN: login de usuario en el proxy.

• PROXY PASSWORD: contraseña del usuario en el proxy.

• PROXY DOMAIN: (Windows 2000): dominio Windows.

En la XFigura 11X se muestra la página de la herramienta de administración donde configurar todos estos parámetros.

Page 22: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 16

Figura 11 Proxy con autenticación

NOTA: los parámetros del servidor proxy han de estar correctamente definidos en IE o Firefox si se utiliza esta opción. Si el navegador no está adecuadamente configurado para navegar a traves del Proxy, el servidor ITPilot ignorará este comando.

5.2.4 Configuración de la conversión HTML

En este apartado se configura la conversión de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraído por ITPilot:

• PDF To HTML converter: tipo de conversor utilizado para transformar el recurso PDF en HTML

o Acrobat HTML: utiliza el conversor a HTML del software Adobe Acrobat Professional (es necesario que este producto se encuentre instalado).

o Acrobat Text: utiliza el conversor a texto plano del software Adobe Acrobat Professional, a partir del cuál ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado).

o PDF Box: utiliza la librería PDFBox X[PDFBOX]X para generar el HTML.

• Conversion Server port: puerto del servidor de conversión

• Acrobat Prof. Plugins Directory: directorio donde se encuentran los “plug-ins” de Acrobat Professional.

o En este caso, además de actualizar el directorio, deberá copiarse el plugin DDEPdfToHtml.api residente en el directorio <DENODO_HOME>/dll/itpilot al directorio Acrobat/plug_ins donde Adobe Acrobat se encuentre instalado.

• Open Office Lib Directory: directorio donde se encuentra la biblioteca de clases de Open Office.

5.2.5 Configuración del navegador web Firefox

En este apartado se configura Firefox para su utilización en el entorno de ejecución.

• Firefox Home directory: directorio base de la instalación de Firefox a utilizar.

o En este caso, además de actualizar el directorio, deberá instalarse el plugin <DENODO_HOME>/setup/itpilot/dll/iebrowser/denodo-runtime.xpi mediante la ejecución del comando firefox -install-global-

Page 23: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 17

extension denodo-runtime.xpi desde ese mismo directorio.

o Firefox no provee comando de desinstalación del plugin, por lo que hay que eliminarlo manualmente como un directorio dentro de la instalación de Firefox (generalmente: \extensions\{800f0371-e961-44b9-97a6-2d9d8b7147b8}).

5.2.6 Tamaño del Pool y Política de Reutilización de Navegadores.

Los parámetros de este grupo son:

• MAX_POOLSIZE: Número máximo de navegadores en el pool.

• MIN_POOLSIZE: Este parámetro sólo se tiene en cuenta cuando la estrategia de reutilización de navegadores es PoolAssignmentStrategy (ver apartado X5.2.6.1X). En este caso, el parámetro define el número mínimo de navegadores. Cuando no se encuentre ningún navegador que se pueda reutilizar de manera óptima, porque ninguna parte de la secuencia a ejecutar coincida con parte de la ejecutada con anterioridad por ningún navegador activo, el sistema creará un navegador nuevo en caso de que el número de navegadores en el pool sea menor que MIN_POOLSIZE. Si el número de navegadores fuese mayor que MIN_POOLSIZE entonces se reutilizaría uno de los ya existentes que se encuentren en estado inactivo, aunque no se pueda reutilizar nada de la última secuencia que ha ejecutado. Si todos los navegadores se encuentran atendiendo otras peticiones en ese momento, se crearía un nuevo navegador mientras que el número total de navegadores fuera menor o igual a MAX_POOLSIZE. En otro caso, la petición sería encolada.

• REUSABLE_BROWSERS. Indica si los navegadores del pool pueden ser reutilizados para atender más de una petición. Permitir la reutilización de los navegadores incrementa la eficiencia de la mayoría de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atención de una petición previa modifique la respuesta del navegador ante posteriores peticiones (por ejemplo mediante el uso de cookies).

• ASSIGNMENT_STRATEGY. Permite especificar la estrategia de asignación que utilizará el pool de navegadores. La estrategia PoolAssignmentStrategy intenta asignar a cada petición un navegador cuyo estado permita minimizar el número de pasos de navegación necesarios para atender la petición. Por el contrario, la estrategia SimplePoolAssignmentStrategy asignará a cada petición un navegador libre cualquiera. Si la reutilización está desactivada (REUSABLE_BROWSERS no marcado), entonces el valor de ASSIGNMENT_STRATEGY se ignora. El siguiente apartado (X5.2.6.1X) explica con más detalle las implicaciones de este parámetro.

• MAX_BROWSER_TTL. Tiempo máximo de vida de un navegador. Si un browser supera este tiempo activo, será eliminado y se creará un nuevo browser cargado en la misma página en la que estaba el anterior. Esto es útil porque, debido a problemas conocidos en algunas versiones de Microsoft Internet Explorer, al utilizar este tipo de navegadores, puede notarse una degradación del rendimiento cuando un browser lleva demasiado tiempo abierto.

En la XFigura 12X se muestra la página de la herramienta de administración donde configurar todos estos parámetros.

Page 24: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 18

Figura 12 Tamaño y Política de Reutilización

5.2.6.1 Políticas de Reutilización de Navegadores.

Es muy frecuente que las secuencias de navegación que son ejecutadas por un “wrapper” determinado compartan una serie de pasos iniciales comunes; por ejemplo, supóngase que se ha creado un wrapper para automatizar el proceso de búsqueda en una determinada fuente web. La fuente requiere de un proceso de autenticación que involucra la introducción de un nombre de usuario y de una contraseña. En nuestro ejemplo, supondremos que el wrapper utiliza el mismo par clave/contraseña para todos sus accesos a la fuente. Utilizando Denodo ITPilot para la creación de este “wrapper” (para más información, ver X[GENER]X), se crearía una secuencia de navegación inicial que realizaría, aproximadamente, los siguientes pasos:

1. Conectarse a la página “home” o inicial de la fuente. 2. Rellenar el formulario de autenticación con el login/password y pulsar el botón “Submit” o “Entrar” para

autenticarse. 3. Una vez realizada la autenticación, pulsar sobre el enlace que permite acceder a la página de búsqueda. 4. Rellenar el formulario de búsqueda con la consulta deseada. 5. El servidor devuelve una página con los resultados de la consulta.

Los tres primeros pasos son comunes para todas las consultas que se hagan al wrapper. La diferencia entre una consulta y otra surge sólo en el cuarto paso, cuando el formulario de búsqueda es rellenado de acuerdo a la consulta específica que se desea realizar en cada momento. Sería deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta: idealmente, al recibir una nueva consulta habría un navegador ya autenticado y situado en la página de búsqueda de la fuente al que se podría asignar la nueva petición. El navegador realizaría directamente la búsqueda (paso 4) y devolvería los resultados (paso 5), evitando el coste temporal de los pasos 1-3. Denodo ITPilot soporta esta reutilización inteligente de navegadores mediante el uso combinado de los siguientes mecanismos:

• USecuencias de navegación de “vuelta atrás”U. Una secuencia de navegación de vuelta atrás se encarga de devolver a un navegador a un estado en el que sea susceptible de ser reutilizado por futuras peticiones del mismo wrapper. Cuando el wrapper de nuestro ejemplo ha realizado una consulta sobre la fuente, el navegador que ha sido utilizado para ejecutar la secuencia de navegación se queda en la página de resultados de la consulta (paso 5). Para que el navegador pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la página de búsqueda (paso 4). La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atrás. Un wrapper puede obtener una secuencia de vuelta atrás de dos formas:

o UExplícitamenteU: el creador del wrapper puede especificar una secuencia de navegación de vuelta atrás para un wrapper en la pestaña de Búsqueda, en la opción “Vuelta Atrás” del apartado de carga de secuencias la herramienta de generación de especificaciones (ver X[GENER]X).

o UImplícitamenteU: si se ha activado en el pool de navegadores la estrategia de asignación STATE (ASSIGNMENT_STRATEGY=PoolAssignmentStrategy, ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atrás definida explícitamente, entonces Denodo ITPilot intentará obtener por sí mismo una secuencia de vuelta atrás adecuada para el wrapper en función de sus

Page 25: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 19

ejecuciones anteriores. Normalmente Denodo ITPilot requerirá al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atrás adecuada para el wrapper.

• UEstrategia de asignación del pool de navegadores PoolAssignmentStrategyU. Si esta estrategia de

asignación de navegadores está activada, entonces, cuándo el pool reciba una petición para ejecutar una determinada secuencia de navegación, comprobará si entre los navegadores activos hay alguno libre que esté ya en una de las páginas intermedias de la secuencia, evitando así repetirla entera. Siguiendo con nuestro ejemplo, si el pool recibe una petición para ejecutar una secuencia de navegación para buscar sobre nuestra fuente y hay un navegador situado ya en la página de búsqueda (probablemente debido a que ese navegador fue utilizado para una petición anterior del mismo wrapper y, posteriormente, se ejecutó sobre él la secuencia de vuelta atrás), entonces se asignará la ejecución de la nueva secuencia a dicho navegador, que realizará entonces sólo los pasos 4 y 5 de la misma, evitando así el coste de los pasos 1-3.

Como se ha comentando en el apartado anterior (X5.2.4X), no siempre es aconsejable reutilizar navegadores (REUSABLE BROWSERS marcado). Puede ocurrir que la atención de una petición previa modifique la respuesta del navegador ante posteriores peticiones (por ejemplo mediante el uso de “cookies”) de forma que haga desaconsejable la reutilización. El caso típico es cuando se intenta acceder a una fuente en la que ya hay otro navegador autenticado; en ocasiones al hacer la navegación a la página inicial (“home”), no se pedirá de nuevo el formulario de entrada (clave/contraseña) con lo que la secuencia fallará al no encontrarlo. Sin embargo, usando la estrategia PoolAssignmentStrategy a veces sí será posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clave/contraseña, ya que esta estrategia evitará el que el navegador intente ejecutar los pasos de autenticación de nuevo al considerarlos parte de los pasos iniciales comunes. Si hay cookies de sesión en la fuente y se usa un par clave/contraseña diferente en cada acceso, entonces sí puede ser necesario desmarcar REUSABLE BROWSERS. Cuando es posible reutilizar un navegador de una consulta previa es conveniente hacerlo incluso aunque la secuencia se ejecute siempre desde el principio, porque se ahorra el coste de crear un navegador nuevo para cada consulta.

5.2.7 Inicialización del Pool

El pool de navegadores puede ser configurado para inicializar automáticamente un cierto número de navegadores con una secuencia de navegación determinada. Esta funcionalidad es útil cuándo las secuencias de navegación a ejecutar por la aplicación comparten una serie de pasos iniciales (e.g. el establecimiento de una sesión mediante un proceso de autenticación) cuyo coste deseamos evitar en tiempo de ejecución de peticiones. Haciendo uso de esta funcionalidad y de la política de asignación PoolAssignmentStrategy, será posible mejorar los tiempos de respuesta del sistema en estos casos. Para cada secuencia de navegación deseada es necesario especificar dos parámetros:

• POSITION. Programa NSEQL que implementa la secuencia de navegación (e.g. “navigate,http://www.denodo.com,1;”)

• INITIAL_BROWSERS. Número de navegadores que deseamos que el pool inicialice con esta secuencia de navegación.

Si no se especifica ninguna secuencia de navegación en esta sección, el pool no arrancará automáticamente ningún navegador al inicializarse sino que lo irá haciendo a medida que reciba peticiones.

En la XFigura 13X se muestra la página de la herramienta de administración donde configurar todos estos parámetros.

Page 26: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 20

Figura 13 Iniciación del pool

5.2.8 Ejecución y parada del Pool de Navegadores

El pool de navegadores puede arrancarse y pararse desde el Centro de Control de la Plataforma Denodo. Además, el botón “Start / Stop” de la ventana de configuración del pool de navegadores en la herramienta de administración permiten arrancar o parar el pool de navegadores siempre que éste se encuentre en la misma máquina en la que se ejecuta dicha herramienta. También es posible arrancar o parar el pool desde línea de comando. Para ello están disponibles los siguientes scripts en la ruta <DENODO_HOME>/bin:

• browserpool_startup. Arranca el pool de navegadores.

• browserpool_shutdown. Finaliza el pool remoto y todos los navegadores contenidos en él.

5.3 CONFIGURACIÓN DEL SERVIDOR DE WRAPPERS

La ventana de configuración del servidor de wrappers (ver XFigura 14X) permite al administrador controlar todos los parámetros de configuración del citado servidor, además de monitorizar y ejecutar los diferentes wrappers que están almacenados. Los elementos configurables de esta ventana se detallan a continuación.

Figura 14 Ventana de Configuración del Servidor de Wrappers

5.3.1 Acceso al Servidor de Wrappers

Como se puede observar en la XFigura 14X, esta área muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento, además de la posibilidad de añadir nuevos. Al añadir un nuevo servidor, y como dato configurable de cada uno de los servidores listados, se puede seleccionar el dominio y el puerto donde está escuchando (recordamos que si éste reside en la misma máquina que el servidor de administración, la herramienta web permite su arranque si no está levantado; en caso contrario, deberá arrancarse manualmente siguiendo las instrucciones de la sección X5.1X).

Page 27: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 21

Tras la edición del servidor de wrappers, es necesario conectarse a él para poder realizar el resto de acciones. Para

ello, hay que pulsar el botón del servidor de wrappers deseado. Aparecerá una pantalla donde el usuario deberá indicar el nombre de usuario y contraseña con la que desea conectarse al servidor de wrappers (“admin”/”admin” en caso de tener instalado solamente ITPilot). Existe la opción de recordar estos datos durante toda la sesión marcando la casilla “Remember this session”. Aparecerá una página como la mostrada en la XFigura 15X. En el apartado deberá elegir qué base de datos del servidor de wrappers desea utilizar. En caso de tener instalado solamente ITPilot no será necesario seleccionar la base de datos, y se mostrará directamente la lista de wrappers. Por defecto, aparece la lista de wrappers de la base de datos “ITPilot”.

Figura 15 Conexión a un Wrapper

5.3.2 Lista de Wrappers

Una vez el sistema se ha conectado con el servidor de wrappers la herramienta web muestra el apartado que contiene la lista de “wrappers” contenidos en ese servidor. La información que se muestra de cada uno de ellos es la siguiente:

- Nombre: nombre del wrapper. - Maintenance: indica si el wrapper seleccionado será mantenido automáticamente o no. Pulsando sobre el

enlace se cambia el valor de esta característica para el wrapper en cuestión. Los botones y sirven, respectivamente, para indicar que todos los wrappers utilicen mantenimiento automático o que no lo utilice ninguno.

o ITPilot indica si un programa envoltorio es mantenible o no, desde la herramienta de administración. El icono indica que la fuente no es mantenible por ITPilot. Aún así, el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que, en caso de que cambie, sea informado a través de un correo electrónico (ver sección X5.4X).

- Export: pulsando el botón se genera un fichero vql que el usuario podrá almacenar donde desee. - Execution: pulsando este botón , y como se verá más adelante en detalle, se prepara la ejecución de

una consulta sobre el wrapper seleccionado.

Page 28: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 22

- Delete: pulsando este botón se elimina el wrapper del servidor.

5.3.2.1 Ejecución de Wrappers

La herramienta de administración permite realizar consultas sobre los wrappers a través de la opción “Execution” comentada anteriormente. La XFigura 16X muestra la ventana de Ejecución. En ella se pueden rellenar los diferentes campos de consulta de la fuente; se indica en cada uno de ellos si es o no un atributo obligatorio (los campos de búsqueda de atributos obligatorios deben ser rellenados). También se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados. Pulsando el botón “Execute”, la herramienta de administración se comunica con el servidor de wrappers, e invoca la consulta deseada sobre el “wrapper” concreto; éste se comunica con la fuente de datos. Los resultados, adecuadamente estructurados, se muestran en la lista de resultados de la ventana de ejecución.

Figura 16 Página de Ejecución de Wrappers

5.3.2.2 Exportación de los resultados a ficheros con formato CSV

Antes de pulsar el botón Execute se puede configurar el formato de salida de los resultados sobre un fichero de tipo CSV (Comma-Separated Value, fichero con campos separados por comas, aunque ITPilot permite definir cuál es el carácter de separación). Tras la ejecución, el usuario tendrá la opción de guardar el fichero generado donde desee. El campo de selección “Include Headers” permite indicar si el fichero CSV tendrá el nombre de los campos obtenidos por ITPilot como cabecera.

Page 29: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 23

5.3.3 Selección de Localización del Pool de Navegadores Asociado

Cuando se ejecute un “wrapper”, si éste utiliza el pool, podrá pedirle una instancia. En la ventana de la herramienta de administración se puede indicar su localización a partir del nombre que se haya utilizado en la pestaña de “Browser Pools” para identificar cada uno de los pools creados (ver XFigura 17X).

Figura 17 Localización del Pool de Navegadores

5.3.4 Asignación de Puertos

En este apartado pueden configurarse los siguientes parámetros:

- Application Port: puerto en el que el servidor de wrappers escucha peticiones. - Shutdown Port: puerto en el que el servidor queda en escucha de la señal de Shutdown, para finalizar su

ejecución en caso de recibirla - Auxiliary Port: puerto utilizado para las comunicaciones entre el pool de navegadores y el servidor de

wrappers.

5.3.5 Cambio de contraseña

El botón “Change password” permite cambiar la contraseña de acceso al servidor de wrappers al que el usuario se encuentra actualmente conectado.

5.3.6 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual será exportar wrappers desde la herramienta de generación de especificaciones al servidor de wrappers, también se permite cargar ficheros VQL que contengan la definición de un wrapper. Esto es útil cuando la especificación se ha realizado manualmente de manera íntegra. Para ello, se pulsará el botón “Load VQL File” una vez se haya cargado la ruta completa de acceso al fichero VQL, pulsando el botón “Examinar…” y seleccionando el fichero VQL deseado. El wrapper aparecerá en la lista de wrappers de la base de datos desde la que se haya cargado.

5.3.7 Creación de un Web Service

Los wrappers almacenados en el servidor de ejecución pueden ser invocados de dos maneras diferentes. Por una parte, se puede utilizar el API Java nativo de ITPilot para acceder a los wrappers, obtener su estructura de datos, y ejecutar consultas sobre ellos desde una aplicación Java. Otra opción es la de exponer estos wrappers a través de Web Services. La descripción de la utilización de ambas opciones se encuentra en la Guía de Desarrollador de ITPilot X[DESAR]X. En el caso de los Web Services, su creación se realiza desde la herramienta web de administración. En esta sección describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribución de ITPilot. Por tanto, habremos de cargar el wrapper sobre el que se va a generar el servicio web. Para ello, seleccionamos el fichero “webmail.vql” que se encuentra en la ruta de instalación de ITPilot, en “samples/itpilot/itp-clients/scripts/” pulsando el botón “Examinar...”, y pulsamos el botón “Load VQL” (ver XFigura 18X). El wrapper aparecerá en la lista de wrappers, tal y como se muestra en la XFigura 19X.

Page 30: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 24

Figura 18 Carga de Wrappers mediante Ficheros VQL

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service, pulsando el botón “Create Web Service” en la pestaña del servidor de ejecución, tras lo cuál aparecerá una página como la mostrada en la XFigura 20X, desde la que se describe el Web Service a generar:

- Nombre del servicio Web (“Web Service Name”): nombre que va a tener este servicio. Por ejemplo, “webmailws”.

- URL del servicio de wrappers (“Wrapper Service URL”): esta es la URL del servidor de ejecución que almacena el wrapper que va a ser accedido a través del Web Service: “//localhost:9999/itpilot”, donde “localhost:9999” es el dominio y puerto donde reside el servidor de ejecución, e “itpilot” es la base de datos donde está cargado el wrapper.

- Login/Password: usuario y contraseña de acceso a ITPilot. En este caso, y por defecto, “admin/admin”. - Query Timeout: tiempo máximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto). - ChunkTimeout: tiempo máximo de espera entre dos resultados consecutivos (también se deja en blanco). - ChunkSize: tamaño del bloque para cada operación (también en blanco). - Web Service Style: estilo de servicio Web a generar (RPC o DOCUMENT). Algunas aplicaciones

consumidoras de Servicios Web pueden exigir un estilo concreto.

Page 31: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 25

Figura 20 Página de Exportación de Web Services

Una vez configurados los datos de descripción de acceso al servidor, el siguiente paso es el de definición de las operaciones del servicio web. ITPilot permite la generación de tres operaciones por wrapper. Una contiene todos los parámetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificación, ver X[GENER]X. Si no hubiese parámetros obligatorios, se ejecutaría la consulta sin parámetros); otra, aquellos atributos buscables y opcionales que se seleccionen en la columna “OPT FIELDS”. En el ejemplo en el que nos encontramos, no existen parámetros opcionales, por lo que sólo se creará una operación, que llamaremos “getMails” escribiendo ese nombre en el campo de texto de la columna “OBL Operation Name” correspondiente al wrapper “webmail”. Marcaremos la opción “Add Operation” para notificar nuestras intenciones al servidor de administración. Por ultimo, la tercera operación contiene todos los atributos obligatorios y opcionales. ITPilot permite generar el Web Service como un fichero .war y también el fichero WSDL. Pulsando los botones “Create Web Service” y “Create WSDL”, respectivamente, el usuario podrá almacenar estos ficheros localmente. Si se desea, esta acción también se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalación de ITPilot, en el directorio samples/itpilot/itpilot-clients. Se recomienda la lectura del fichero samples/itpilot/itpilot-clients/README. Además, cuando las operaciones del Web Service han sido exportadas, se puede configurar un conjunto de parámetros relacionados con el pool de conexiones. El fichero web.xml, que puede encontrarse en la ruta WEB-INF/ del servcio web exportado (dentro del fichero .war generado por ITPilot, o en el directorio donde se ha desplegado el servicio web) tiene tres parámetros que se utilizan para configurar el pool de conexiones:

1. poolEnabled: este parámetro se utilize para habilitar o inhabilitar el pool de conexiones. Sus posibles valores son “true” o “false”.

Page 32: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 26

<env-entry> <env-entry-name>poolEnabled</env-entry-name> <env-entry-value>false</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>

2. poolInitSize define el tamaño inicial del pool de conexiones. <env-entry> <env-entry-name>poolInitSize</env-entry-name> <env-entry-value>0</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>

3. poolMaxActive define el número mácimo de conexiones activas en el pool; cuando el número de conexiones excede el valor de este parámetro, las nuevas peticiones se encolarán hasta que se establezca una nueva conexión libre.

<env-entry> <env-entry-name>poolMaxActive</env-entry-name> <env-entry-value>30</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry> La pulsación del botón "Save Changes" permitirá almacenar todos los cambios realizados. En cada pestaña hay un botón "Save Changes", que guarda su configuración, es decir, le manda la nueva configuración al servidor correspondiente para que este la almacene en disco. Para que la nueva configuración tenga efecto hay que relanzar el servidor correspondiente.

5.4 CONFIGURACIÓN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automático de “wrappers”. La idea principal en la que se basa este componente es la recolección de resultados de consultas válidas sobre un wrapper determinado de manera que, cuando se detecta un cambio en la fuente, estos resultados, se utilizan para generar automáticamente nuevos ejemplos a partir de los que regenerar el “wrapper”.

Este componente se encuentra implantado en un servidor de mantenimiento, cuyo proceso de configuración a través de la herramienta web de administración se detalla en este apartado. El apartado X5.4.5X revisa las capacidades y limitaciones del servidor de mantenimiento.

5.4.1 Acceso al Servidor de Mantenimiento

Como se puede observar en la XFigura 21X, esta área muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento, además de la posibilidad de añadir nuevos. Lo normal será tener tan sólo uno arrancado, pero si el tamaño o cantidad de fuentes lo requiere, siempre existe esta posibilidad. Al añadir un nuevo servidor, y como datos configurables de cada uno de los servidores listados, se puede seleccionar el dominio y el puerto donde está escuchando (recordamos que si éste reside en la misma máquina que el servidor de administración, la herramienta web permite su arranque si no está levantado; en caso contrario, deberá arrancarse manualmente siguiendo las instrucciones de la sección X5.1X).

Page 33: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 27

Figura 21 Página principal de Administración de Mantenimiento

Los campos a rellenar son los siguientes:

- Name: nombre identificativo del servidor. - Host: dirección donde se encuentra. - Port: puerto de escucha del servidor. - Local path: opcional, permite indicar que el servidor es local al servidor de administración; añadiendo el

path local donde está la aplicación, el usuario será capaz de arrancar y parar el servidor de mantenimiento desde la herramienta gráfica de administración.

5.4.2 Datos de Configuración del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento, la herramienta web muestra los datos de configuración del servidor. La información que se muestra de cada uno de ellos es la siguiente:

5.4.2.1 Parámetros de la Base de Datos

- Provider: proveedor de la base de datos (por defecto, derby). Los valores posibles son: derby, mysql, postgresql, oracle.

- JDBC URL: URL de acceso a la Base de Datos para el driver JDBC (por defecto: jdbc:derby:maintenance).

- User/Password: usuario y contraseña de acceso (por defecto, maintenance/maintenance). - JDBC driver: driver JDBC que será utilizado (por defecto:

org.apache.derby.jdbc.EmbeddedDriver). Si el driver no se distribuye en la Plataforma Denodo, se debe copiar en el directorio DENODO_HOME/extensions/thirdparty/lib o su ruta completa de acceso debe añadirse a la variable de entorno DENODO_EXTERNAL_CLASSPATH para que Denodo pueda encontrarlo.

- Pool Size: Número máximo de conexiones que el pool puede permitir (por defecto: 5). - Test Query: consulta de prueba sobre el SGBD. El pool de conexiones, antes de asignar alguna de las que

tiene en la cola de libre va a realizar un chequeo para verificar que la conexion es valida (por defecto: SELECT * FROM ping_table).

La XFigura 22X muestra la situación de estos parámetros configurables en la pestaña del servidor de mantenimiento.

Page 34: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 28

Figura 22 Parámetros de BBDD de Mantenimiento

5.4.2.2 Parámetros para Notificación de Correo Electrónico

Estos parámetros se utilizarán para notificar por correo electrónico los cambios detectados en las fuentes:

- SMTP Server: nombre del servidor de correo - From: dirección de correo electrónico desde donde se emite la notificación. - To: dirección de correo electrónico a donde se emite la notificación. - Subject: asunto del correo.

La XFigura 23X muestra la situación de estos parámetros configurables en la pestaña del servidor de mantenimiento.

Figura 23 Parámetros de Notificación de Cambio de Wrapper

5.4.2.3 Parámetros para Asignación de Puertos

- Application Port: puerto que el servidor de mantenimiento utiliza para comunicarse con el servidor de wrappers.

- Shutdown Port: puerto en el que el servidor queda en escucha de la señal de Shutdown, para finalizar su ejecución en caso de recibirla.

- Auxiliary Port: puerto de comunicación entre el servidor de mantenimiento y sus clientes. La XFigura 24X muestra estos parámetros configurables.

Page 35: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 29

Figura 24 Parámetros de Asignación de Puertos

5.4.2.4 Edición de Reglas de Verificación

El sistema de mantenimiento automático de ITPilot requiere la generación de una serie de reglas que comprueben qué wrappers han cambiado. El administrador puede crear tantas reglas como desea, y éstas pueden afectar a un solo wrapper o al conjunto completo. Las reglas se componen de entradas, cada una de las cuáles es una comprobación sobre el wrapper o wrappers. Cuando todas las entradas de una regla se evalúan correctamente entonces dicha regla se activa. Es suficiente con que se active una cualquiera de las reglas de un wrapper para considerar que el wrapper ha cambiado. La XFigura 25X muestra un pequeño ejemplo, en el que se han definido un par de reglas, la primera con tres entradas y la segunda con una única entrada. Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es válida y, por tanto, que el wrapper ha cambiado, procediendo a ejecutarse el mantenimiento automático. Las reglas pueden contener las pruebas que se especifican a continuación. Cada prueba devolverá un valor porcentual (representando el 100% un cumplimiento total de las comprobaciones realizadas por la prueba):

- ZeroResults - comprueba si la fuente devuelve o no algun resultado. La intuición detrás de esta prueba es que si un número significativo de consultas no devuelve ningún resultado, una posible causa es un mal funcionamiento del wrapper actual. Para una ejecución de una determinada consulta, esta prueba devuelve 0 si no hay resultados y 100 en caso contrario.

- Compatibility - comprueba la compatibilidad entre los resultados y la consulta. P.e. si se busca titulo = 'java' entonces en los resultados devueltos normalmente deberá aparecer la palabra ‘java’ en el campo titulo de las tuplas extraídas. Lo contrario indicaría que el wrapper actual puede no estar extrayendo correctamente los datos de dicho campo y, por lo tanto, puede ser necesario regenerarlo. El valor porcentual se calcula de forma proporcional al número de tuplas con respecto al total que verifican el test de compatibilidad.

- Consistency - comprueba si los resultados encajan con las expresiones regulares definidas en los metadatos del wrapper (ver X[GENER]X). La intuición detrás de esta prueba es similar a la anterior: si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esté realizando incorrectamente el proceso de extracción y, por lo tanto, debe ser regenerado. El valor porcentual se calcula de forma proporcional al número de tuplas con respecto al total que verifican las expresiones regulares.

- Invariability – comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo después. La intuición detrás de este test es que, en algunas fuentes, cambios muy bruscos en los resultados extraídos para una misma consulta a lo largo del tiempo pueden ser indicativos de un mal funcionamiento del wrapper actual. El valor porcentual se calcula de forma proporcional al número de tuplas con respecto al total que se mantienen desde las última ejecuciones de la consulta.

Page 36: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 30

- Pagination - comprueba que en todas las páginas intermedias de resultados devueltas por el wrapper (todas menos la última) hay el mismo número de resultados. Si en una página intermedia hubiese menos resultados que en otras, esto sería indicativo de que el wrapper podría estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un número de resultados fijo en cada intervalo). El valor porcentual devuelto se calcula en función de la desviación del número de tuplas obtenido con respecto al número de tuplas esperado. El número de tuplas esperado se calcula suponiendo que cada página intermedia devolviese el número máximo de resultados obtenido para alguna de las páginas.

- ResultsNumber - comprueba que el número de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar. La intuición detrás de este test es que, en algunas fuentes, cambios muy bruscos en el número de resultados extraídos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual. El valor porcentual se calcula de forma proporcional a la desviación del número de tuplas devuelto por la consulta con respecto a la media de las últimas ejecuciones de la misma.

El editor de reglas de verificación permite configurar cada entrada de la siguiente manera:

- Test: prueba a realizar de entre las comentadas anteriormente (Invariability, Pagination, etc.) - Amount: número de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active. Esta cantidad se sitúa en el contexto del intervalo de ejecuciones que se tengan en cuenta, configurado en “Interval”.

- Interval: Ejecuciones del wrapper que se tienen en cuenta para esta prueba. El valor “0” indica la última ejecución realizada, “1” es la penúltima, etc.

- Values: cada ejecución de una prueba devuelve un valor entero entre 0 y 100, más próximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada. Este parámetro determina el rango de valores que activarían la prueba.

En la primera regla (XFigura 25X), sus entradas quieren decir lo siguiente:

- Primera entrada: Utiliza la prueba ResultsNumber. Se activará si el valor porcentual devuelto por esta prueba para alguna consulta se encuentra por debajo del 50% en al menos una (amount = 1) de las últimas diez ejecuciones exceptuando la última (interval = 1-10).

- Segunda entrada: se activará cuando el resultado para la prueba ResultsNumber sea 0 en la última ejecución de alguna consulta.

- Tercera entrada: se activará cuando el resultado para la prueba Pagination sea 0 en la última ejecución de alguna consulta.

Figura 25 Edición de Reglas de Verificación

Page 37: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 31

5.4.3 Selección de Localización del Pool de Navegadores Asociado

Durante el mantenimiento de wrappers, el servidor requiere de la utilización del componente “browser pool” como método de acceso, por lo que necesita utilizar un pool de navegadores. En la ventana de la herramienta de administración se puede indicar su localización a partir del nombre que se haya utilizado en la pestaña de “Browser Pools” para identificar cada uno de los pools creados (ver XFigura 26X).

Figura 26 Localización de Pool de Navegadores

5.4.4 Selección de Localización del Servidor de Wrappers

Por otra parte, el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los “wrappers” en ejecución, de manera que pueda detectar cambios y regenerarlos automáticamente. En la lista “Wrapper Server Name” podremos seleccionar aquél servidor de wrappers que nos convenga, de todos aquellos que hayan sido creados en la pestaña de “Wrapper Server” (ver XFigura 27X).

Figura 27 Localización de Servidor de Wrappers

La pulsación del botón "Save Changes" permitirá almacenar todos los cambios realizados. En cada pestaña hay un botón "Save Changes", que guarda su configuración, es decir, le manda la nueva configuración al servidor correspondiente para que este la almacene en disco. Para que la nueva configuración tenga efecto hay que relanzar el servidor correspondiente.

5.4.5 Capacidades y limitaciones del servidor de mantenimiento

El servidor de mantenimiento de ITPilot incluye funcionalidades avanzadas de mantenimiento de programas envoltorio web cuando las fuentes web cambian. Cuando un programa envoltorio puede ser mantenido, ITPilot será capaz de regenerar el programa envoltorio automáticamente en un alto porcentaje de casos. Sin embargo, no todos los programas envoltorios son mantenibles. Este apartado describe los requisitos principales que debe cumplir un programa envoltorio para que sea mantenible.

5.4.5.1 Modelo de Programa Envoltorio de Consulta

La utilización del mantenimiento automático es sólo posible en aquellos programas envoltorio que sigan lo que denominamos “Modelo de Programa Envoltorio de Consulta”. Para ello, el programa envoltorio ha de acomodarse a una estructura concreta:

1. El programa envoltorio comienza con una secuencia que navega a una pagina concreta. Ésta contiene datos a extraer (normalmente, esta secuencia inicial requiere el rellenado de algun formulario de consulta con parámetros de entrada del programa envoltorio). Por ejemplo, una secuencia inicial puede navegar al formulario de consulta de una librería electronica, rellenar los campos título y autor, y enviar el formulario. En ITPilot, este paso se logra mediante la utilización del componente SEQUENCE.

2. Los registros de datos contenidos en la página a la que se ha llegado a través de la secuencia anterior, son extraídos. Por ejemplo, se extraen los libros presentes en la página obtenida como respuesta de la ejecución del formulario. En ITPilot, este paso se logra mediante la utilización del componente EXTRACTOR.

Page 38: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Herramienta Web de Administración 32

3. La página que contiene los registros extraídos puede tener enlaces a otras páginas que contienen los siguientes “intervalos de resultados”. Estas nuevas páginas pueden incluso contener enlaces a más resultados. Por ejemplo, cada página de resultados puede contener 25 libros, y un enlace “Siguiente” que permite acceder al siguiente intervalo. En ITPilot, este paso se logra mediante la utilización del componente NEXT_INTERVAL_ITERATOR.

4. Las páginas que contienen registros de datos pueden contener enlaces de acceso a las páginas de detalle de cada registro, cuya información se desea extraer. En nuestro ejemplo, podemos tener un enlace “Más Información” asociado a cada libro que permite la extracción de información adicional de cada libro. En ITPilot, la navegación a las páginas de detalle se logra mediante la utilización de un componente RECORD_SEQUENCE.

5. Finalmente, para cada registro de datos extraído, puede requerirse algun tipo de operación de post-procesamiento. Por ejemplo, puede ser necesaria una expresión aritmética para procesar el precio final de cada libro a partir de los atributos “precio” y “descuento especial” que han sido extraidos de la web. Las operaciones de post-procesamiento se suelen modelar en ITPilot mediante componentes tales como CONDITION, EXPRESSION o RECORD_CONSTRUCTOR.

Los únicos pasos obligatorios son (1) y (2). La herramienta de generación de programas envoltorio de ITPilot incluye un botón que permite comprobar si, en principio, un programa envoltorio verifica las restricciones estructurales impuestas por el modelo. Esto no implica que el programa pueda ser exitosamente regenerado. El siguiente apartado describe algunas de las restricciones adicionales existentes.

5.4.5.2 Restricciones Adicionales

Si un programa envoltorio es mantenible, se podrá regenerar en un porcentaje alto de casos. Sin embargo, existen razones por las que el proceso de regeneración puede fallar. Se muestra a continuación una lista de los casos principales que pueden provocar un fallo en el proceso:

- Si tras el cambio en la fuente, cualquiera de las nuevas secuencias de navegacion requiere el lanzamiento de ventanas emergentes mediante JavaScript, el programa envoltorio no podrá ser regenerado. Si las ventanas emergentes se lanzan mediante el atributo “target” de un enlace, entonces si están soportadas.

- El componente utilizado en ITPilot para extraer registros estructurados de una página HTML se denomina EXTRACTOR. Una de las opciones del componente EXTRACTOR permite establecer una cláusula FROM que limita la zona de la página donde ITPilot buscará elementos a extraer. Si cualquier componente EXTRACTOR requiere esta cláusula tras el cambio de la fuente, el programa envoltorio no se regenerará de manera exitosa.

- Si la nueva secuencia de navegación requerida para acceder a páginas de detalle necesita rellenar un formulario, entonces las secuencias de detalle no podrán ser regeneradas.

- El componente EXTRACTOR utiliza internamente elementos denominados “juegos de marcas”. Aunque es un caso extraño, la fuente puede requerir “juegos de marcas” diferentes a los que existían previamente en el programa envoltorio. En ese caso, el proceso de regeneración fallará también.

- Si la fuente modificada muestra diálogos web, el proceso de regeneración no será exitoso.

Page 39: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Anexo A: Capacidades Obsoletas 33

6 ANEXO A: CAPACIDADES OBSOLETAS

6.1 CONTROL ACTIVEX PARA EJECUCIÓN AUTOMÁTICA DE SECUENCIAS DE NAVEGACIÓN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecución automática de cualquier secuencia de navegación en un navegador cliente, siempre que dicho navegador haya sido configurado para permitir esta clase de acciones. Un ejemplo de utilización de esta funcionalidad es la realización de procesos de automatización web como autenticación automática en una aplicación web (“autologin”). Esto se realiza mediante un control ActiveX que se instala en la máquina local desde la cuál desea ejecutarse una navegación concreta. Esta funcionalidad es muy útil cuando se desea realizar algún tipo de tarea de automatización web que implica navegación automática. El funcionamiento es el siguiente: en la ruta activex/itpilot/ a partir del directorio de instalación de la distribución de ITPilot, se encuentra el control SeqExeAX.cab. Este control puede, o almacenarse en un servidor web para poder ser accedido vía http, o si el control ya se encuentra registrado en el sistema local, ser accedido a través del registro de Windows mediante su CLSID. Una vez realizada esta acción, podremos crear páginas web que activen la navegación automática, mediante la adición al código HTML de los siguientes elementos: T<object

TCLASSID="CLSID:<CLSID del componente SeqExeAX CODEBASE="http://<ruta de acceso al control >/SeqExeAX.cab#version=<versión del componente SeqExeAX"> T<param

Tname="Sequence" Tvalue="secuencia de navegación NSEQL">

El CLSID y versión del componente SeqExeAX puede encontrarse en el fichero SeqExeAX.inf dentro del componente SeqExeAX.cab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido). La secuencia de navegación se especifica mediante el lenguaje NSEQL, explicado en detalle en X[NSEQL]X. Con el servidor web conteniendo el control .cab y en ejecución, podemos lanzar un navegador Microsoft Internet Explorer y cargar la página que contiene los elementos arriba descritos. NOTA: Es importante reseñar que el navegador ha de estar configurado para permitir la ejecución de controles ActiveX, lo que suele realizarse personalizando la pestaña de seguridad en Herramientas->Opciones de Internet, o seleccionando la opción de seguridad “Nivel Bajo” en la zona de contenido Web deseada (p.e. “Intranet Local” si se trata de una página local o “Internet” si la página de ejecución de la secuencia es accesible vía Internet). Si abrimos el navegador con la página comentada anteriormente, podremos observar cómo el navegador ejecuta automáticamente la secuencia de navegación descrita en el atributo “value” del elemento “param”. Esta capacidad deja de estar soportada en ITPilot.

Page 40: DENODO ITPILOT 4.1 MANUAL DE USUARIO · 2017-10-25 · Este documento es confidencial y propiedad de denodo technologies (en adelante denodo). Ninguna de las partes del documento

ITPilot 4.1 Manual de Usuario

Bibliografía 34

BIBLIOGRAFÍA

[BEA] Servidor de Aplicaciones de BEA Systems. HTUhttp://www.bea.comUTH

[DENINST] Guía de Instalación de la Plataforma Denodo 4.1. Denodo Technologies, 2008.

[DESAR] Guía del Desarrollador de Denodo ITPilot. Denodo Technologies, 2008.

[DEXTL] Manual de DEXTL. Denodo Technologies, 2008.

[GENER] Manual del Entorno de Generación de ITPilot. Denodo Technologies, 2008.

[FRFOX] Mozilla Firefox Browser. HTUhttp://www.firefox.comUTH

[IE] Microsoft Internet Explorer. HTUhttp://www.microsoft.com/windows/ie/UTH

[ISO639] Código de lenguaje ISO-639 (HTUhttp://www.ics.uci.edu/pub/ietf/http/related/iso639.txtUHT)

[J2SE] Java 2 Standard Edition. Uhttp://java.sun.com/j2se/U

[LIN] Distribución Linux Fedora Core 3, HTUhttp://www.fedora.orgUTH

[LOG4J] The Log4j Project. Apache Software Foundation. Uhttp://logging.apache.org/log4j/docs/U

[MYSQL] MySQL Open Source Database. Uhttp://www.mysql.comU

[NSEQL] Manual de NESQL. Denodo Technologies, 2008.

[ORA] Oracle 9. HTUhttp://www.oracle.comUTH

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF, PDFBox. HTUhttp://www.pdfbox.org/UTH

[POST] PostgreSQL Open Source Database. HTUhttp://postgresql.orgUTH

[SUN] Sun Microsystems. Uhttp://java.sun.comU

[TOM] Contenedor de servlets y JSP Jakarta Tomcat, HTUhttp://jakarta.apache.org/tomcatUTH

[WIND] Sistemas Operativos de Microsoft Windows, HTUhttp://www.microsoft.comUTH