denodo itpilot 4.0 manual de usuariohelp.denodo.com/platform-docs/4.0/denodoitpilot.manualu... ·...

43
DENODO ITPILOT 4.0 MANUAL DE USUARIO

Upload: others

Post on 29-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

DENODO ITPILOT 40 MANUAL DE USUARIO

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 electroacutenicamente almacenada en un sistema de gestioacuten documental o reproducida mediante cualquier otro mecanismo sin la autorizacioacuten previa o por escrito de denodo

copyright copy 2007 Queda prohibida la reproduccioacuten total o parcial de este documento sin la autorizacioacuten por escrito de denodo technologies

ITPilot 40 Manual de Usuario

IacuteNDICE

PREFACIO I ALCANCE I QUIEacuteN DEBERIacuteA USAR ESTE MANUAL I RESUMEN DE CONTENIDOS I

1 INTRODUCCIOacuteN 1 11 ENTORNOS DE DENODO ITPILOT 2

111 Herramienta de Administracioacuten 3 112 Entorno de Generacioacuten 3 113 Entorno de Ejecucioacuten 4 114 Entorno de Mantenimiento 4

2 DISTRIBUCIOacuteN DE LOS ENTORNOS 5 21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN 5 22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN 5 23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO 6

3 INSTALACIOacuteN 8 31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT 8

311 Preinstalacioacuten del Servidor de Administracioacuten 8 3111 Requisitos Hardware 8 3112 Requisitos Software 8

312 PreInstalacioacuten del Pool de Browsers 8 3121 Requisitos Hardware 8 3122 Requisitos Software 8

313 PreInstalacioacuten del Servidor de Wrappers 9 3131 Requisitos Hardware 9 3132 Requisitos Software 9

314 PreInstalacioacuten del Servidor de Mantenimiento 9 3141 Requisitos Hardware 9 3142 Requisitos Software 9

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN 10 321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten 10 322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten 11 323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten 11 324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten 12 325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten 12

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN 12 34 ARRANQUE DE LOS COMPONENTES 14

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot 14 342 Arranque del Servidor de Administracioacuten 14 343 Arranque del Pool de Browsers 14 344 Arranque del Servidor de Wrappers 15 345 Arranque del Servidor de Mantenimiento 15

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN 16

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO 17

ITPilot 40 Manual de Usuario

51 INTRODUCCIOacuteN 17 52 ARRANQUE DE LOS SERVIDORES 17 53 CONFIGURACIOacuteN DEL POOL DE BROWSERS 17

531 Identificacioacuten del pool y asignacioacuten de puertos 19 532 Comportamiento de los Browsers del Pool 19 533 Proxy con Autenticacioacuten 20 534 Configuracioacuten de la conversioacuten HTML 21 535 Firefox Web Browser Configuration 21 536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers 22

5361 Poliacuteticas de Reutilizacioacuten de Browsers 22 537 Inicializacioacuten del Pool 24 538 Ejecucioacuten y parada del Pool de Browsers 24

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS 25 541 Acceso al Servidor de Wrappers 25 542 Lista de Wrappers 26

5421 Ejecucioacuten de Wrappers 26 5422 Exportacioacuten de los resultados a ficheros con formato CSV 27

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado 27 544 Asignacioacuten de Puertos 28 545 Carga de nuevos wrappers desde ficheros VQL 28 546 Creacioacuten de un Web Service 28

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO 31 551 Acceso al Servidor de Mantenimiento 31 552 Datos de Configuracioacuten del Servidor 31

5521 Paraacutemetros de la Base de Datos 32 5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico 32 5523 Paraacutemetros para Asignacioacuten de Puertos 33 5524 Edicioacuten de Reglas de Verificacioacuten 33

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado 35 554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers 35

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE 36

BIBLIOGRAFIacuteA 37

ITPilot 40 Manual de Usuario

IacuteNDICE DE FIGURAS Figura 1 Formulario de Tienda de Libros 2 Figura 2 Entornos y Componentes de ITPilot 3 Figura 3 Distribucioacuten del Entorno de Generacioacuten 5 Figura 4 Distribucioacuten del Entorno de Ejecucioacuten 6 Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento 6 Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten 16 Figura 7 Pestantildea de Browser Pool 18 Figura 8 Paacutegina de Adicioacuten de Servidor 18 Figura 9 Identificacioacuten y asignacioacuten 19 Figura 10 Comportamiento de los browsers 20 Figura 11 Proxy con autenticacioacuten 21 Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten 22 Figura 13 Iniciacioacuten del pool 24 Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers 25 Figura 15 Conexioacuten a un Wrapper 26 Figura 16 Paacutegina de Ejecucioacuten de Wrappers 27 Figura 17 Localizacioacuten del Pool de Browsers 27 Figura 18 Carga de Wrappers mediante Ficheros VQL 28 Figura 19 Lista de Wrappers con webmail cargado 29 Figura 20 Paacutegina de Exportacioacuten de Web Services 30 Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento 31 Figura 22 Paraacutemetros de BBDD de Mantenimiento 32 Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper 32 Figura 24 Paraacutemetros de Asignacioacuten de Puertos 33 Figura 25 Edicioacuten de Reglas de Verificacioacuten 35 Figura 26 Localizacioacuten de Pool de Browsers 35 Figura 27 Localizacioacuten de Servidor de Wrappers 35

ITPilot 40 Manual de Usuario

PREFACIO

ALCANCE

Este documento sirve de introduccioacuten y guiacutea de administracioacuten y utilizacioacuten de Denodo ITPilot

QUIEacuteN DEBERIacuteA USAR ESTE MANUAL

Este documento estaacute dirigido a administradores que pretendan instalar el software asiacute como utilizar la herramienta de administracioacuten de Denodo ITPilot

RESUMEN DE CONTENIDOS

Maacutes concretamente en este documento se describe

bull Introduccioacuten a ITPilot

bull Los diferentes entornos de funcionamiento de Denodo ITPilot

bull Configuracioacuten de cada uno de los componentes de Denodo ITPilot en los entornos de ejecucioacuten y mantenimiento

Prefacio i

ITPilot 40 Manual de Usuario

Introduccioacuten 1

1 INTRODUCCIOacuteN

La mayor parte de la informacioacuten que se encuentra disponible en la Worldwide Web (web en adelante) soacutelo puede ser obtenida por medios que son amigables para los usuarios de la red pero que no son uacutetiles si se desea un procesamiento automaacutetico y mecaacutenico por parte de aplicaciones software Un caso muy frecuente en nuestros diacuteas puede encontrarse en una gran cantidad de sitios web que ofrecen interfaces de consulta ad-hoc a traveacutes de formularios y que devuelven la informacioacuten requerida por medio de listados compuestos por respuestas semiestructuradas codificadas en documentos HTML A esta parte de la web ndashaquella accesible a traveacutes de diferentes tipos de formularios yo interfaces y que devuelven datos obtenidos automaacuteticamente de bases de datos internas- se la denomina habitualmente web oculta (o en ingleacutes ldquohidden webrdquo) Esta web oculta no es en absoluto una pequentildea parte del total de la WWW y contiene muchiacutesima informacioacuten que en muchos casos es de mayor calidad e intereacutes para los usuarios Sitios web como tiendas de comercio electroacutenico (que ofrecen sus cataacutelogos de esta manera) buscadores de informacioacuten cientiacutefica y de salud de patentes o de informacioacuten financiera son buenos ejemplos de esta situacioacuten Ademaacutes a menudo estos sitios web son de acceso privado (es decir es necesario un acceso mediante usuariocontrasentildea) presentan una interfaz de consulta avanzada (permitiendo buacutesquedas de informacioacuten a partir de diferentes conceptos) yo sus resultados se devuelven en forma de listas de iacutetems codificadas en HTML enlazaacutendose ademaacutes con paacuteginas relacionadas que contienen maacutes datos sobre cada iacutetem (pe normalmente las tiendas de comercio electroacutenico devuelven una lista de resultados pero con la posibilidad de que el usuario pueda ldquopincharrdquo sobre el tiacutetulo para acceder a otra paacutegina con comentarios sobre el producto fotos productos relacionados etc) Otras complicaciones habituales vienen derivadas del uso de teacutecnicas como Javascript HTML dinaacutemico o sistemas de mantenimiento de sesioacuten que complican todaviacutea maacutes el acceso automatizado a la informacioacuten contenida en estos sitios web Ademaacutes de la problemaacutetica de acceso a estas fuentes con informacioacuten ldquoocultardquo 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 visualizacioacuten por parte de usuarios y que no publica ninguacuten tipo de metainformacioacuten sobre la estructura yo la semaacutentica de los resultados generados ademaacutes de no diferenciar estructuralmente entre elementos de navegacioacuten (menuacutes) paneles graacuteficos e informacioacuten uacutetil para el usuario Surge por tanto tambieacuten el problema de la extraccioacuten de los datos relevantes contenidos en las paacuteginas HTML Ejemplo Consideremos el ejemplo de una tienda de libros en Internet cuyo formulario de buacutesqueda se muestra en la Figura 1 El formulario obliga al usuario a especificar un valor para el atributo lsquoTITULOrsquo y opcionalmente le permite fijar un valor para el atributo lsquoAUTORrsquo y para el atributo lsquoFORMATOrsquo (restringido a un conjunto de valores) La tienda de libros devuelve una lista de resultados con informacioacuten sobre TITULO AUTOR FORMATO EDITORIAL y PRECIO

ITPilot 40 Manual de Usuario

Introduccioacuten 2

Figura 1 Formulario de Tienda de Libros

Este caso resume las dificultades con las que se encuentra una aplicacioacuten que desee extraer informacioacuten estructurada de los entornos web acceso a fuentes web navegacioacuten a traveacutes de entornos transaccionales seleccioacuten de opciones y por uacuteltimo extraccioacuten de datos a partir de informacioacuten semiestructurada Denodo ITPilot es la solucioacuten 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 construccioacuten de una abstraccioacuten de la fuente web concreta denominada ldquowrapperrdquo o envoltorio que aiacutesla a las aplicaciones cliente de las caracteriacutesticas intriacutensecas de ese sitio (protocolo de acceso estructura nativa de la informacioacuten etc) ITPilot proporciona un entorno distribuido y escalable de generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo Este manual presenta Denodo ITPilot y ofrece instrucciones que permiten su correcta instalacioacuten recomendaciones sobre los diferentes tipos de arquitectura que soporta asiacute como una guiacutea del entorno de ejecucioacuten y mantenimiento En este mismo apartado se introduciraacuten los componentes de ITPilot en el siguiente apartado se proporcionaraacute una una visioacuten general de las arquitecturas recomendadas En el capiacutetulo 3 se detallaraacute el proceso de instalacioacuten de cada uno de los componentes Por uacuteltimo los capiacutetulos 4 y 5 explican coacutemo configurar y administrar los Entornos de Ejecucioacuten y Mantenimiento de ITPilot y coacutemo exportar un wrapper como WebService

11 ENTORNOS DE DENODO ITPILOT

Denodo ITPilot permite la generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo sobre fuentes web de una manera sencilla y dinaacutemica Para ello existen tres Entornos cada uno de los cuaacuteles permite una de las acciones comentadas y cuya gestioacuten se realiza a traveacutes de la Herramienta de Administracioacuten Cada entorno contiene una serie de Componentes que se describen a continuacioacuten La Figura 2 muestra graacuteficamente la relacioacuten entre los Entornos y sus Componentes

ITPilot 40 Manual de Usuario

Introduccioacuten 3

Figura 2 Entornos y Componentes de ITPilot

111 Herramienta de Administracioacuten

Es el centro de gestioacuten del entorno de ejecucioacuten desde donde se configuran los diferentes servidores que lo conforman Es una herramienta web que se comunica con un servidor de administracioacuten (desplegable en contenedores web que cumplan las especificaciones de servlets y JSPs)

112 Entorno de Generacioacuten

Este entorno engloba el conjunto de componentes necesarios para la creacioacuten de ldquowrappersrdquo a partir de la generacioacuten de especificaciones DEXTL de extraccioacuten de datos (ver [DEXTL] [GENER]) y secuencias de navegacioacuten NSEQL (ver [NSEQL] [GENER]) Los componentes de los que hace uso son los siguientes

- Herramientas de Generacioacuten las herramientas de generacioacuten de especificaciones de extraccioacuten de datos y de generacioacuten de secuencias de navegacioacuten son aplicaciones graacuteficas que permiten a un usuario no teacutecnico la creacioacuten de ldquowrappersrdquo web Para maacutes informacioacuten se recomienda la lectura del Manual del Entorno de Generacioacuten de Denodo ITPilot [GENER]

ITPilot 40 Manual de Usuario

Introduccioacuten 4

- Pool de Browsers de Generacioacuten este entorno utiliza internamente un Pool de Browsers para probar las secuencias de navegacioacuten y la especificacioacuten final

Ademaacutes y aunque no pertenece propiamente a este entorno las herramientas de generacioacuten pueden necesitar almacenar el ldquowrapperrdquo creado Para ello haraacuten uso del Servidor de Wrappers del Entorno de ejecucioacuten (ver siguiente seccioacuten 113)

113 Entorno de Ejecucioacuten

Este es el entorno de operacioacuten continuada donde el usuario podraacute hacer uso de los ldquowrappersrdquo previamente creados para realizar consultas sobre las fuentes Este uso podraacute ser directo (a traveacutes de un API nativo o publicando el wrapper como un WebService) o a traveacutes 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 ldquowrappersrdquo sobre los cuaacuteles se desean realizar accesos Incluye una interfaz remota que permite ejecutar sentencias sobre ella

- Pool de Browsers cuando se ejecuta un ldquowrapperrdquo se puede seleccionar IEBrowser (moacutedulo de navegacioacuten automaacutetica basado en Microsoft Internet Explorer [IE]) Firefox [FRFOX] o un cliente HTTP como meacutetodo de acceso En este caso el servidor de wrappers utiliza el pool de browsers para minimizar los tiempos de creacioacuten de instancias del navegador Este pool es configurable desde la herramienta de administracioacuten

114 Entorno de Mantenimiento

El entorno maacutes complejo es el de Ejecucioacuten y Mantenimiento Debido a que las fuentes web son autoacutenomas e independientes de los ldquowrappersrdquo pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual por lo que estos ldquowrappersrdquo dejan de extraer adecuadamente sus datos Denodo ITPilot ofrece una herramienta de mantenimiento automaacutetico que permite reparar automaacuteticamente los ldquowrappersrdquo a partir de la deteccioacuten automaacutetica de los cambios comentados anteriormente Aunque se trataraacute con mayor profundidad en el apartado 5 su funcionamiento baacutesico 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 configuracioacuten de la frecuencia de comprobacioacuten 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 accioacuten es el enviacuteo de un correo informando del cambio - La otra posibilidad es la regeneracioacuten automaacutetica del wrapper

Los componentes de los que consta este entorno aparte de los ya mencionados en el entorno de ejecucioacuten son los siguientes

- Servidor de Mantenimiento componente encargado de detectar automaacuteticamente los cambios producidos en las fuentes y de realizar la regeneracioacuten de los wrappers Se comunica con el servidor de wrappers para pedirle todos los ldquowrappers a mantener y para obtener los resultados de la ejecucioacuten de consultas sobre los mismos (estos resultados seraacuten utilizados para la comprobacioacuten de cambios y durante el proceso de regeneracioacuten)

- Pool de Browsers del Servidor de Mantenimiento pool de browsers utilizado en la fase de regeneracioacuten Como se ha comentado anteriormente una explicacioacuten detallada de este entorno se realizaraacute en el apartado 23 de este mismo manual El siguiente apartado recomienda diferentes arquitecturas de distribucioacuten de estos componentes El capiacutetulo 3 detalla los procesos de instalacioacuten y configuracioacuten de cada uno de los entornos de ITPilot

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 2: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

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 electroacutenicamente almacenada en un sistema de gestioacuten documental o reproducida mediante cualquier otro mecanismo sin la autorizacioacuten previa o por escrito de denodo

copyright copy 2007 Queda prohibida la reproduccioacuten total o parcial de este documento sin la autorizacioacuten por escrito de denodo technologies

ITPilot 40 Manual de Usuario

IacuteNDICE

PREFACIO I ALCANCE I QUIEacuteN DEBERIacuteA USAR ESTE MANUAL I RESUMEN DE CONTENIDOS I

1 INTRODUCCIOacuteN 1 11 ENTORNOS DE DENODO ITPILOT 2

111 Herramienta de Administracioacuten 3 112 Entorno de Generacioacuten 3 113 Entorno de Ejecucioacuten 4 114 Entorno de Mantenimiento 4

2 DISTRIBUCIOacuteN DE LOS ENTORNOS 5 21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN 5 22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN 5 23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO 6

3 INSTALACIOacuteN 8 31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT 8

311 Preinstalacioacuten del Servidor de Administracioacuten 8 3111 Requisitos Hardware 8 3112 Requisitos Software 8

312 PreInstalacioacuten del Pool de Browsers 8 3121 Requisitos Hardware 8 3122 Requisitos Software 8

313 PreInstalacioacuten del Servidor de Wrappers 9 3131 Requisitos Hardware 9 3132 Requisitos Software 9

314 PreInstalacioacuten del Servidor de Mantenimiento 9 3141 Requisitos Hardware 9 3142 Requisitos Software 9

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN 10 321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten 10 322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten 11 323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten 11 324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten 12 325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten 12

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN 12 34 ARRANQUE DE LOS COMPONENTES 14

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot 14 342 Arranque del Servidor de Administracioacuten 14 343 Arranque del Pool de Browsers 14 344 Arranque del Servidor de Wrappers 15 345 Arranque del Servidor de Mantenimiento 15

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN 16

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO 17

ITPilot 40 Manual de Usuario

51 INTRODUCCIOacuteN 17 52 ARRANQUE DE LOS SERVIDORES 17 53 CONFIGURACIOacuteN DEL POOL DE BROWSERS 17

531 Identificacioacuten del pool y asignacioacuten de puertos 19 532 Comportamiento de los Browsers del Pool 19 533 Proxy con Autenticacioacuten 20 534 Configuracioacuten de la conversioacuten HTML 21 535 Firefox Web Browser Configuration 21 536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers 22

5361 Poliacuteticas de Reutilizacioacuten de Browsers 22 537 Inicializacioacuten del Pool 24 538 Ejecucioacuten y parada del Pool de Browsers 24

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS 25 541 Acceso al Servidor de Wrappers 25 542 Lista de Wrappers 26

5421 Ejecucioacuten de Wrappers 26 5422 Exportacioacuten de los resultados a ficheros con formato CSV 27

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado 27 544 Asignacioacuten de Puertos 28 545 Carga de nuevos wrappers desde ficheros VQL 28 546 Creacioacuten de un Web Service 28

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO 31 551 Acceso al Servidor de Mantenimiento 31 552 Datos de Configuracioacuten del Servidor 31

5521 Paraacutemetros de la Base de Datos 32 5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico 32 5523 Paraacutemetros para Asignacioacuten de Puertos 33 5524 Edicioacuten de Reglas de Verificacioacuten 33

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado 35 554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers 35

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE 36

BIBLIOGRAFIacuteA 37

ITPilot 40 Manual de Usuario

IacuteNDICE DE FIGURAS Figura 1 Formulario de Tienda de Libros 2 Figura 2 Entornos y Componentes de ITPilot 3 Figura 3 Distribucioacuten del Entorno de Generacioacuten 5 Figura 4 Distribucioacuten del Entorno de Ejecucioacuten 6 Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento 6 Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten 16 Figura 7 Pestantildea de Browser Pool 18 Figura 8 Paacutegina de Adicioacuten de Servidor 18 Figura 9 Identificacioacuten y asignacioacuten 19 Figura 10 Comportamiento de los browsers 20 Figura 11 Proxy con autenticacioacuten 21 Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten 22 Figura 13 Iniciacioacuten del pool 24 Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers 25 Figura 15 Conexioacuten a un Wrapper 26 Figura 16 Paacutegina de Ejecucioacuten de Wrappers 27 Figura 17 Localizacioacuten del Pool de Browsers 27 Figura 18 Carga de Wrappers mediante Ficheros VQL 28 Figura 19 Lista de Wrappers con webmail cargado 29 Figura 20 Paacutegina de Exportacioacuten de Web Services 30 Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento 31 Figura 22 Paraacutemetros de BBDD de Mantenimiento 32 Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper 32 Figura 24 Paraacutemetros de Asignacioacuten de Puertos 33 Figura 25 Edicioacuten de Reglas de Verificacioacuten 35 Figura 26 Localizacioacuten de Pool de Browsers 35 Figura 27 Localizacioacuten de Servidor de Wrappers 35

ITPilot 40 Manual de Usuario

PREFACIO

ALCANCE

Este documento sirve de introduccioacuten y guiacutea de administracioacuten y utilizacioacuten de Denodo ITPilot

QUIEacuteN DEBERIacuteA USAR ESTE MANUAL

Este documento estaacute dirigido a administradores que pretendan instalar el software asiacute como utilizar la herramienta de administracioacuten de Denodo ITPilot

RESUMEN DE CONTENIDOS

Maacutes concretamente en este documento se describe

bull Introduccioacuten a ITPilot

bull Los diferentes entornos de funcionamiento de Denodo ITPilot

bull Configuracioacuten de cada uno de los componentes de Denodo ITPilot en los entornos de ejecucioacuten y mantenimiento

Prefacio i

ITPilot 40 Manual de Usuario

Introduccioacuten 1

1 INTRODUCCIOacuteN

La mayor parte de la informacioacuten que se encuentra disponible en la Worldwide Web (web en adelante) soacutelo puede ser obtenida por medios que son amigables para los usuarios de la red pero que no son uacutetiles si se desea un procesamiento automaacutetico y mecaacutenico por parte de aplicaciones software Un caso muy frecuente en nuestros diacuteas puede encontrarse en una gran cantidad de sitios web que ofrecen interfaces de consulta ad-hoc a traveacutes de formularios y que devuelven la informacioacuten requerida por medio de listados compuestos por respuestas semiestructuradas codificadas en documentos HTML A esta parte de la web ndashaquella accesible a traveacutes de diferentes tipos de formularios yo interfaces y que devuelven datos obtenidos automaacuteticamente de bases de datos internas- se la denomina habitualmente web oculta (o en ingleacutes ldquohidden webrdquo) Esta web oculta no es en absoluto una pequentildea parte del total de la WWW y contiene muchiacutesima informacioacuten que en muchos casos es de mayor calidad e intereacutes para los usuarios Sitios web como tiendas de comercio electroacutenico (que ofrecen sus cataacutelogos de esta manera) buscadores de informacioacuten cientiacutefica y de salud de patentes o de informacioacuten financiera son buenos ejemplos de esta situacioacuten Ademaacutes a menudo estos sitios web son de acceso privado (es decir es necesario un acceso mediante usuariocontrasentildea) presentan una interfaz de consulta avanzada (permitiendo buacutesquedas de informacioacuten a partir de diferentes conceptos) yo sus resultados se devuelven en forma de listas de iacutetems codificadas en HTML enlazaacutendose ademaacutes con paacuteginas relacionadas que contienen maacutes datos sobre cada iacutetem (pe normalmente las tiendas de comercio electroacutenico devuelven una lista de resultados pero con la posibilidad de que el usuario pueda ldquopincharrdquo sobre el tiacutetulo para acceder a otra paacutegina con comentarios sobre el producto fotos productos relacionados etc) Otras complicaciones habituales vienen derivadas del uso de teacutecnicas como Javascript HTML dinaacutemico o sistemas de mantenimiento de sesioacuten que complican todaviacutea maacutes el acceso automatizado a la informacioacuten contenida en estos sitios web Ademaacutes de la problemaacutetica de acceso a estas fuentes con informacioacuten ldquoocultardquo 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 visualizacioacuten por parte de usuarios y que no publica ninguacuten tipo de metainformacioacuten sobre la estructura yo la semaacutentica de los resultados generados ademaacutes de no diferenciar estructuralmente entre elementos de navegacioacuten (menuacutes) paneles graacuteficos e informacioacuten uacutetil para el usuario Surge por tanto tambieacuten el problema de la extraccioacuten de los datos relevantes contenidos en las paacuteginas HTML Ejemplo Consideremos el ejemplo de una tienda de libros en Internet cuyo formulario de buacutesqueda se muestra en la Figura 1 El formulario obliga al usuario a especificar un valor para el atributo lsquoTITULOrsquo y opcionalmente le permite fijar un valor para el atributo lsquoAUTORrsquo y para el atributo lsquoFORMATOrsquo (restringido a un conjunto de valores) La tienda de libros devuelve una lista de resultados con informacioacuten sobre TITULO AUTOR FORMATO EDITORIAL y PRECIO

ITPilot 40 Manual de Usuario

Introduccioacuten 2

Figura 1 Formulario de Tienda de Libros

Este caso resume las dificultades con las que se encuentra una aplicacioacuten que desee extraer informacioacuten estructurada de los entornos web acceso a fuentes web navegacioacuten a traveacutes de entornos transaccionales seleccioacuten de opciones y por uacuteltimo extraccioacuten de datos a partir de informacioacuten semiestructurada Denodo ITPilot es la solucioacuten 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 construccioacuten de una abstraccioacuten de la fuente web concreta denominada ldquowrapperrdquo o envoltorio que aiacutesla a las aplicaciones cliente de las caracteriacutesticas intriacutensecas de ese sitio (protocolo de acceso estructura nativa de la informacioacuten etc) ITPilot proporciona un entorno distribuido y escalable de generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo Este manual presenta Denodo ITPilot y ofrece instrucciones que permiten su correcta instalacioacuten recomendaciones sobre los diferentes tipos de arquitectura que soporta asiacute como una guiacutea del entorno de ejecucioacuten y mantenimiento En este mismo apartado se introduciraacuten los componentes de ITPilot en el siguiente apartado se proporcionaraacute una una visioacuten general de las arquitecturas recomendadas En el capiacutetulo 3 se detallaraacute el proceso de instalacioacuten de cada uno de los componentes Por uacuteltimo los capiacutetulos 4 y 5 explican coacutemo configurar y administrar los Entornos de Ejecucioacuten y Mantenimiento de ITPilot y coacutemo exportar un wrapper como WebService

11 ENTORNOS DE DENODO ITPILOT

Denodo ITPilot permite la generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo sobre fuentes web de una manera sencilla y dinaacutemica Para ello existen tres Entornos cada uno de los cuaacuteles permite una de las acciones comentadas y cuya gestioacuten se realiza a traveacutes de la Herramienta de Administracioacuten Cada entorno contiene una serie de Componentes que se describen a continuacioacuten La Figura 2 muestra graacuteficamente la relacioacuten entre los Entornos y sus Componentes

ITPilot 40 Manual de Usuario

Introduccioacuten 3

Figura 2 Entornos y Componentes de ITPilot

111 Herramienta de Administracioacuten

Es el centro de gestioacuten del entorno de ejecucioacuten desde donde se configuran los diferentes servidores que lo conforman Es una herramienta web que se comunica con un servidor de administracioacuten (desplegable en contenedores web que cumplan las especificaciones de servlets y JSPs)

112 Entorno de Generacioacuten

Este entorno engloba el conjunto de componentes necesarios para la creacioacuten de ldquowrappersrdquo a partir de la generacioacuten de especificaciones DEXTL de extraccioacuten de datos (ver [DEXTL] [GENER]) y secuencias de navegacioacuten NSEQL (ver [NSEQL] [GENER]) Los componentes de los que hace uso son los siguientes

- Herramientas de Generacioacuten las herramientas de generacioacuten de especificaciones de extraccioacuten de datos y de generacioacuten de secuencias de navegacioacuten son aplicaciones graacuteficas que permiten a un usuario no teacutecnico la creacioacuten de ldquowrappersrdquo web Para maacutes informacioacuten se recomienda la lectura del Manual del Entorno de Generacioacuten de Denodo ITPilot [GENER]

ITPilot 40 Manual de Usuario

Introduccioacuten 4

- Pool de Browsers de Generacioacuten este entorno utiliza internamente un Pool de Browsers para probar las secuencias de navegacioacuten y la especificacioacuten final

Ademaacutes y aunque no pertenece propiamente a este entorno las herramientas de generacioacuten pueden necesitar almacenar el ldquowrapperrdquo creado Para ello haraacuten uso del Servidor de Wrappers del Entorno de ejecucioacuten (ver siguiente seccioacuten 113)

113 Entorno de Ejecucioacuten

Este es el entorno de operacioacuten continuada donde el usuario podraacute hacer uso de los ldquowrappersrdquo previamente creados para realizar consultas sobre las fuentes Este uso podraacute ser directo (a traveacutes de un API nativo o publicando el wrapper como un WebService) o a traveacutes 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 ldquowrappersrdquo sobre los cuaacuteles se desean realizar accesos Incluye una interfaz remota que permite ejecutar sentencias sobre ella

- Pool de Browsers cuando se ejecuta un ldquowrapperrdquo se puede seleccionar IEBrowser (moacutedulo de navegacioacuten automaacutetica basado en Microsoft Internet Explorer [IE]) Firefox [FRFOX] o un cliente HTTP como meacutetodo de acceso En este caso el servidor de wrappers utiliza el pool de browsers para minimizar los tiempos de creacioacuten de instancias del navegador Este pool es configurable desde la herramienta de administracioacuten

114 Entorno de Mantenimiento

El entorno maacutes complejo es el de Ejecucioacuten y Mantenimiento Debido a que las fuentes web son autoacutenomas e independientes de los ldquowrappersrdquo pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual por lo que estos ldquowrappersrdquo dejan de extraer adecuadamente sus datos Denodo ITPilot ofrece una herramienta de mantenimiento automaacutetico que permite reparar automaacuteticamente los ldquowrappersrdquo a partir de la deteccioacuten automaacutetica de los cambios comentados anteriormente Aunque se trataraacute con mayor profundidad en el apartado 5 su funcionamiento baacutesico 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 configuracioacuten de la frecuencia de comprobacioacuten 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 accioacuten es el enviacuteo de un correo informando del cambio - La otra posibilidad es la regeneracioacuten automaacutetica del wrapper

Los componentes de los que consta este entorno aparte de los ya mencionados en el entorno de ejecucioacuten son los siguientes

- Servidor de Mantenimiento componente encargado de detectar automaacuteticamente los cambios producidos en las fuentes y de realizar la regeneracioacuten de los wrappers Se comunica con el servidor de wrappers para pedirle todos los ldquowrappers a mantener y para obtener los resultados de la ejecucioacuten de consultas sobre los mismos (estos resultados seraacuten utilizados para la comprobacioacuten de cambios y durante el proceso de regeneracioacuten)

- Pool de Browsers del Servidor de Mantenimiento pool de browsers utilizado en la fase de regeneracioacuten Como se ha comentado anteriormente una explicacioacuten detallada de este entorno se realizaraacute en el apartado 23 de este mismo manual El siguiente apartado recomienda diferentes arquitecturas de distribucioacuten de estos componentes El capiacutetulo 3 detalla los procesos de instalacioacuten y configuracioacuten de cada uno de los entornos de ITPilot

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 3: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

IacuteNDICE

PREFACIO I ALCANCE I QUIEacuteN DEBERIacuteA USAR ESTE MANUAL I RESUMEN DE CONTENIDOS I

1 INTRODUCCIOacuteN 1 11 ENTORNOS DE DENODO ITPILOT 2

111 Herramienta de Administracioacuten 3 112 Entorno de Generacioacuten 3 113 Entorno de Ejecucioacuten 4 114 Entorno de Mantenimiento 4

2 DISTRIBUCIOacuteN DE LOS ENTORNOS 5 21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN 5 22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN 5 23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO 6

3 INSTALACIOacuteN 8 31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT 8

311 Preinstalacioacuten del Servidor de Administracioacuten 8 3111 Requisitos Hardware 8 3112 Requisitos Software 8

312 PreInstalacioacuten del Pool de Browsers 8 3121 Requisitos Hardware 8 3122 Requisitos Software 8

313 PreInstalacioacuten del Servidor de Wrappers 9 3131 Requisitos Hardware 9 3132 Requisitos Software 9

314 PreInstalacioacuten del Servidor de Mantenimiento 9 3141 Requisitos Hardware 9 3142 Requisitos Software 9

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN 10 321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten 10 322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten 11 323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten 11 324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten 12 325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten 12

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN 12 34 ARRANQUE DE LOS COMPONENTES 14

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot 14 342 Arranque del Servidor de Administracioacuten 14 343 Arranque del Pool de Browsers 14 344 Arranque del Servidor de Wrappers 15 345 Arranque del Servidor de Mantenimiento 15

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN 16

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO 17

ITPilot 40 Manual de Usuario

51 INTRODUCCIOacuteN 17 52 ARRANQUE DE LOS SERVIDORES 17 53 CONFIGURACIOacuteN DEL POOL DE BROWSERS 17

531 Identificacioacuten del pool y asignacioacuten de puertos 19 532 Comportamiento de los Browsers del Pool 19 533 Proxy con Autenticacioacuten 20 534 Configuracioacuten de la conversioacuten HTML 21 535 Firefox Web Browser Configuration 21 536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers 22

5361 Poliacuteticas de Reutilizacioacuten de Browsers 22 537 Inicializacioacuten del Pool 24 538 Ejecucioacuten y parada del Pool de Browsers 24

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS 25 541 Acceso al Servidor de Wrappers 25 542 Lista de Wrappers 26

5421 Ejecucioacuten de Wrappers 26 5422 Exportacioacuten de los resultados a ficheros con formato CSV 27

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado 27 544 Asignacioacuten de Puertos 28 545 Carga de nuevos wrappers desde ficheros VQL 28 546 Creacioacuten de un Web Service 28

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO 31 551 Acceso al Servidor de Mantenimiento 31 552 Datos de Configuracioacuten del Servidor 31

5521 Paraacutemetros de la Base de Datos 32 5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico 32 5523 Paraacutemetros para Asignacioacuten de Puertos 33 5524 Edicioacuten de Reglas de Verificacioacuten 33

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado 35 554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers 35

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE 36

BIBLIOGRAFIacuteA 37

ITPilot 40 Manual de Usuario

IacuteNDICE DE FIGURAS Figura 1 Formulario de Tienda de Libros 2 Figura 2 Entornos y Componentes de ITPilot 3 Figura 3 Distribucioacuten del Entorno de Generacioacuten 5 Figura 4 Distribucioacuten del Entorno de Ejecucioacuten 6 Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento 6 Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten 16 Figura 7 Pestantildea de Browser Pool 18 Figura 8 Paacutegina de Adicioacuten de Servidor 18 Figura 9 Identificacioacuten y asignacioacuten 19 Figura 10 Comportamiento de los browsers 20 Figura 11 Proxy con autenticacioacuten 21 Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten 22 Figura 13 Iniciacioacuten del pool 24 Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers 25 Figura 15 Conexioacuten a un Wrapper 26 Figura 16 Paacutegina de Ejecucioacuten de Wrappers 27 Figura 17 Localizacioacuten del Pool de Browsers 27 Figura 18 Carga de Wrappers mediante Ficheros VQL 28 Figura 19 Lista de Wrappers con webmail cargado 29 Figura 20 Paacutegina de Exportacioacuten de Web Services 30 Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento 31 Figura 22 Paraacutemetros de BBDD de Mantenimiento 32 Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper 32 Figura 24 Paraacutemetros de Asignacioacuten de Puertos 33 Figura 25 Edicioacuten de Reglas de Verificacioacuten 35 Figura 26 Localizacioacuten de Pool de Browsers 35 Figura 27 Localizacioacuten de Servidor de Wrappers 35

ITPilot 40 Manual de Usuario

PREFACIO

ALCANCE

Este documento sirve de introduccioacuten y guiacutea de administracioacuten y utilizacioacuten de Denodo ITPilot

QUIEacuteN DEBERIacuteA USAR ESTE MANUAL

Este documento estaacute dirigido a administradores que pretendan instalar el software asiacute como utilizar la herramienta de administracioacuten de Denodo ITPilot

RESUMEN DE CONTENIDOS

Maacutes concretamente en este documento se describe

bull Introduccioacuten a ITPilot

bull Los diferentes entornos de funcionamiento de Denodo ITPilot

bull Configuracioacuten de cada uno de los componentes de Denodo ITPilot en los entornos de ejecucioacuten y mantenimiento

Prefacio i

ITPilot 40 Manual de Usuario

Introduccioacuten 1

1 INTRODUCCIOacuteN

La mayor parte de la informacioacuten que se encuentra disponible en la Worldwide Web (web en adelante) soacutelo puede ser obtenida por medios que son amigables para los usuarios de la red pero que no son uacutetiles si se desea un procesamiento automaacutetico y mecaacutenico por parte de aplicaciones software Un caso muy frecuente en nuestros diacuteas puede encontrarse en una gran cantidad de sitios web que ofrecen interfaces de consulta ad-hoc a traveacutes de formularios y que devuelven la informacioacuten requerida por medio de listados compuestos por respuestas semiestructuradas codificadas en documentos HTML A esta parte de la web ndashaquella accesible a traveacutes de diferentes tipos de formularios yo interfaces y que devuelven datos obtenidos automaacuteticamente de bases de datos internas- se la denomina habitualmente web oculta (o en ingleacutes ldquohidden webrdquo) Esta web oculta no es en absoluto una pequentildea parte del total de la WWW y contiene muchiacutesima informacioacuten que en muchos casos es de mayor calidad e intereacutes para los usuarios Sitios web como tiendas de comercio electroacutenico (que ofrecen sus cataacutelogos de esta manera) buscadores de informacioacuten cientiacutefica y de salud de patentes o de informacioacuten financiera son buenos ejemplos de esta situacioacuten Ademaacutes a menudo estos sitios web son de acceso privado (es decir es necesario un acceso mediante usuariocontrasentildea) presentan una interfaz de consulta avanzada (permitiendo buacutesquedas de informacioacuten a partir de diferentes conceptos) yo sus resultados se devuelven en forma de listas de iacutetems codificadas en HTML enlazaacutendose ademaacutes con paacuteginas relacionadas que contienen maacutes datos sobre cada iacutetem (pe normalmente las tiendas de comercio electroacutenico devuelven una lista de resultados pero con la posibilidad de que el usuario pueda ldquopincharrdquo sobre el tiacutetulo para acceder a otra paacutegina con comentarios sobre el producto fotos productos relacionados etc) Otras complicaciones habituales vienen derivadas del uso de teacutecnicas como Javascript HTML dinaacutemico o sistemas de mantenimiento de sesioacuten que complican todaviacutea maacutes el acceso automatizado a la informacioacuten contenida en estos sitios web Ademaacutes de la problemaacutetica de acceso a estas fuentes con informacioacuten ldquoocultardquo 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 visualizacioacuten por parte de usuarios y que no publica ninguacuten tipo de metainformacioacuten sobre la estructura yo la semaacutentica de los resultados generados ademaacutes de no diferenciar estructuralmente entre elementos de navegacioacuten (menuacutes) paneles graacuteficos e informacioacuten uacutetil para el usuario Surge por tanto tambieacuten el problema de la extraccioacuten de los datos relevantes contenidos en las paacuteginas HTML Ejemplo Consideremos el ejemplo de una tienda de libros en Internet cuyo formulario de buacutesqueda se muestra en la Figura 1 El formulario obliga al usuario a especificar un valor para el atributo lsquoTITULOrsquo y opcionalmente le permite fijar un valor para el atributo lsquoAUTORrsquo y para el atributo lsquoFORMATOrsquo (restringido a un conjunto de valores) La tienda de libros devuelve una lista de resultados con informacioacuten sobre TITULO AUTOR FORMATO EDITORIAL y PRECIO

ITPilot 40 Manual de Usuario

Introduccioacuten 2

Figura 1 Formulario de Tienda de Libros

Este caso resume las dificultades con las que se encuentra una aplicacioacuten que desee extraer informacioacuten estructurada de los entornos web acceso a fuentes web navegacioacuten a traveacutes de entornos transaccionales seleccioacuten de opciones y por uacuteltimo extraccioacuten de datos a partir de informacioacuten semiestructurada Denodo ITPilot es la solucioacuten 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 construccioacuten de una abstraccioacuten de la fuente web concreta denominada ldquowrapperrdquo o envoltorio que aiacutesla a las aplicaciones cliente de las caracteriacutesticas intriacutensecas de ese sitio (protocolo de acceso estructura nativa de la informacioacuten etc) ITPilot proporciona un entorno distribuido y escalable de generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo Este manual presenta Denodo ITPilot y ofrece instrucciones que permiten su correcta instalacioacuten recomendaciones sobre los diferentes tipos de arquitectura que soporta asiacute como una guiacutea del entorno de ejecucioacuten y mantenimiento En este mismo apartado se introduciraacuten los componentes de ITPilot en el siguiente apartado se proporcionaraacute una una visioacuten general de las arquitecturas recomendadas En el capiacutetulo 3 se detallaraacute el proceso de instalacioacuten de cada uno de los componentes Por uacuteltimo los capiacutetulos 4 y 5 explican coacutemo configurar y administrar los Entornos de Ejecucioacuten y Mantenimiento de ITPilot y coacutemo exportar un wrapper como WebService

11 ENTORNOS DE DENODO ITPILOT

Denodo ITPilot permite la generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo sobre fuentes web de una manera sencilla y dinaacutemica Para ello existen tres Entornos cada uno de los cuaacuteles permite una de las acciones comentadas y cuya gestioacuten se realiza a traveacutes de la Herramienta de Administracioacuten Cada entorno contiene una serie de Componentes que se describen a continuacioacuten La Figura 2 muestra graacuteficamente la relacioacuten entre los Entornos y sus Componentes

ITPilot 40 Manual de Usuario

Introduccioacuten 3

Figura 2 Entornos y Componentes de ITPilot

111 Herramienta de Administracioacuten

Es el centro de gestioacuten del entorno de ejecucioacuten desde donde se configuran los diferentes servidores que lo conforman Es una herramienta web que se comunica con un servidor de administracioacuten (desplegable en contenedores web que cumplan las especificaciones de servlets y JSPs)

112 Entorno de Generacioacuten

Este entorno engloba el conjunto de componentes necesarios para la creacioacuten de ldquowrappersrdquo a partir de la generacioacuten de especificaciones DEXTL de extraccioacuten de datos (ver [DEXTL] [GENER]) y secuencias de navegacioacuten NSEQL (ver [NSEQL] [GENER]) Los componentes de los que hace uso son los siguientes

- Herramientas de Generacioacuten las herramientas de generacioacuten de especificaciones de extraccioacuten de datos y de generacioacuten de secuencias de navegacioacuten son aplicaciones graacuteficas que permiten a un usuario no teacutecnico la creacioacuten de ldquowrappersrdquo web Para maacutes informacioacuten se recomienda la lectura del Manual del Entorno de Generacioacuten de Denodo ITPilot [GENER]

ITPilot 40 Manual de Usuario

Introduccioacuten 4

- Pool de Browsers de Generacioacuten este entorno utiliza internamente un Pool de Browsers para probar las secuencias de navegacioacuten y la especificacioacuten final

Ademaacutes y aunque no pertenece propiamente a este entorno las herramientas de generacioacuten pueden necesitar almacenar el ldquowrapperrdquo creado Para ello haraacuten uso del Servidor de Wrappers del Entorno de ejecucioacuten (ver siguiente seccioacuten 113)

113 Entorno de Ejecucioacuten

Este es el entorno de operacioacuten continuada donde el usuario podraacute hacer uso de los ldquowrappersrdquo previamente creados para realizar consultas sobre las fuentes Este uso podraacute ser directo (a traveacutes de un API nativo o publicando el wrapper como un WebService) o a traveacutes 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 ldquowrappersrdquo sobre los cuaacuteles se desean realizar accesos Incluye una interfaz remota que permite ejecutar sentencias sobre ella

- Pool de Browsers cuando se ejecuta un ldquowrapperrdquo se puede seleccionar IEBrowser (moacutedulo de navegacioacuten automaacutetica basado en Microsoft Internet Explorer [IE]) Firefox [FRFOX] o un cliente HTTP como meacutetodo de acceso En este caso el servidor de wrappers utiliza el pool de browsers para minimizar los tiempos de creacioacuten de instancias del navegador Este pool es configurable desde la herramienta de administracioacuten

114 Entorno de Mantenimiento

El entorno maacutes complejo es el de Ejecucioacuten y Mantenimiento Debido a que las fuentes web son autoacutenomas e independientes de los ldquowrappersrdquo pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual por lo que estos ldquowrappersrdquo dejan de extraer adecuadamente sus datos Denodo ITPilot ofrece una herramienta de mantenimiento automaacutetico que permite reparar automaacuteticamente los ldquowrappersrdquo a partir de la deteccioacuten automaacutetica de los cambios comentados anteriormente Aunque se trataraacute con mayor profundidad en el apartado 5 su funcionamiento baacutesico 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 configuracioacuten de la frecuencia de comprobacioacuten 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 accioacuten es el enviacuteo de un correo informando del cambio - La otra posibilidad es la regeneracioacuten automaacutetica del wrapper

Los componentes de los que consta este entorno aparte de los ya mencionados en el entorno de ejecucioacuten son los siguientes

- Servidor de Mantenimiento componente encargado de detectar automaacuteticamente los cambios producidos en las fuentes y de realizar la regeneracioacuten de los wrappers Se comunica con el servidor de wrappers para pedirle todos los ldquowrappers a mantener y para obtener los resultados de la ejecucioacuten de consultas sobre los mismos (estos resultados seraacuten utilizados para la comprobacioacuten de cambios y durante el proceso de regeneracioacuten)

- Pool de Browsers del Servidor de Mantenimiento pool de browsers utilizado en la fase de regeneracioacuten Como se ha comentado anteriormente una explicacioacuten detallada de este entorno se realizaraacute en el apartado 23 de este mismo manual El siguiente apartado recomienda diferentes arquitecturas de distribucioacuten de estos componentes El capiacutetulo 3 detalla los procesos de instalacioacuten y configuracioacuten de cada uno de los entornos de ITPilot

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 4: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

51 INTRODUCCIOacuteN 17 52 ARRANQUE DE LOS SERVIDORES 17 53 CONFIGURACIOacuteN DEL POOL DE BROWSERS 17

531 Identificacioacuten del pool y asignacioacuten de puertos 19 532 Comportamiento de los Browsers del Pool 19 533 Proxy con Autenticacioacuten 20 534 Configuracioacuten de la conversioacuten HTML 21 535 Firefox Web Browser Configuration 21 536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers 22

5361 Poliacuteticas de Reutilizacioacuten de Browsers 22 537 Inicializacioacuten del Pool 24 538 Ejecucioacuten y parada del Pool de Browsers 24

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS 25 541 Acceso al Servidor de Wrappers 25 542 Lista de Wrappers 26

5421 Ejecucioacuten de Wrappers 26 5422 Exportacioacuten de los resultados a ficheros con formato CSV 27

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado 27 544 Asignacioacuten de Puertos 28 545 Carga de nuevos wrappers desde ficheros VQL 28 546 Creacioacuten de un Web Service 28

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO 31 551 Acceso al Servidor de Mantenimiento 31 552 Datos de Configuracioacuten del Servidor 31

5521 Paraacutemetros de la Base de Datos 32 5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico 32 5523 Paraacutemetros para Asignacioacuten de Puertos 33 5524 Edicioacuten de Reglas de Verificacioacuten 33

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado 35 554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers 35

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE 36

BIBLIOGRAFIacuteA 37

ITPilot 40 Manual de Usuario

IacuteNDICE DE FIGURAS Figura 1 Formulario de Tienda de Libros 2 Figura 2 Entornos y Componentes de ITPilot 3 Figura 3 Distribucioacuten del Entorno de Generacioacuten 5 Figura 4 Distribucioacuten del Entorno de Ejecucioacuten 6 Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento 6 Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten 16 Figura 7 Pestantildea de Browser Pool 18 Figura 8 Paacutegina de Adicioacuten de Servidor 18 Figura 9 Identificacioacuten y asignacioacuten 19 Figura 10 Comportamiento de los browsers 20 Figura 11 Proxy con autenticacioacuten 21 Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten 22 Figura 13 Iniciacioacuten del pool 24 Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers 25 Figura 15 Conexioacuten a un Wrapper 26 Figura 16 Paacutegina de Ejecucioacuten de Wrappers 27 Figura 17 Localizacioacuten del Pool de Browsers 27 Figura 18 Carga de Wrappers mediante Ficheros VQL 28 Figura 19 Lista de Wrappers con webmail cargado 29 Figura 20 Paacutegina de Exportacioacuten de Web Services 30 Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento 31 Figura 22 Paraacutemetros de BBDD de Mantenimiento 32 Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper 32 Figura 24 Paraacutemetros de Asignacioacuten de Puertos 33 Figura 25 Edicioacuten de Reglas de Verificacioacuten 35 Figura 26 Localizacioacuten de Pool de Browsers 35 Figura 27 Localizacioacuten de Servidor de Wrappers 35

ITPilot 40 Manual de Usuario

PREFACIO

ALCANCE

Este documento sirve de introduccioacuten y guiacutea de administracioacuten y utilizacioacuten de Denodo ITPilot

QUIEacuteN DEBERIacuteA USAR ESTE MANUAL

Este documento estaacute dirigido a administradores que pretendan instalar el software asiacute como utilizar la herramienta de administracioacuten de Denodo ITPilot

RESUMEN DE CONTENIDOS

Maacutes concretamente en este documento se describe

bull Introduccioacuten a ITPilot

bull Los diferentes entornos de funcionamiento de Denodo ITPilot

bull Configuracioacuten de cada uno de los componentes de Denodo ITPilot en los entornos de ejecucioacuten y mantenimiento

Prefacio i

ITPilot 40 Manual de Usuario

Introduccioacuten 1

1 INTRODUCCIOacuteN

La mayor parte de la informacioacuten que se encuentra disponible en la Worldwide Web (web en adelante) soacutelo puede ser obtenida por medios que son amigables para los usuarios de la red pero que no son uacutetiles si se desea un procesamiento automaacutetico y mecaacutenico por parte de aplicaciones software Un caso muy frecuente en nuestros diacuteas puede encontrarse en una gran cantidad de sitios web que ofrecen interfaces de consulta ad-hoc a traveacutes de formularios y que devuelven la informacioacuten requerida por medio de listados compuestos por respuestas semiestructuradas codificadas en documentos HTML A esta parte de la web ndashaquella accesible a traveacutes de diferentes tipos de formularios yo interfaces y que devuelven datos obtenidos automaacuteticamente de bases de datos internas- se la denomina habitualmente web oculta (o en ingleacutes ldquohidden webrdquo) Esta web oculta no es en absoluto una pequentildea parte del total de la WWW y contiene muchiacutesima informacioacuten que en muchos casos es de mayor calidad e intereacutes para los usuarios Sitios web como tiendas de comercio electroacutenico (que ofrecen sus cataacutelogos de esta manera) buscadores de informacioacuten cientiacutefica y de salud de patentes o de informacioacuten financiera son buenos ejemplos de esta situacioacuten Ademaacutes a menudo estos sitios web son de acceso privado (es decir es necesario un acceso mediante usuariocontrasentildea) presentan una interfaz de consulta avanzada (permitiendo buacutesquedas de informacioacuten a partir de diferentes conceptos) yo sus resultados se devuelven en forma de listas de iacutetems codificadas en HTML enlazaacutendose ademaacutes con paacuteginas relacionadas que contienen maacutes datos sobre cada iacutetem (pe normalmente las tiendas de comercio electroacutenico devuelven una lista de resultados pero con la posibilidad de que el usuario pueda ldquopincharrdquo sobre el tiacutetulo para acceder a otra paacutegina con comentarios sobre el producto fotos productos relacionados etc) Otras complicaciones habituales vienen derivadas del uso de teacutecnicas como Javascript HTML dinaacutemico o sistemas de mantenimiento de sesioacuten que complican todaviacutea maacutes el acceso automatizado a la informacioacuten contenida en estos sitios web Ademaacutes de la problemaacutetica de acceso a estas fuentes con informacioacuten ldquoocultardquo 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 visualizacioacuten por parte de usuarios y que no publica ninguacuten tipo de metainformacioacuten sobre la estructura yo la semaacutentica de los resultados generados ademaacutes de no diferenciar estructuralmente entre elementos de navegacioacuten (menuacutes) paneles graacuteficos e informacioacuten uacutetil para el usuario Surge por tanto tambieacuten el problema de la extraccioacuten de los datos relevantes contenidos en las paacuteginas HTML Ejemplo Consideremos el ejemplo de una tienda de libros en Internet cuyo formulario de buacutesqueda se muestra en la Figura 1 El formulario obliga al usuario a especificar un valor para el atributo lsquoTITULOrsquo y opcionalmente le permite fijar un valor para el atributo lsquoAUTORrsquo y para el atributo lsquoFORMATOrsquo (restringido a un conjunto de valores) La tienda de libros devuelve una lista de resultados con informacioacuten sobre TITULO AUTOR FORMATO EDITORIAL y PRECIO

ITPilot 40 Manual de Usuario

Introduccioacuten 2

Figura 1 Formulario de Tienda de Libros

Este caso resume las dificultades con las que se encuentra una aplicacioacuten que desee extraer informacioacuten estructurada de los entornos web acceso a fuentes web navegacioacuten a traveacutes de entornos transaccionales seleccioacuten de opciones y por uacuteltimo extraccioacuten de datos a partir de informacioacuten semiestructurada Denodo ITPilot es la solucioacuten 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 construccioacuten de una abstraccioacuten de la fuente web concreta denominada ldquowrapperrdquo o envoltorio que aiacutesla a las aplicaciones cliente de las caracteriacutesticas intriacutensecas de ese sitio (protocolo de acceso estructura nativa de la informacioacuten etc) ITPilot proporciona un entorno distribuido y escalable de generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo Este manual presenta Denodo ITPilot y ofrece instrucciones que permiten su correcta instalacioacuten recomendaciones sobre los diferentes tipos de arquitectura que soporta asiacute como una guiacutea del entorno de ejecucioacuten y mantenimiento En este mismo apartado se introduciraacuten los componentes de ITPilot en el siguiente apartado se proporcionaraacute una una visioacuten general de las arquitecturas recomendadas En el capiacutetulo 3 se detallaraacute el proceso de instalacioacuten de cada uno de los componentes Por uacuteltimo los capiacutetulos 4 y 5 explican coacutemo configurar y administrar los Entornos de Ejecucioacuten y Mantenimiento de ITPilot y coacutemo exportar un wrapper como WebService

11 ENTORNOS DE DENODO ITPILOT

Denodo ITPilot permite la generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo sobre fuentes web de una manera sencilla y dinaacutemica Para ello existen tres Entornos cada uno de los cuaacuteles permite una de las acciones comentadas y cuya gestioacuten se realiza a traveacutes de la Herramienta de Administracioacuten Cada entorno contiene una serie de Componentes que se describen a continuacioacuten La Figura 2 muestra graacuteficamente la relacioacuten entre los Entornos y sus Componentes

ITPilot 40 Manual de Usuario

Introduccioacuten 3

Figura 2 Entornos y Componentes de ITPilot

111 Herramienta de Administracioacuten

Es el centro de gestioacuten del entorno de ejecucioacuten desde donde se configuran los diferentes servidores que lo conforman Es una herramienta web que se comunica con un servidor de administracioacuten (desplegable en contenedores web que cumplan las especificaciones de servlets y JSPs)

112 Entorno de Generacioacuten

Este entorno engloba el conjunto de componentes necesarios para la creacioacuten de ldquowrappersrdquo a partir de la generacioacuten de especificaciones DEXTL de extraccioacuten de datos (ver [DEXTL] [GENER]) y secuencias de navegacioacuten NSEQL (ver [NSEQL] [GENER]) Los componentes de los que hace uso son los siguientes

- Herramientas de Generacioacuten las herramientas de generacioacuten de especificaciones de extraccioacuten de datos y de generacioacuten de secuencias de navegacioacuten son aplicaciones graacuteficas que permiten a un usuario no teacutecnico la creacioacuten de ldquowrappersrdquo web Para maacutes informacioacuten se recomienda la lectura del Manual del Entorno de Generacioacuten de Denodo ITPilot [GENER]

ITPilot 40 Manual de Usuario

Introduccioacuten 4

- Pool de Browsers de Generacioacuten este entorno utiliza internamente un Pool de Browsers para probar las secuencias de navegacioacuten y la especificacioacuten final

Ademaacutes y aunque no pertenece propiamente a este entorno las herramientas de generacioacuten pueden necesitar almacenar el ldquowrapperrdquo creado Para ello haraacuten uso del Servidor de Wrappers del Entorno de ejecucioacuten (ver siguiente seccioacuten 113)

113 Entorno de Ejecucioacuten

Este es el entorno de operacioacuten continuada donde el usuario podraacute hacer uso de los ldquowrappersrdquo previamente creados para realizar consultas sobre las fuentes Este uso podraacute ser directo (a traveacutes de un API nativo o publicando el wrapper como un WebService) o a traveacutes 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 ldquowrappersrdquo sobre los cuaacuteles se desean realizar accesos Incluye una interfaz remota que permite ejecutar sentencias sobre ella

- Pool de Browsers cuando se ejecuta un ldquowrapperrdquo se puede seleccionar IEBrowser (moacutedulo de navegacioacuten automaacutetica basado en Microsoft Internet Explorer [IE]) Firefox [FRFOX] o un cliente HTTP como meacutetodo de acceso En este caso el servidor de wrappers utiliza el pool de browsers para minimizar los tiempos de creacioacuten de instancias del navegador Este pool es configurable desde la herramienta de administracioacuten

114 Entorno de Mantenimiento

El entorno maacutes complejo es el de Ejecucioacuten y Mantenimiento Debido a que las fuentes web son autoacutenomas e independientes de los ldquowrappersrdquo pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual por lo que estos ldquowrappersrdquo dejan de extraer adecuadamente sus datos Denodo ITPilot ofrece una herramienta de mantenimiento automaacutetico que permite reparar automaacuteticamente los ldquowrappersrdquo a partir de la deteccioacuten automaacutetica de los cambios comentados anteriormente Aunque se trataraacute con mayor profundidad en el apartado 5 su funcionamiento baacutesico 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 configuracioacuten de la frecuencia de comprobacioacuten 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 accioacuten es el enviacuteo de un correo informando del cambio - La otra posibilidad es la regeneracioacuten automaacutetica del wrapper

Los componentes de los que consta este entorno aparte de los ya mencionados en el entorno de ejecucioacuten son los siguientes

- Servidor de Mantenimiento componente encargado de detectar automaacuteticamente los cambios producidos en las fuentes y de realizar la regeneracioacuten de los wrappers Se comunica con el servidor de wrappers para pedirle todos los ldquowrappers a mantener y para obtener los resultados de la ejecucioacuten de consultas sobre los mismos (estos resultados seraacuten utilizados para la comprobacioacuten de cambios y durante el proceso de regeneracioacuten)

- Pool de Browsers del Servidor de Mantenimiento pool de browsers utilizado en la fase de regeneracioacuten Como se ha comentado anteriormente una explicacioacuten detallada de este entorno se realizaraacute en el apartado 23 de este mismo manual El siguiente apartado recomienda diferentes arquitecturas de distribucioacuten de estos componentes El capiacutetulo 3 detalla los procesos de instalacioacuten y configuracioacuten de cada uno de los entornos de ITPilot

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 5: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

IacuteNDICE DE FIGURAS Figura 1 Formulario de Tienda de Libros 2 Figura 2 Entornos y Componentes de ITPilot 3 Figura 3 Distribucioacuten del Entorno de Generacioacuten 5 Figura 4 Distribucioacuten del Entorno de Ejecucioacuten 6 Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento 6 Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten 16 Figura 7 Pestantildea de Browser Pool 18 Figura 8 Paacutegina de Adicioacuten de Servidor 18 Figura 9 Identificacioacuten y asignacioacuten 19 Figura 10 Comportamiento de los browsers 20 Figura 11 Proxy con autenticacioacuten 21 Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten 22 Figura 13 Iniciacioacuten del pool 24 Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers 25 Figura 15 Conexioacuten a un Wrapper 26 Figura 16 Paacutegina de Ejecucioacuten de Wrappers 27 Figura 17 Localizacioacuten del Pool de Browsers 27 Figura 18 Carga de Wrappers mediante Ficheros VQL 28 Figura 19 Lista de Wrappers con webmail cargado 29 Figura 20 Paacutegina de Exportacioacuten de Web Services 30 Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento 31 Figura 22 Paraacutemetros de BBDD de Mantenimiento 32 Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper 32 Figura 24 Paraacutemetros de Asignacioacuten de Puertos 33 Figura 25 Edicioacuten de Reglas de Verificacioacuten 35 Figura 26 Localizacioacuten de Pool de Browsers 35 Figura 27 Localizacioacuten de Servidor de Wrappers 35

ITPilot 40 Manual de Usuario

PREFACIO

ALCANCE

Este documento sirve de introduccioacuten y guiacutea de administracioacuten y utilizacioacuten de Denodo ITPilot

QUIEacuteN DEBERIacuteA USAR ESTE MANUAL

Este documento estaacute dirigido a administradores que pretendan instalar el software asiacute como utilizar la herramienta de administracioacuten de Denodo ITPilot

RESUMEN DE CONTENIDOS

Maacutes concretamente en este documento se describe

bull Introduccioacuten a ITPilot

bull Los diferentes entornos de funcionamiento de Denodo ITPilot

bull Configuracioacuten de cada uno de los componentes de Denodo ITPilot en los entornos de ejecucioacuten y mantenimiento

Prefacio i

ITPilot 40 Manual de Usuario

Introduccioacuten 1

1 INTRODUCCIOacuteN

La mayor parte de la informacioacuten que se encuentra disponible en la Worldwide Web (web en adelante) soacutelo puede ser obtenida por medios que son amigables para los usuarios de la red pero que no son uacutetiles si se desea un procesamiento automaacutetico y mecaacutenico por parte de aplicaciones software Un caso muy frecuente en nuestros diacuteas puede encontrarse en una gran cantidad de sitios web que ofrecen interfaces de consulta ad-hoc a traveacutes de formularios y que devuelven la informacioacuten requerida por medio de listados compuestos por respuestas semiestructuradas codificadas en documentos HTML A esta parte de la web ndashaquella accesible a traveacutes de diferentes tipos de formularios yo interfaces y que devuelven datos obtenidos automaacuteticamente de bases de datos internas- se la denomina habitualmente web oculta (o en ingleacutes ldquohidden webrdquo) Esta web oculta no es en absoluto una pequentildea parte del total de la WWW y contiene muchiacutesima informacioacuten que en muchos casos es de mayor calidad e intereacutes para los usuarios Sitios web como tiendas de comercio electroacutenico (que ofrecen sus cataacutelogos de esta manera) buscadores de informacioacuten cientiacutefica y de salud de patentes o de informacioacuten financiera son buenos ejemplos de esta situacioacuten Ademaacutes a menudo estos sitios web son de acceso privado (es decir es necesario un acceso mediante usuariocontrasentildea) presentan una interfaz de consulta avanzada (permitiendo buacutesquedas de informacioacuten a partir de diferentes conceptos) yo sus resultados se devuelven en forma de listas de iacutetems codificadas en HTML enlazaacutendose ademaacutes con paacuteginas relacionadas que contienen maacutes datos sobre cada iacutetem (pe normalmente las tiendas de comercio electroacutenico devuelven una lista de resultados pero con la posibilidad de que el usuario pueda ldquopincharrdquo sobre el tiacutetulo para acceder a otra paacutegina con comentarios sobre el producto fotos productos relacionados etc) Otras complicaciones habituales vienen derivadas del uso de teacutecnicas como Javascript HTML dinaacutemico o sistemas de mantenimiento de sesioacuten que complican todaviacutea maacutes el acceso automatizado a la informacioacuten contenida en estos sitios web Ademaacutes de la problemaacutetica de acceso a estas fuentes con informacioacuten ldquoocultardquo 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 visualizacioacuten por parte de usuarios y que no publica ninguacuten tipo de metainformacioacuten sobre la estructura yo la semaacutentica de los resultados generados ademaacutes de no diferenciar estructuralmente entre elementos de navegacioacuten (menuacutes) paneles graacuteficos e informacioacuten uacutetil para el usuario Surge por tanto tambieacuten el problema de la extraccioacuten de los datos relevantes contenidos en las paacuteginas HTML Ejemplo Consideremos el ejemplo de una tienda de libros en Internet cuyo formulario de buacutesqueda se muestra en la Figura 1 El formulario obliga al usuario a especificar un valor para el atributo lsquoTITULOrsquo y opcionalmente le permite fijar un valor para el atributo lsquoAUTORrsquo y para el atributo lsquoFORMATOrsquo (restringido a un conjunto de valores) La tienda de libros devuelve una lista de resultados con informacioacuten sobre TITULO AUTOR FORMATO EDITORIAL y PRECIO

ITPilot 40 Manual de Usuario

Introduccioacuten 2

Figura 1 Formulario de Tienda de Libros

Este caso resume las dificultades con las que se encuentra una aplicacioacuten que desee extraer informacioacuten estructurada de los entornos web acceso a fuentes web navegacioacuten a traveacutes de entornos transaccionales seleccioacuten de opciones y por uacuteltimo extraccioacuten de datos a partir de informacioacuten semiestructurada Denodo ITPilot es la solucioacuten 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 construccioacuten de una abstraccioacuten de la fuente web concreta denominada ldquowrapperrdquo o envoltorio que aiacutesla a las aplicaciones cliente de las caracteriacutesticas intriacutensecas de ese sitio (protocolo de acceso estructura nativa de la informacioacuten etc) ITPilot proporciona un entorno distribuido y escalable de generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo Este manual presenta Denodo ITPilot y ofrece instrucciones que permiten su correcta instalacioacuten recomendaciones sobre los diferentes tipos de arquitectura que soporta asiacute como una guiacutea del entorno de ejecucioacuten y mantenimiento En este mismo apartado se introduciraacuten los componentes de ITPilot en el siguiente apartado se proporcionaraacute una una visioacuten general de las arquitecturas recomendadas En el capiacutetulo 3 se detallaraacute el proceso de instalacioacuten de cada uno de los componentes Por uacuteltimo los capiacutetulos 4 y 5 explican coacutemo configurar y administrar los Entornos de Ejecucioacuten y Mantenimiento de ITPilot y coacutemo exportar un wrapper como WebService

11 ENTORNOS DE DENODO ITPILOT

Denodo ITPilot permite la generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo sobre fuentes web de una manera sencilla y dinaacutemica Para ello existen tres Entornos cada uno de los cuaacuteles permite una de las acciones comentadas y cuya gestioacuten se realiza a traveacutes de la Herramienta de Administracioacuten Cada entorno contiene una serie de Componentes que se describen a continuacioacuten La Figura 2 muestra graacuteficamente la relacioacuten entre los Entornos y sus Componentes

ITPilot 40 Manual de Usuario

Introduccioacuten 3

Figura 2 Entornos y Componentes de ITPilot

111 Herramienta de Administracioacuten

Es el centro de gestioacuten del entorno de ejecucioacuten desde donde se configuran los diferentes servidores que lo conforman Es una herramienta web que se comunica con un servidor de administracioacuten (desplegable en contenedores web que cumplan las especificaciones de servlets y JSPs)

112 Entorno de Generacioacuten

Este entorno engloba el conjunto de componentes necesarios para la creacioacuten de ldquowrappersrdquo a partir de la generacioacuten de especificaciones DEXTL de extraccioacuten de datos (ver [DEXTL] [GENER]) y secuencias de navegacioacuten NSEQL (ver [NSEQL] [GENER]) Los componentes de los que hace uso son los siguientes

- Herramientas de Generacioacuten las herramientas de generacioacuten de especificaciones de extraccioacuten de datos y de generacioacuten de secuencias de navegacioacuten son aplicaciones graacuteficas que permiten a un usuario no teacutecnico la creacioacuten de ldquowrappersrdquo web Para maacutes informacioacuten se recomienda la lectura del Manual del Entorno de Generacioacuten de Denodo ITPilot [GENER]

ITPilot 40 Manual de Usuario

Introduccioacuten 4

- Pool de Browsers de Generacioacuten este entorno utiliza internamente un Pool de Browsers para probar las secuencias de navegacioacuten y la especificacioacuten final

Ademaacutes y aunque no pertenece propiamente a este entorno las herramientas de generacioacuten pueden necesitar almacenar el ldquowrapperrdquo creado Para ello haraacuten uso del Servidor de Wrappers del Entorno de ejecucioacuten (ver siguiente seccioacuten 113)

113 Entorno de Ejecucioacuten

Este es el entorno de operacioacuten continuada donde el usuario podraacute hacer uso de los ldquowrappersrdquo previamente creados para realizar consultas sobre las fuentes Este uso podraacute ser directo (a traveacutes de un API nativo o publicando el wrapper como un WebService) o a traveacutes 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 ldquowrappersrdquo sobre los cuaacuteles se desean realizar accesos Incluye una interfaz remota que permite ejecutar sentencias sobre ella

- Pool de Browsers cuando se ejecuta un ldquowrapperrdquo se puede seleccionar IEBrowser (moacutedulo de navegacioacuten automaacutetica basado en Microsoft Internet Explorer [IE]) Firefox [FRFOX] o un cliente HTTP como meacutetodo de acceso En este caso el servidor de wrappers utiliza el pool de browsers para minimizar los tiempos de creacioacuten de instancias del navegador Este pool es configurable desde la herramienta de administracioacuten

114 Entorno de Mantenimiento

El entorno maacutes complejo es el de Ejecucioacuten y Mantenimiento Debido a que las fuentes web son autoacutenomas e independientes de los ldquowrappersrdquo pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual por lo que estos ldquowrappersrdquo dejan de extraer adecuadamente sus datos Denodo ITPilot ofrece una herramienta de mantenimiento automaacutetico que permite reparar automaacuteticamente los ldquowrappersrdquo a partir de la deteccioacuten automaacutetica de los cambios comentados anteriormente Aunque se trataraacute con mayor profundidad en el apartado 5 su funcionamiento baacutesico 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 configuracioacuten de la frecuencia de comprobacioacuten 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 accioacuten es el enviacuteo de un correo informando del cambio - La otra posibilidad es la regeneracioacuten automaacutetica del wrapper

Los componentes de los que consta este entorno aparte de los ya mencionados en el entorno de ejecucioacuten son los siguientes

- Servidor de Mantenimiento componente encargado de detectar automaacuteticamente los cambios producidos en las fuentes y de realizar la regeneracioacuten de los wrappers Se comunica con el servidor de wrappers para pedirle todos los ldquowrappers a mantener y para obtener los resultados de la ejecucioacuten de consultas sobre los mismos (estos resultados seraacuten utilizados para la comprobacioacuten de cambios y durante el proceso de regeneracioacuten)

- Pool de Browsers del Servidor de Mantenimiento pool de browsers utilizado en la fase de regeneracioacuten Como se ha comentado anteriormente una explicacioacuten detallada de este entorno se realizaraacute en el apartado 23 de este mismo manual El siguiente apartado recomienda diferentes arquitecturas de distribucioacuten de estos componentes El capiacutetulo 3 detalla los procesos de instalacioacuten y configuracioacuten de cada uno de los entornos de ITPilot

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 6: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

PREFACIO

ALCANCE

Este documento sirve de introduccioacuten y guiacutea de administracioacuten y utilizacioacuten de Denodo ITPilot

QUIEacuteN DEBERIacuteA USAR ESTE MANUAL

Este documento estaacute dirigido a administradores que pretendan instalar el software asiacute como utilizar la herramienta de administracioacuten de Denodo ITPilot

RESUMEN DE CONTENIDOS

Maacutes concretamente en este documento se describe

bull Introduccioacuten a ITPilot

bull Los diferentes entornos de funcionamiento de Denodo ITPilot

bull Configuracioacuten de cada uno de los componentes de Denodo ITPilot en los entornos de ejecucioacuten y mantenimiento

Prefacio i

ITPilot 40 Manual de Usuario

Introduccioacuten 1

1 INTRODUCCIOacuteN

La mayor parte de la informacioacuten que se encuentra disponible en la Worldwide Web (web en adelante) soacutelo puede ser obtenida por medios que son amigables para los usuarios de la red pero que no son uacutetiles si se desea un procesamiento automaacutetico y mecaacutenico por parte de aplicaciones software Un caso muy frecuente en nuestros diacuteas puede encontrarse en una gran cantidad de sitios web que ofrecen interfaces de consulta ad-hoc a traveacutes de formularios y que devuelven la informacioacuten requerida por medio de listados compuestos por respuestas semiestructuradas codificadas en documentos HTML A esta parte de la web ndashaquella accesible a traveacutes de diferentes tipos de formularios yo interfaces y que devuelven datos obtenidos automaacuteticamente de bases de datos internas- se la denomina habitualmente web oculta (o en ingleacutes ldquohidden webrdquo) Esta web oculta no es en absoluto una pequentildea parte del total de la WWW y contiene muchiacutesima informacioacuten que en muchos casos es de mayor calidad e intereacutes para los usuarios Sitios web como tiendas de comercio electroacutenico (que ofrecen sus cataacutelogos de esta manera) buscadores de informacioacuten cientiacutefica y de salud de patentes o de informacioacuten financiera son buenos ejemplos de esta situacioacuten Ademaacutes a menudo estos sitios web son de acceso privado (es decir es necesario un acceso mediante usuariocontrasentildea) presentan una interfaz de consulta avanzada (permitiendo buacutesquedas de informacioacuten a partir de diferentes conceptos) yo sus resultados se devuelven en forma de listas de iacutetems codificadas en HTML enlazaacutendose ademaacutes con paacuteginas relacionadas que contienen maacutes datos sobre cada iacutetem (pe normalmente las tiendas de comercio electroacutenico devuelven una lista de resultados pero con la posibilidad de que el usuario pueda ldquopincharrdquo sobre el tiacutetulo para acceder a otra paacutegina con comentarios sobre el producto fotos productos relacionados etc) Otras complicaciones habituales vienen derivadas del uso de teacutecnicas como Javascript HTML dinaacutemico o sistemas de mantenimiento de sesioacuten que complican todaviacutea maacutes el acceso automatizado a la informacioacuten contenida en estos sitios web Ademaacutes de la problemaacutetica de acceso a estas fuentes con informacioacuten ldquoocultardquo 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 visualizacioacuten por parte de usuarios y que no publica ninguacuten tipo de metainformacioacuten sobre la estructura yo la semaacutentica de los resultados generados ademaacutes de no diferenciar estructuralmente entre elementos de navegacioacuten (menuacutes) paneles graacuteficos e informacioacuten uacutetil para el usuario Surge por tanto tambieacuten el problema de la extraccioacuten de los datos relevantes contenidos en las paacuteginas HTML Ejemplo Consideremos el ejemplo de una tienda de libros en Internet cuyo formulario de buacutesqueda se muestra en la Figura 1 El formulario obliga al usuario a especificar un valor para el atributo lsquoTITULOrsquo y opcionalmente le permite fijar un valor para el atributo lsquoAUTORrsquo y para el atributo lsquoFORMATOrsquo (restringido a un conjunto de valores) La tienda de libros devuelve una lista de resultados con informacioacuten sobre TITULO AUTOR FORMATO EDITORIAL y PRECIO

ITPilot 40 Manual de Usuario

Introduccioacuten 2

Figura 1 Formulario de Tienda de Libros

Este caso resume las dificultades con las que se encuentra una aplicacioacuten que desee extraer informacioacuten estructurada de los entornos web acceso a fuentes web navegacioacuten a traveacutes de entornos transaccionales seleccioacuten de opciones y por uacuteltimo extraccioacuten de datos a partir de informacioacuten semiestructurada Denodo ITPilot es la solucioacuten 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 construccioacuten de una abstraccioacuten de la fuente web concreta denominada ldquowrapperrdquo o envoltorio que aiacutesla a las aplicaciones cliente de las caracteriacutesticas intriacutensecas de ese sitio (protocolo de acceso estructura nativa de la informacioacuten etc) ITPilot proporciona un entorno distribuido y escalable de generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo Este manual presenta Denodo ITPilot y ofrece instrucciones que permiten su correcta instalacioacuten recomendaciones sobre los diferentes tipos de arquitectura que soporta asiacute como una guiacutea del entorno de ejecucioacuten y mantenimiento En este mismo apartado se introduciraacuten los componentes de ITPilot en el siguiente apartado se proporcionaraacute una una visioacuten general de las arquitecturas recomendadas En el capiacutetulo 3 se detallaraacute el proceso de instalacioacuten de cada uno de los componentes Por uacuteltimo los capiacutetulos 4 y 5 explican coacutemo configurar y administrar los Entornos de Ejecucioacuten y Mantenimiento de ITPilot y coacutemo exportar un wrapper como WebService

11 ENTORNOS DE DENODO ITPILOT

Denodo ITPilot permite la generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo sobre fuentes web de una manera sencilla y dinaacutemica Para ello existen tres Entornos cada uno de los cuaacuteles permite una de las acciones comentadas y cuya gestioacuten se realiza a traveacutes de la Herramienta de Administracioacuten Cada entorno contiene una serie de Componentes que se describen a continuacioacuten La Figura 2 muestra graacuteficamente la relacioacuten entre los Entornos y sus Componentes

ITPilot 40 Manual de Usuario

Introduccioacuten 3

Figura 2 Entornos y Componentes de ITPilot

111 Herramienta de Administracioacuten

Es el centro de gestioacuten del entorno de ejecucioacuten desde donde se configuran los diferentes servidores que lo conforman Es una herramienta web que se comunica con un servidor de administracioacuten (desplegable en contenedores web que cumplan las especificaciones de servlets y JSPs)

112 Entorno de Generacioacuten

Este entorno engloba el conjunto de componentes necesarios para la creacioacuten de ldquowrappersrdquo a partir de la generacioacuten de especificaciones DEXTL de extraccioacuten de datos (ver [DEXTL] [GENER]) y secuencias de navegacioacuten NSEQL (ver [NSEQL] [GENER]) Los componentes de los que hace uso son los siguientes

- Herramientas de Generacioacuten las herramientas de generacioacuten de especificaciones de extraccioacuten de datos y de generacioacuten de secuencias de navegacioacuten son aplicaciones graacuteficas que permiten a un usuario no teacutecnico la creacioacuten de ldquowrappersrdquo web Para maacutes informacioacuten se recomienda la lectura del Manual del Entorno de Generacioacuten de Denodo ITPilot [GENER]

ITPilot 40 Manual de Usuario

Introduccioacuten 4

- Pool de Browsers de Generacioacuten este entorno utiliza internamente un Pool de Browsers para probar las secuencias de navegacioacuten y la especificacioacuten final

Ademaacutes y aunque no pertenece propiamente a este entorno las herramientas de generacioacuten pueden necesitar almacenar el ldquowrapperrdquo creado Para ello haraacuten uso del Servidor de Wrappers del Entorno de ejecucioacuten (ver siguiente seccioacuten 113)

113 Entorno de Ejecucioacuten

Este es el entorno de operacioacuten continuada donde el usuario podraacute hacer uso de los ldquowrappersrdquo previamente creados para realizar consultas sobre las fuentes Este uso podraacute ser directo (a traveacutes de un API nativo o publicando el wrapper como un WebService) o a traveacutes 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 ldquowrappersrdquo sobre los cuaacuteles se desean realizar accesos Incluye una interfaz remota que permite ejecutar sentencias sobre ella

- Pool de Browsers cuando se ejecuta un ldquowrapperrdquo se puede seleccionar IEBrowser (moacutedulo de navegacioacuten automaacutetica basado en Microsoft Internet Explorer [IE]) Firefox [FRFOX] o un cliente HTTP como meacutetodo de acceso En este caso el servidor de wrappers utiliza el pool de browsers para minimizar los tiempos de creacioacuten de instancias del navegador Este pool es configurable desde la herramienta de administracioacuten

114 Entorno de Mantenimiento

El entorno maacutes complejo es el de Ejecucioacuten y Mantenimiento Debido a que las fuentes web son autoacutenomas e independientes de los ldquowrappersrdquo pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual por lo que estos ldquowrappersrdquo dejan de extraer adecuadamente sus datos Denodo ITPilot ofrece una herramienta de mantenimiento automaacutetico que permite reparar automaacuteticamente los ldquowrappersrdquo a partir de la deteccioacuten automaacutetica de los cambios comentados anteriormente Aunque se trataraacute con mayor profundidad en el apartado 5 su funcionamiento baacutesico 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 configuracioacuten de la frecuencia de comprobacioacuten 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 accioacuten es el enviacuteo de un correo informando del cambio - La otra posibilidad es la regeneracioacuten automaacutetica del wrapper

Los componentes de los que consta este entorno aparte de los ya mencionados en el entorno de ejecucioacuten son los siguientes

- Servidor de Mantenimiento componente encargado de detectar automaacuteticamente los cambios producidos en las fuentes y de realizar la regeneracioacuten de los wrappers Se comunica con el servidor de wrappers para pedirle todos los ldquowrappers a mantener y para obtener los resultados de la ejecucioacuten de consultas sobre los mismos (estos resultados seraacuten utilizados para la comprobacioacuten de cambios y durante el proceso de regeneracioacuten)

- Pool de Browsers del Servidor de Mantenimiento pool de browsers utilizado en la fase de regeneracioacuten Como se ha comentado anteriormente una explicacioacuten detallada de este entorno se realizaraacute en el apartado 23 de este mismo manual El siguiente apartado recomienda diferentes arquitecturas de distribucioacuten de estos componentes El capiacutetulo 3 detalla los procesos de instalacioacuten y configuracioacuten de cada uno de los entornos de ITPilot

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 7: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Introduccioacuten 1

1 INTRODUCCIOacuteN

La mayor parte de la informacioacuten que se encuentra disponible en la Worldwide Web (web en adelante) soacutelo puede ser obtenida por medios que son amigables para los usuarios de la red pero que no son uacutetiles si se desea un procesamiento automaacutetico y mecaacutenico por parte de aplicaciones software Un caso muy frecuente en nuestros diacuteas puede encontrarse en una gran cantidad de sitios web que ofrecen interfaces de consulta ad-hoc a traveacutes de formularios y que devuelven la informacioacuten requerida por medio de listados compuestos por respuestas semiestructuradas codificadas en documentos HTML A esta parte de la web ndashaquella accesible a traveacutes de diferentes tipos de formularios yo interfaces y que devuelven datos obtenidos automaacuteticamente de bases de datos internas- se la denomina habitualmente web oculta (o en ingleacutes ldquohidden webrdquo) Esta web oculta no es en absoluto una pequentildea parte del total de la WWW y contiene muchiacutesima informacioacuten que en muchos casos es de mayor calidad e intereacutes para los usuarios Sitios web como tiendas de comercio electroacutenico (que ofrecen sus cataacutelogos de esta manera) buscadores de informacioacuten cientiacutefica y de salud de patentes o de informacioacuten financiera son buenos ejemplos de esta situacioacuten Ademaacutes a menudo estos sitios web son de acceso privado (es decir es necesario un acceso mediante usuariocontrasentildea) presentan una interfaz de consulta avanzada (permitiendo buacutesquedas de informacioacuten a partir de diferentes conceptos) yo sus resultados se devuelven en forma de listas de iacutetems codificadas en HTML enlazaacutendose ademaacutes con paacuteginas relacionadas que contienen maacutes datos sobre cada iacutetem (pe normalmente las tiendas de comercio electroacutenico devuelven una lista de resultados pero con la posibilidad de que el usuario pueda ldquopincharrdquo sobre el tiacutetulo para acceder a otra paacutegina con comentarios sobre el producto fotos productos relacionados etc) Otras complicaciones habituales vienen derivadas del uso de teacutecnicas como Javascript HTML dinaacutemico o sistemas de mantenimiento de sesioacuten que complican todaviacutea maacutes el acceso automatizado a la informacioacuten contenida en estos sitios web Ademaacutes de la problemaacutetica de acceso a estas fuentes con informacioacuten ldquoocultardquo 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 visualizacioacuten por parte de usuarios y que no publica ninguacuten tipo de metainformacioacuten sobre la estructura yo la semaacutentica de los resultados generados ademaacutes de no diferenciar estructuralmente entre elementos de navegacioacuten (menuacutes) paneles graacuteficos e informacioacuten uacutetil para el usuario Surge por tanto tambieacuten el problema de la extraccioacuten de los datos relevantes contenidos en las paacuteginas HTML Ejemplo Consideremos el ejemplo de una tienda de libros en Internet cuyo formulario de buacutesqueda se muestra en la Figura 1 El formulario obliga al usuario a especificar un valor para el atributo lsquoTITULOrsquo y opcionalmente le permite fijar un valor para el atributo lsquoAUTORrsquo y para el atributo lsquoFORMATOrsquo (restringido a un conjunto de valores) La tienda de libros devuelve una lista de resultados con informacioacuten sobre TITULO AUTOR FORMATO EDITORIAL y PRECIO

ITPilot 40 Manual de Usuario

Introduccioacuten 2

Figura 1 Formulario de Tienda de Libros

Este caso resume las dificultades con las que se encuentra una aplicacioacuten que desee extraer informacioacuten estructurada de los entornos web acceso a fuentes web navegacioacuten a traveacutes de entornos transaccionales seleccioacuten de opciones y por uacuteltimo extraccioacuten de datos a partir de informacioacuten semiestructurada Denodo ITPilot es la solucioacuten 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 construccioacuten de una abstraccioacuten de la fuente web concreta denominada ldquowrapperrdquo o envoltorio que aiacutesla a las aplicaciones cliente de las caracteriacutesticas intriacutensecas de ese sitio (protocolo de acceso estructura nativa de la informacioacuten etc) ITPilot proporciona un entorno distribuido y escalable de generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo Este manual presenta Denodo ITPilot y ofrece instrucciones que permiten su correcta instalacioacuten recomendaciones sobre los diferentes tipos de arquitectura que soporta asiacute como una guiacutea del entorno de ejecucioacuten y mantenimiento En este mismo apartado se introduciraacuten los componentes de ITPilot en el siguiente apartado se proporcionaraacute una una visioacuten general de las arquitecturas recomendadas En el capiacutetulo 3 se detallaraacute el proceso de instalacioacuten de cada uno de los componentes Por uacuteltimo los capiacutetulos 4 y 5 explican coacutemo configurar y administrar los Entornos de Ejecucioacuten y Mantenimiento de ITPilot y coacutemo exportar un wrapper como WebService

11 ENTORNOS DE DENODO ITPILOT

Denodo ITPilot permite la generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo sobre fuentes web de una manera sencilla y dinaacutemica Para ello existen tres Entornos cada uno de los cuaacuteles permite una de las acciones comentadas y cuya gestioacuten se realiza a traveacutes de la Herramienta de Administracioacuten Cada entorno contiene una serie de Componentes que se describen a continuacioacuten La Figura 2 muestra graacuteficamente la relacioacuten entre los Entornos y sus Componentes

ITPilot 40 Manual de Usuario

Introduccioacuten 3

Figura 2 Entornos y Componentes de ITPilot

111 Herramienta de Administracioacuten

Es el centro de gestioacuten del entorno de ejecucioacuten desde donde se configuran los diferentes servidores que lo conforman Es una herramienta web que se comunica con un servidor de administracioacuten (desplegable en contenedores web que cumplan las especificaciones de servlets y JSPs)

112 Entorno de Generacioacuten

Este entorno engloba el conjunto de componentes necesarios para la creacioacuten de ldquowrappersrdquo a partir de la generacioacuten de especificaciones DEXTL de extraccioacuten de datos (ver [DEXTL] [GENER]) y secuencias de navegacioacuten NSEQL (ver [NSEQL] [GENER]) Los componentes de los que hace uso son los siguientes

- Herramientas de Generacioacuten las herramientas de generacioacuten de especificaciones de extraccioacuten de datos y de generacioacuten de secuencias de navegacioacuten son aplicaciones graacuteficas que permiten a un usuario no teacutecnico la creacioacuten de ldquowrappersrdquo web Para maacutes informacioacuten se recomienda la lectura del Manual del Entorno de Generacioacuten de Denodo ITPilot [GENER]

ITPilot 40 Manual de Usuario

Introduccioacuten 4

- Pool de Browsers de Generacioacuten este entorno utiliza internamente un Pool de Browsers para probar las secuencias de navegacioacuten y la especificacioacuten final

Ademaacutes y aunque no pertenece propiamente a este entorno las herramientas de generacioacuten pueden necesitar almacenar el ldquowrapperrdquo creado Para ello haraacuten uso del Servidor de Wrappers del Entorno de ejecucioacuten (ver siguiente seccioacuten 113)

113 Entorno de Ejecucioacuten

Este es el entorno de operacioacuten continuada donde el usuario podraacute hacer uso de los ldquowrappersrdquo previamente creados para realizar consultas sobre las fuentes Este uso podraacute ser directo (a traveacutes de un API nativo o publicando el wrapper como un WebService) o a traveacutes 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 ldquowrappersrdquo sobre los cuaacuteles se desean realizar accesos Incluye una interfaz remota que permite ejecutar sentencias sobre ella

- Pool de Browsers cuando se ejecuta un ldquowrapperrdquo se puede seleccionar IEBrowser (moacutedulo de navegacioacuten automaacutetica basado en Microsoft Internet Explorer [IE]) Firefox [FRFOX] o un cliente HTTP como meacutetodo de acceso En este caso el servidor de wrappers utiliza el pool de browsers para minimizar los tiempos de creacioacuten de instancias del navegador Este pool es configurable desde la herramienta de administracioacuten

114 Entorno de Mantenimiento

El entorno maacutes complejo es el de Ejecucioacuten y Mantenimiento Debido a que las fuentes web son autoacutenomas e independientes de los ldquowrappersrdquo pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual por lo que estos ldquowrappersrdquo dejan de extraer adecuadamente sus datos Denodo ITPilot ofrece una herramienta de mantenimiento automaacutetico que permite reparar automaacuteticamente los ldquowrappersrdquo a partir de la deteccioacuten automaacutetica de los cambios comentados anteriormente Aunque se trataraacute con mayor profundidad en el apartado 5 su funcionamiento baacutesico 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 configuracioacuten de la frecuencia de comprobacioacuten 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 accioacuten es el enviacuteo de un correo informando del cambio - La otra posibilidad es la regeneracioacuten automaacutetica del wrapper

Los componentes de los que consta este entorno aparte de los ya mencionados en el entorno de ejecucioacuten son los siguientes

- Servidor de Mantenimiento componente encargado de detectar automaacuteticamente los cambios producidos en las fuentes y de realizar la regeneracioacuten de los wrappers Se comunica con el servidor de wrappers para pedirle todos los ldquowrappers a mantener y para obtener los resultados de la ejecucioacuten de consultas sobre los mismos (estos resultados seraacuten utilizados para la comprobacioacuten de cambios y durante el proceso de regeneracioacuten)

- Pool de Browsers del Servidor de Mantenimiento pool de browsers utilizado en la fase de regeneracioacuten Como se ha comentado anteriormente una explicacioacuten detallada de este entorno se realizaraacute en el apartado 23 de este mismo manual El siguiente apartado recomienda diferentes arquitecturas de distribucioacuten de estos componentes El capiacutetulo 3 detalla los procesos de instalacioacuten y configuracioacuten de cada uno de los entornos de ITPilot

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 8: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Introduccioacuten 2

Figura 1 Formulario de Tienda de Libros

Este caso resume las dificultades con las que se encuentra una aplicacioacuten que desee extraer informacioacuten estructurada de los entornos web acceso a fuentes web navegacioacuten a traveacutes de entornos transaccionales seleccioacuten de opciones y por uacuteltimo extraccioacuten de datos a partir de informacioacuten semiestructurada Denodo ITPilot es la solucioacuten 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 construccioacuten de una abstraccioacuten de la fuente web concreta denominada ldquowrapperrdquo o envoltorio que aiacutesla a las aplicaciones cliente de las caracteriacutesticas intriacutensecas de ese sitio (protocolo de acceso estructura nativa de la informacioacuten etc) ITPilot proporciona un entorno distribuido y escalable de generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo Este manual presenta Denodo ITPilot y ofrece instrucciones que permiten su correcta instalacioacuten recomendaciones sobre los diferentes tipos de arquitectura que soporta asiacute como una guiacutea del entorno de ejecucioacuten y mantenimiento En este mismo apartado se introduciraacuten los componentes de ITPilot en el siguiente apartado se proporcionaraacute una una visioacuten general de las arquitecturas recomendadas En el capiacutetulo 3 se detallaraacute el proceso de instalacioacuten de cada uno de los componentes Por uacuteltimo los capiacutetulos 4 y 5 explican coacutemo configurar y administrar los Entornos de Ejecucioacuten y Mantenimiento de ITPilot y coacutemo exportar un wrapper como WebService

11 ENTORNOS DE DENODO ITPILOT

Denodo ITPilot permite la generacioacuten ejecucioacuten y mantenimiento de ldquowrappersrdquo sobre fuentes web de una manera sencilla y dinaacutemica Para ello existen tres Entornos cada uno de los cuaacuteles permite una de las acciones comentadas y cuya gestioacuten se realiza a traveacutes de la Herramienta de Administracioacuten Cada entorno contiene una serie de Componentes que se describen a continuacioacuten La Figura 2 muestra graacuteficamente la relacioacuten entre los Entornos y sus Componentes

ITPilot 40 Manual de Usuario

Introduccioacuten 3

Figura 2 Entornos y Componentes de ITPilot

111 Herramienta de Administracioacuten

Es el centro de gestioacuten del entorno de ejecucioacuten desde donde se configuran los diferentes servidores que lo conforman Es una herramienta web que se comunica con un servidor de administracioacuten (desplegable en contenedores web que cumplan las especificaciones de servlets y JSPs)

112 Entorno de Generacioacuten

Este entorno engloba el conjunto de componentes necesarios para la creacioacuten de ldquowrappersrdquo a partir de la generacioacuten de especificaciones DEXTL de extraccioacuten de datos (ver [DEXTL] [GENER]) y secuencias de navegacioacuten NSEQL (ver [NSEQL] [GENER]) Los componentes de los que hace uso son los siguientes

- Herramientas de Generacioacuten las herramientas de generacioacuten de especificaciones de extraccioacuten de datos y de generacioacuten de secuencias de navegacioacuten son aplicaciones graacuteficas que permiten a un usuario no teacutecnico la creacioacuten de ldquowrappersrdquo web Para maacutes informacioacuten se recomienda la lectura del Manual del Entorno de Generacioacuten de Denodo ITPilot [GENER]

ITPilot 40 Manual de Usuario

Introduccioacuten 4

- Pool de Browsers de Generacioacuten este entorno utiliza internamente un Pool de Browsers para probar las secuencias de navegacioacuten y la especificacioacuten final

Ademaacutes y aunque no pertenece propiamente a este entorno las herramientas de generacioacuten pueden necesitar almacenar el ldquowrapperrdquo creado Para ello haraacuten uso del Servidor de Wrappers del Entorno de ejecucioacuten (ver siguiente seccioacuten 113)

113 Entorno de Ejecucioacuten

Este es el entorno de operacioacuten continuada donde el usuario podraacute hacer uso de los ldquowrappersrdquo previamente creados para realizar consultas sobre las fuentes Este uso podraacute ser directo (a traveacutes de un API nativo o publicando el wrapper como un WebService) o a traveacutes 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 ldquowrappersrdquo sobre los cuaacuteles se desean realizar accesos Incluye una interfaz remota que permite ejecutar sentencias sobre ella

- Pool de Browsers cuando se ejecuta un ldquowrapperrdquo se puede seleccionar IEBrowser (moacutedulo de navegacioacuten automaacutetica basado en Microsoft Internet Explorer [IE]) Firefox [FRFOX] o un cliente HTTP como meacutetodo de acceso En este caso el servidor de wrappers utiliza el pool de browsers para minimizar los tiempos de creacioacuten de instancias del navegador Este pool es configurable desde la herramienta de administracioacuten

114 Entorno de Mantenimiento

El entorno maacutes complejo es el de Ejecucioacuten y Mantenimiento Debido a que las fuentes web son autoacutenomas e independientes de los ldquowrappersrdquo pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual por lo que estos ldquowrappersrdquo dejan de extraer adecuadamente sus datos Denodo ITPilot ofrece una herramienta de mantenimiento automaacutetico que permite reparar automaacuteticamente los ldquowrappersrdquo a partir de la deteccioacuten automaacutetica de los cambios comentados anteriormente Aunque se trataraacute con mayor profundidad en el apartado 5 su funcionamiento baacutesico 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 configuracioacuten de la frecuencia de comprobacioacuten 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 accioacuten es el enviacuteo de un correo informando del cambio - La otra posibilidad es la regeneracioacuten automaacutetica del wrapper

Los componentes de los que consta este entorno aparte de los ya mencionados en el entorno de ejecucioacuten son los siguientes

- Servidor de Mantenimiento componente encargado de detectar automaacuteticamente los cambios producidos en las fuentes y de realizar la regeneracioacuten de los wrappers Se comunica con el servidor de wrappers para pedirle todos los ldquowrappers a mantener y para obtener los resultados de la ejecucioacuten de consultas sobre los mismos (estos resultados seraacuten utilizados para la comprobacioacuten de cambios y durante el proceso de regeneracioacuten)

- Pool de Browsers del Servidor de Mantenimiento pool de browsers utilizado en la fase de regeneracioacuten Como se ha comentado anteriormente una explicacioacuten detallada de este entorno se realizaraacute en el apartado 23 de este mismo manual El siguiente apartado recomienda diferentes arquitecturas de distribucioacuten de estos componentes El capiacutetulo 3 detalla los procesos de instalacioacuten y configuracioacuten de cada uno de los entornos de ITPilot

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 9: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Introduccioacuten 3

Figura 2 Entornos y Componentes de ITPilot

111 Herramienta de Administracioacuten

Es el centro de gestioacuten del entorno de ejecucioacuten desde donde se configuran los diferentes servidores que lo conforman Es una herramienta web que se comunica con un servidor de administracioacuten (desplegable en contenedores web que cumplan las especificaciones de servlets y JSPs)

112 Entorno de Generacioacuten

Este entorno engloba el conjunto de componentes necesarios para la creacioacuten de ldquowrappersrdquo a partir de la generacioacuten de especificaciones DEXTL de extraccioacuten de datos (ver [DEXTL] [GENER]) y secuencias de navegacioacuten NSEQL (ver [NSEQL] [GENER]) Los componentes de los que hace uso son los siguientes

- Herramientas de Generacioacuten las herramientas de generacioacuten de especificaciones de extraccioacuten de datos y de generacioacuten de secuencias de navegacioacuten son aplicaciones graacuteficas que permiten a un usuario no teacutecnico la creacioacuten de ldquowrappersrdquo web Para maacutes informacioacuten se recomienda la lectura del Manual del Entorno de Generacioacuten de Denodo ITPilot [GENER]

ITPilot 40 Manual de Usuario

Introduccioacuten 4

- Pool de Browsers de Generacioacuten este entorno utiliza internamente un Pool de Browsers para probar las secuencias de navegacioacuten y la especificacioacuten final

Ademaacutes y aunque no pertenece propiamente a este entorno las herramientas de generacioacuten pueden necesitar almacenar el ldquowrapperrdquo creado Para ello haraacuten uso del Servidor de Wrappers del Entorno de ejecucioacuten (ver siguiente seccioacuten 113)

113 Entorno de Ejecucioacuten

Este es el entorno de operacioacuten continuada donde el usuario podraacute hacer uso de los ldquowrappersrdquo previamente creados para realizar consultas sobre las fuentes Este uso podraacute ser directo (a traveacutes de un API nativo o publicando el wrapper como un WebService) o a traveacutes 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 ldquowrappersrdquo sobre los cuaacuteles se desean realizar accesos Incluye una interfaz remota que permite ejecutar sentencias sobre ella

- Pool de Browsers cuando se ejecuta un ldquowrapperrdquo se puede seleccionar IEBrowser (moacutedulo de navegacioacuten automaacutetica basado en Microsoft Internet Explorer [IE]) Firefox [FRFOX] o un cliente HTTP como meacutetodo de acceso En este caso el servidor de wrappers utiliza el pool de browsers para minimizar los tiempos de creacioacuten de instancias del navegador Este pool es configurable desde la herramienta de administracioacuten

114 Entorno de Mantenimiento

El entorno maacutes complejo es el de Ejecucioacuten y Mantenimiento Debido a que las fuentes web son autoacutenomas e independientes de los ldquowrappersrdquo pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual por lo que estos ldquowrappersrdquo dejan de extraer adecuadamente sus datos Denodo ITPilot ofrece una herramienta de mantenimiento automaacutetico que permite reparar automaacuteticamente los ldquowrappersrdquo a partir de la deteccioacuten automaacutetica de los cambios comentados anteriormente Aunque se trataraacute con mayor profundidad en el apartado 5 su funcionamiento baacutesico 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 configuracioacuten de la frecuencia de comprobacioacuten 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 accioacuten es el enviacuteo de un correo informando del cambio - La otra posibilidad es la regeneracioacuten automaacutetica del wrapper

Los componentes de los que consta este entorno aparte de los ya mencionados en el entorno de ejecucioacuten son los siguientes

- Servidor de Mantenimiento componente encargado de detectar automaacuteticamente los cambios producidos en las fuentes y de realizar la regeneracioacuten de los wrappers Se comunica con el servidor de wrappers para pedirle todos los ldquowrappers a mantener y para obtener los resultados de la ejecucioacuten de consultas sobre los mismos (estos resultados seraacuten utilizados para la comprobacioacuten de cambios y durante el proceso de regeneracioacuten)

- Pool de Browsers del Servidor de Mantenimiento pool de browsers utilizado en la fase de regeneracioacuten Como se ha comentado anteriormente una explicacioacuten detallada de este entorno se realizaraacute en el apartado 23 de este mismo manual El siguiente apartado recomienda diferentes arquitecturas de distribucioacuten de estos componentes El capiacutetulo 3 detalla los procesos de instalacioacuten y configuracioacuten de cada uno de los entornos de ITPilot

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 10: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Introduccioacuten 4

- Pool de Browsers de Generacioacuten este entorno utiliza internamente un Pool de Browsers para probar las secuencias de navegacioacuten y la especificacioacuten final

Ademaacutes y aunque no pertenece propiamente a este entorno las herramientas de generacioacuten pueden necesitar almacenar el ldquowrapperrdquo creado Para ello haraacuten uso del Servidor de Wrappers del Entorno de ejecucioacuten (ver siguiente seccioacuten 113)

113 Entorno de Ejecucioacuten

Este es el entorno de operacioacuten continuada donde el usuario podraacute hacer uso de los ldquowrappersrdquo previamente creados para realizar consultas sobre las fuentes Este uso podraacute ser directo (a traveacutes de un API nativo o publicando el wrapper como un WebService) o a traveacutes 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 ldquowrappersrdquo sobre los cuaacuteles se desean realizar accesos Incluye una interfaz remota que permite ejecutar sentencias sobre ella

- Pool de Browsers cuando se ejecuta un ldquowrapperrdquo se puede seleccionar IEBrowser (moacutedulo de navegacioacuten automaacutetica basado en Microsoft Internet Explorer [IE]) Firefox [FRFOX] o un cliente HTTP como meacutetodo de acceso En este caso el servidor de wrappers utiliza el pool de browsers para minimizar los tiempos de creacioacuten de instancias del navegador Este pool es configurable desde la herramienta de administracioacuten

114 Entorno de Mantenimiento

El entorno maacutes complejo es el de Ejecucioacuten y Mantenimiento Debido a que las fuentes web son autoacutenomas e independientes de los ldquowrappersrdquo pueden sufrir modificaciones y cambios que invaliden el modo de acceso actual por lo que estos ldquowrappersrdquo dejan de extraer adecuadamente sus datos Denodo ITPilot ofrece una herramienta de mantenimiento automaacutetico que permite reparar automaacuteticamente los ldquowrappersrdquo a partir de la deteccioacuten automaacutetica de los cambios comentados anteriormente Aunque se trataraacute con mayor profundidad en el apartado 5 su funcionamiento baacutesico 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 configuracioacuten de la frecuencia de comprobacioacuten 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 accioacuten es el enviacuteo de un correo informando del cambio - La otra posibilidad es la regeneracioacuten automaacutetica del wrapper

Los componentes de los que consta este entorno aparte de los ya mencionados en el entorno de ejecucioacuten son los siguientes

- Servidor de Mantenimiento componente encargado de detectar automaacuteticamente los cambios producidos en las fuentes y de realizar la regeneracioacuten de los wrappers Se comunica con el servidor de wrappers para pedirle todos los ldquowrappers a mantener y para obtener los resultados de la ejecucioacuten de consultas sobre los mismos (estos resultados seraacuten utilizados para la comprobacioacuten de cambios y durante el proceso de regeneracioacuten)

- Pool de Browsers del Servidor de Mantenimiento pool de browsers utilizado en la fase de regeneracioacuten Como se ha comentado anteriormente una explicacioacuten detallada de este entorno se realizaraacute en el apartado 23 de este mismo manual El siguiente apartado recomienda diferentes arquitecturas de distribucioacuten de estos componentes El capiacutetulo 3 detalla los procesos de instalacioacuten y configuracioacuten de cada uno de los entornos de ITPilot

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 11: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 5

2 DISTRIBUCIOacuteN DE LOS ENTORNOS

21 DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN

Como se ha comentado en el apartado anterior el Entorno de Generacioacuten permite crear ldquowrappersrdquo de una manera visual y sencilla Este entorno requiere la instalacioacuten de dos componentes la herramienta de generacioacuten de especificaciones y la herramienta de generacioacuten de secuencias de navegacioacuten Tambieacuten podraacute tener accesible el servidor de wrappers del entorno de ejecucioacuten La Figura 3 muestra la relacioacuten entre cada uno de los elementos

Figura 3 Distribucioacuten del Entorno de Generacioacuten

El servidor de wrappers pertenece al entorno de ejecucioacuten por lo que normalmente se instalaraacute en una maacutequina independiente en el entorno de produccioacuten No es objetivo de este manual el explicar la instalacioacuten operacioacuten y manejo de las herramientas de este entorno Para maacutes informacioacuten se puede consultar [GENER] para instrucciones sobre instalacioacuten y operacioacuten y [DEXTL] y [NSEQL] para informacioacuten detallada sobre los lenguajes de definicioacuten de especificaciones y secuencias

22 DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN

La operacioacuten de Denodo ITPilot se realiza en el entorno de ejecucioacuten donde se realizan las acciones sobre los ldquowrappersrdquo que encapsulan las fuentes web cuyos datos se quieren extraer Se requieren tres componentes en este caso la herramienta web de administracioacuten (independiente del entorno pero utilizada aquiacute) el servidor de wrappers y el pool de browsers La Figura 4 describe la relacioacuten entre estos elementos

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 12: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 6

Figura 4 Distribucioacuten del Entorno de Ejecucioacuten

Debido a que el servidor de wrappers puede ser utilizado en diferentes entornos y a su posible carga se recomienda su instalacioacuten en una maacutequina independiente al resto del sistema El pool de browsers puede encontrarse o en la misma maacutequina que el servidor de wrappers o en una maacutequina independiente en general dependeraacute del nuacutemero maacuteximo de navegadores que puedan llegar a estar abiertos en la ejecucioacuten del sistema

23 DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO

Este entorno debe ejecutarse junto con el de ejecucioacuten y permite que ITPilot pueda monitorizar cambios en las fuentes de las cuaacuteles se estaacuten extrayendo datos y regenere automaacuteticamente aquellos ldquowrappersrdquo que lo requieran (ver apartado 114) El servidor de mantenimiento que hace uso de un pool de browsers puede ejecutarse en la misma maacutequina que el servidor de wrappers aunque es un componente distribuido del que se recomienda su instalacioacuten en otra maacutequina La Figura 5 muestra la relacioacuten entre este entorno y el de ejecucioacuten

Figura 5 Relacioacuten entre Entornos de Ejecucioacuten y Mantenimiento

El proceso baacutesico del servidor de mantenimiento es el siguiente al ejecutar una consulta sobre un wrapper esta consulta se envia junto con los resultados que ha producido al modulo de mantenimiento Cuando el modulo de mantenimiento recibe la consulta y sus resultados asociados eacutesta se almacena en una base de datos relacional y al

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 13: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Distribucioacuten de los Entornos 7

mismo tiempo se obtienen los tests necesarios para determinar si ese wrapper ha cambiado Cada test (configurable por el usuario ver apartado 55) se ejecuta pasaacutendole como parametro esa consulta + resultados Cada test produce un resultado entre 0 y 100 (donde 0 significa que la condicioacuten no se cumple en absoluto y 100 que se cumple absolutamente) que es almacenado dentro de un gestor de resultados A continuacioacuten se lanza un proceso evaluador que determina en funcioacuten de los resultados de los tests si el wrapper ha cambiado Este evaluador necesita tanto los resultados de los uacuteltimos tests como las reglas de evaluacioacuten Si el wrapper cambia el sistema de mantenimiento selecciona el subconjunto de todas las consultas almacenadas que seraacuten utilizadas para regenerar el wrapper A partir de estos ejemplos y de la estructura creada durante la fase de generacioacuten de especificaciones el sistema intenta regenerar automaacuteticamente el nuevo wrapper Cuando los resultados de una consulta son grabados en la base de datos se les asigna una fecha de expiracioacuten Los resultados caducados se borran de forma perioacutedica En la siguiente seccioacuten se detallan los pasos de instalacioacuten de cada uno de los componentes

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 14: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Instalacioacuten 8

3 INSTALACIOacuteN

Este apartado se centra en la instalacioacuten y configuracioacuten de los diferentes componentes de Denodo ITPilot

31 PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT

311 Preinstalacioacuten del Servidor de Administracioacuten

El nuacutecleo de gestioacuten de Denodo ITPilot es la herramienta web de administracioacuten La instalacioacuten de su servidor es el primer paso a partir del cuaacutel se podraacute configurar el resto del sistema

3111 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 5 MB de espacio en disco

3112 Requisitos Software

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Servidor de Aplicaciones en la actualidad Denodo ITPilot se encuentra probado en Jakarta Tomcat 5028 559 y 6010 [TOM] y BEA WebLogic Server 90 [BEA] aunque debido a que el servidor de Administracioacuten cumple las especificaciones 23 de Servlets y 12 de JSP es desplegable en cualquier contenedor de servlets que cumpla con estas especificaciones Ademaacutes el servidor es instalable en cualquier servidor de aplicaciones J2EE utilizando el fichero ear disponible en la distribucioacuten

312 PreInstalacioacuten del Pool de Browsers

Tanto el entorno de generacioacuten como los servidores de wrappers y mantenimiento en los entornos de ejecucioacuten y mantenimiento requieren acceso a navegadores que accedan a las fuentes web de manera automaacutetica Este acceso no se realiza directamente sino a traveacutes de ldquopoolsrdquo de browsers servidores que se encargan de optimizar el acceso a los navegadores mejorando sus tiempos de respuesta

3121 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3122 Requisitos Software

El pool de browsers requiere la preinstalacioacuten del siguiente Software (el resto se incluye con la distribucioacuten)

- Los ldquobrowsersrdquo del pool pueden construirse utilizando Microsoft Internet Explorer 6x 7x [IE] o Mozilla Firefox 15x 20x [FRFOX] Existe una tercera alternativa consistente en la utilizacioacuten de un cliente http incluido con ITPilot que no requiere de ninguacuten navegador preinstalado si bien esta opcioacuten puede no ser adecuada si las fuentes web a tratar incluyen Javascript u otras complejidades de

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 15: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Instalacioacuten 9

navegacioacuten

- En caso de utilizar Microsoft Internet Explorer para los browsers del pool este componente ha de ser instalado en el operativo Windows [WIND] (2000 Server 2000 Advanced Server 2003 XP Vista)

- En caso de utilizar Mozilla Firefox para los browsers del pool el sistema ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

313 PreInstalacioacuten del Servidor de Wrappers

3131 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 15 MB de espacio en disco

3132 Requisitos Software

El servidor de wrappers requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior (probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Adobe PDF se requiere que el sistema se ejecute en una maacutequina Microsoft Windows y la instalacioacuten previa de Adobe Acrobat Professional 7

- Si se desea hacer uso de la funcionalidad de extraccioacuten de informacioacuten de recursos Microsoft Word se requiere la instalacioacuten previa de OpenOffice 20x

314 PreInstalacioacuten del Servidor de Mantenimiento

3141 Requisitos Hardware

El sistema ha sido probado satisfactoriamente sobre un PC Pentium IV 24 GHz 1 GB con acceso a Internet La instalacioacuten inicial requiere aproximadamente unos 25 MB de espacio en disco

3142 Requisitos Software

El servidor de mantenimiento requiere la preinstalacioacuten del siguiente software (el resto se incluye con la distribucioacuten)

- Este componente se ejecuta en cualquier entorno que admita Maacutequina Virtual de Java [J2SE]

- Ha sido probado satisfactoriamente sobre la distribucioacuten Linux Fedora Core 3 [LIN] y en Windows [WIND] instalado (2000 Server 2000 Advanced Server 2003 XP Vista)

- Es necesario tambieacuten disponer de Java 2 SDK Standard Edition (J2SE) 142_09 o superior

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 16: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Instalacioacuten 10

(probado exitosamente tambieacuten con J2SE 150_05 y J2SE 160) [J2SE]

- Base de Datos Relacional El servidor de mantenimiento utiliza una base de datos relacional con informacioacuten sobre los wrappers para poder regenerarlos posteriormente si fuera necesario El sistema ha sido probado con MySQL 50 [MYSQL] Oracle 9 [ORA] y Postgres 74 [POST] Denodo ITPilot provee un script de creacioacuten de tablas para estos Sistemas Gestores de BBDD

32 UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN

Los distintos moacutedulos de la Plataforma Denodo se instalan a traveacutes de una herramienta graacutefica El ldquowizardrdquo de instalacioacuten le iraacute guiando por cada uno de los pasos de configuracioacuten necesarios En este apartado se describiraacuten los pasos a realizar para instalar cada uno de los componentes del moacutedulo Denodo ITPilot Tras la pantalla de presentacioacuten el proceso de instalacioacuten le mostraraacute las condiciones de la licencia del producto que debe leer cuidadosamente Si acepta las condiciones la siguiente pantalla le permitiraacute configurar la versioacuten de localizacioacuten por defecto de la plataforma Esta opcioacuten permite configurar la informacioacuten de localizacioacuten de los programas envoltorio Permite la integracioacuten de informacioacuten de diferentes paiacuteses o aacutereas geograacuteficas expresando los datos de salida en los formatos esperados por el paiacutes en cuestioacuten Para cada uno de los paiseslocalizaciones de los que pueden proceder los datos existe una configuracioacuten de internacionalizacioacuten Algunos ejemplos de paraacutemetros son moneda siacutembolos utilizados como separadores decimales y de miles para la moneda formato de fecha etc ITPilot incluye configuraciones de internacionalizacioacuten para las zonas maacutes comunes Los nombres de zonas se corresponden con los coacutedigos definidos por la norma ISO-639 [ISO639] Ejemplos ES (Espantildea) ES_EURO (Espantildea con moneda EURO) GB (Inglaterra)hellip Usted siempre podraacute modificar esa configuracioacuten posteriormente para maacutes informacioacuten consulte [GENER] La siguiente pantalla le presentaraacute los diferentes componentes que puede instalar

- Generador de Secuencias (ldquoNavigation Sequence Generatorrdquo) Ver seccioacuten 112 - Control ActiveX de Ejecucioacuten de Secuencias (ldquoSequence Executor ActiveX Controlrdquo) Ver seccioacuten 6 - Generador de Especificaciones (ldquoWrapper Specification Generatorrdquo) Ver seccioacuten 112 - Pool de browsers (ldquoBrowser Poolrdquo) Ver secciones 113 y 114 - Servidor de ejecucioacuten (ldquoWrapper Serverrdquo) Ver seccioacuten 113 - Servidor de mantenimiento (ldquoMaintenance Serverrdquo) Ver seccioacuten 114 - Herramienta de administracioacuten web (ldquoAdministration Consolerdquo) Ver seccioacuten 111 para maacutes informacioacuten - Entorno cliente de desarrollo (ldquoWrapper Client Environmentrdquo) Ver [DESAR]

Una vez seleccionados los componentes y la ruta de instalacioacuten del software (en adelante DENODO_HOME) el sistema comenzaraacute el proceso de copia de archivos en ese directorio Para terminar el proceso de instalacioacuten es necesaria la configuracioacuten de cada uno de los componentes Posteriormente siempre es posible volver a configurar estos componentes desde la herramienta web de administracioacuten de ITPilot Para que el proceso de configuracioacuten sea exitoso es necesario definir la siguiente variable de entorno

JAVA_HOME - Directorio de instalacioacuten de la maacutequina virtual de Java Esta variable debe definirse obligatoriamente

Los siguientes apartados detallan esta fase para cada componente

321 Configuracioacuten de las Herramientas de Generacioacuten en Fase de Instalacioacuten

No se precisa configuracioacuten adicional para este entorno durante el proceso de instalacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 17: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Instalacioacuten 11

La configuracioacuten de las herramientas de generacioacuten no forma parte de este documento y se insta al lector a acudir al Manual del Entorno de Generacioacuten [GENER] para informacioacuten sobre este proceso

322 Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para cada pool de browsers (o ldquoBrowser Poolrdquo) es la siguiente

- Puerto de escucha del pool - Puerto de parada del pool - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Puerto inicial de lanzamiento de browsers

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En sistemas operativos Windows es posible especificar que el pool de browsers sea instalado como servicio Tambieacuten es necesario indicar al sistema la ruta donde estaacuten instaladas las aplicaciones externas necesarias para ciertos componentes

- Ruta donde se encuentra instalado Mozilla Firefox Firefox es necesario si se desea que el pool de browsers utilice este tipo de navegadores

- Ruta donde se encuentra instalado Acrobat Professional Necesario si se desea utilizar sus conversores para documentos PDF

- Ruta donde se encuentra instalado OpenOffice Necesario para tratar documentos MS Word El resto de informacioacuten de configuracioacuten podraacute actualizarse desde la herramienta de administracioacuten de ITPilot (ver apartado 53)

323 Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacuten

La informacioacuten de configuracioacuten necesaria en esta fase de instalacioacuten para un servidor de wrappers (o ldquoWrapper Serverrdquo) es la siguiente

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha parada y auxiliar En caso de estar instalando ITPilot en la misma ruta en la que se instaloacute previamente Denodo Virtual DataPort los valores configurados para estos puertos en el servidor de ejecucioacuten de Virtual DataPort seraacuten sobrescritos por estos valores

Ademaacutes si en la misma instalacioacuten no se estaacute instalando un pool de browsers entonces hay que configurar los datos de acceso al pool que utilizaraacute el servidor de wrappers

- Direccioacuten IP del pool de browsers - Puerto de escucha del pool de browsers

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 18: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Instalacioacuten 12

En caso de estar instalando tambieacuten un pool de browsers cogeraacute como valores para estos paraacutemetros los indicados para el pool durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

324 Configuracioacuten del Servidor de Mantenimiento en Fase de Instalacioacuten

El servidor de mantenimiento tambieacuten utiliza un pool de browsers por lo que ademaacutes de configurar su dominio y puerto de escucha habraacute de saber acerca de sus datos de acceso

- Puerto de escucha del servidor - Puerto de parada del servidor - Puerto auxiliar puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes - Direccioacuten IP del pool - Puerto de escucha del pool

NOTA Si las comunicaciones entre los clientes y el servidor deben atravesar un software de cortafuegos eacuteste debe configurarse para permitir el acceso a los puertos de escucha del servidor parada y auxiliar En sistemas operativos Windows es posible especificar que el servidor de wrappers sea instalado como servicio Ademaacutes si en la misma instalacioacuten no se estaacute instalando un servidor de wrappers entonces hay que configurar los datos de acceso al servidor de wrappers con el que se comunica

- Direccioacuten IP del servidor de wrappers - Puerto de escucha del servidor de wrappers

En caso de estar instalando tambieacuten un servidor de wrappers cogeraacute como valores para estos paraacutemetros los indicados para ese servidor durante la instalacioacuten Maacutes adelante esos valores pueden ser modificados a traveacutes de la herramienta de administracioacuten

325 Configuracioacuten del Servidor de Administracioacuten en Fase de Instalacioacuten

De este servidor no se requiere ninguacuten tipo de informacioacuten de configuracioacuten El servidor de administracioacuten se provee tanto como un fichero war (Web Archive) para su uso en contenedores web como un fichero ear (Enterprise Archive) para su uso en servidores de aplicaciones Un WAR es una especificacioacuten desarrollada por Sun Microsystems [SUN] que permite agrupar un conjunto de clases y documentos que conforman una aplicacioacuten Web en Java Estos WARS por lo general son utilizados por los diversos ldquoServlet Enginesrdquo (contenedores web) del mercado El servidor de administracioacuten de Denodo ITPilot ha sido probado en Jakarta Tomcat 5028 y 559 y 6010 [TOM] (ver seccioacuten 3) El instalador almacena los ficheros war y ear en el directorio webappsitpilot de la ruta de instalacioacuten Si se trata de Tomcat lo normal es que el usuario copie el fichero war en el directorio TOMCAT_HOMEwebapps (otros modos de instalacioacuten son posibles en Tomcat y en otros contenedores web) Existen otras opciones de instalacioacuten de Tomcat por lo que se recomienda la lectura de su documentacioacuten En el caso del ear el procedimiento usual es copiar el fichero en el servidor de aplicaciones J2EE deseado (ha sido probado satisfactoriamente en BEA WebLogic Server 90 [BEA]) y desplegar la aplicacioacuten (el proceso concreto depende del servidor de aplicaciones utilizado)

33 ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN

La estructura de directorios de la distribucioacuten del servidor se especifica a continuacioacuten

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 19: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Instalacioacuten 13

A partir del directorio raiacutez seleccionado anteriormente en el proceso de instalacioacuten (DENODO_HOME) se crea la estructura de directorios que se describe enseguida

bull activexitpilot Este directorio almacena el ActiveX de ejecucioacuten automaacutetica de secuencias de navegacioacuten que se explica en detalle en el apartado 6

bull bin Directorio que incluye los scripts de ejecucioacuten del sistema para el bash (sistema linux ndash unix) y sus equivalentes archivos de procesamiento por lotes para Windows Los primeros tienen extensioacuten ldquoshrdquo y los otros ldquobatrdquo

bull Servidor de Wrappers

o vqlservershbat

1 vqlserver startup lanza el servidor de wrappers

2 vqlserver shutdown para el servidor de wrappers

o vdpservicebat en sistemas Windows lanza el servidor de wrappers como servicio

bull Servidor de Mantenimiento

o startVerificationEngineshbat Lanza el servidor de mantenimiento

o shutdownVerificationEngineshbat Para el servidor de mantenimiento

o VerificationServicebat en sistemas Windows lanza el servidor de mantenimiento como servicio

bull Pool de Browsers

o start_Poolbat lanza el pool de browsers

o stop_Poolbat para el pool de browsers

o PoolServicebat en sistemas Windows lanza el pool como servicio

bull Entorno de generacioacuten

o start_GenITPbat lanza la herramienta de generacioacutende especificaciones

o gen_scannerbatsh permite generar y compiler escaners

bull conf En este directorio se encuentran todos los ficheros de configuracioacuten del sistema

bull iebrowser directorio de configuracioacuten del pool de browsers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull itpilot-client directorio de configuracioacuten del cliente ITPilot

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull maintenance directorio de configuracioacuten del servidor de mantenimiento

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull specGenerator directorio de configuracioacuten del generador de especificaciones

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull vdp directorio de configuracioacuten del servidor de wrappers

minus log4jxml Fichero de configuracioacuten Log4J [LOG4J]

bull docs Directorio en el que se encuentra la documentacioacuten y javadoc de la aplicacioacuten ademaacutes de un fichero de texto README_ITPilotClient con informacioacuten acerca de coacutemo crear aplicaciones cliente

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 20: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Instalacioacuten 14

bull lib Directorio en el que se almacenan las diferentes libreriacuteas utilizadas por el sistema

bull logs Directorio donde se almacenan diveros ficheros de log de la aplicacioacuten

bull itpilot Directorio en el que se almacenan diversos ficheros de log de los servidores de wrappers y mantenimiento

bull maintenancelog fichero de traza del servidor de mantenimiento

bull iebrowserlog fichero de traza del pool de browsers

bull itpilotadmintoollog fichero de traza de la herramienta de administracioacuten de ITPilot

bull seqgeneratorlog fichero de traza de la herramienta de generacioacuten de secuencias

bull specgeneratorlog fichero de traza de la herramienta de generacioacuten de especificaciones

bull vdp Directorio en el que se almacena el fichero de traza del Servidor de wrappers

bull metadata Directorio de metadatos

bull parser Juegos de marcas y escaners

bull db Metadatos del servidor de wrappers

bull seqgenerator Dominios de la herramienta de generacioacuten de secuencias

bull patchesitpilot inicialmente vaciacuteo es la ruta de almacenamiento de los parches de la versioacuten actual de ITPilot

bull scriptsitpilotsql Scripts de creacioacuten de tablas de la Base de Datos de mantenimiento

bull webappsitpilot Contiene todos los elementos necesarios para la distribucioacuten de la herramienta de administracioacuten clases Java libreriacuteas paacuteginas JSP HTML ficheros de configuracioacuten etc empaquetados en un fichero ldquowarrdquo directamente instalable sobre un servidor de paacuteginas HTML y JSPs

34 ARRANQUE DE LOS COMPONENTES

Una vez el proceso de instalacioacuten ha terminado los servidores estaacuten listos para ser arrancados Todo servidor que se encuentre en la misma maacutequina que el servidor de administracioacuten podraacute ser arrancado directamente desde la propia herramienta web caso que se comentaraacute en el apartado 52 Si no es el caso habraacuten de ser arrancados en cada una de las maacutequinas donde residan

341 Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot

Coloque el fichero de licencia de la Plataforma Denodo que le habraacute sido entregado (denodolic) en el directorio ldquoconfrdquo de la distribucioacuten de la herramienta Sin ese fichero los diferentes componentes de ITPilot no arrancaraacuten

342 Arranque del Servidor de Administracioacuten

Este arranque es dependiente del contenedor web o servidor de aplicaciones seleccionado En principio una vez la aplicacioacuten ha sido desplegada adecuadamente el servidor de administracioacuten se encontraraacute disponible en httpdominiopuertodenodo-itpilot-admin-135

343 Arranque del Pool de Browsers

Estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 21: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Instalacioacuten 15

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

344 Arranque del Servidor de Wrappers

El script vqlserver con las opciones startup y shutdown del directorio DENODO_HOMEbin o los scripts vqlserver_startup y vqlserver_shutdown respectivamente permiten arrancar y parar el servidor

345 Arranque del Servidor de Mantenimiento

Los scripts StartVerificationEngine y ShutdownVerificationEngine del directorio DENODO_HOMEbin permiten arrancar y parar el servidor

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 22: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Herramienta Web de Administracioacuten 16

4 HERRAMIENTA WEB DE ADMINISTRACIOacuteN

La herramienta de administracioacuten de ITPilot permite gestionar los entornos de ejecucioacuten y mantenimiento de una manera sencilla y uniforme Se trata de una aplicacioacuten web que controla tanto el servidor de wrappers como el pool de browsers y el servidor de mantenimiento ndashpor supuesto si eacuteste uacuteltimo es necesario- La Figura 6 muestra el aspecto de la herramienta tras su arranque y previo al acceso autenticado (a traveacutes de la URL dominiopuertoitpilot-denodo-admin-135 y con el usuario admin y contrasentildea vaciacutea como acceso inicial) La herramienta se compone visualmente de los siguientes elementos

bull Aacuterea de Seleccioacuten de Servidores aquiacute es donde el usuario puede elegir queacute servidor desea configurar servidor de wrappers pool de browsers o servidor de mantenimiento en caso de que se utilice como administracioacuten del entorno de ejecucioacuten

bull Aacuterea de Trabajo esta aacuterea mostraraacute la informacioacuten de configuracioacuten relevante para cada servidor El siguiente apartado detalla el conjunto de pasos necesario para configurar y administrar los entornos de ejecucioacuten y mantenimiento

Figura 6 Paacutegina de Entrada a la Herramienta de Administracioacuten

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 23: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 17

5 ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO

51 INTRODUCCIOacuteN

A traveacutes de la herramienta web de administracioacuten se pueden configurar y en casos concretos arrancar y parar los diferentes servidores que componen los entornos de ejecucioacuten y mantenimiento

52 ARRANQUE DE LOS SERVIDORES

Desde la herramienta de administracioacuten puede gestionarse la configuracioacuten de cada uno de los servidores Para ello obviamente los servidores han de estar arrancados Si estaacuten en la misma maacutequina que la herramienta de

administracioacuten podraacuten arrancarse desde ella directamente utilizando el botoacuten StartStop Si los servidores se encuentran distribuidos en maacutequinas diferentes a donde reside la herramienta de administracioacuten eacutestos habraacuten de haber sido arrancados previamente

53 CONFIGURACIOacuteN DEL POOL DE BROWSERS

Los wrappers que implementan sus secuencias de navegacioacuten a traveacutes de programas NSEQL precisan que el entorno de ejecucioacuten de ITPilot tenga accesible un pool de browsers En la seccioacuten 322 se describioacute el proceso de instalacioacuten de este componente En esta seccioacuten se describen las opciones de configuracioacuten disponibles para el mismo Un primer aspecto a tener en cuenta es que los browsers del pool utilizaraacuten la configuracioacuten establecida para los navegadores Microsoft Interne Explorer yo Firefox en el sistema doacutende se ejecute el pool t

bull Es recomendable que el home sea una paacutegina en blanco (ldquoaboutblankrdquo) para evitar que cada nuevo browser arrancado por el pool se conecte a la paacutegina home antes de ejecutar una peticioacuten de la aplicacioacuten lo cuaacutel causariacutea un retardo innecesario

bull Tambieacuten es preciso tener en cuenta las opciones de seguridad y cookies ya que los browsers del pool se comportaraacuten de acuerdo a dicha configuracioacuten

La configuracioacuten del pool de browsers se realiza en el panel ldquoBrowser Poolrdquo de la herramienta de administracioacuten del entorno de ejecucioacuten de ITPilot La Figura 7 ofrece una imagen de esta ventana

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 24: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 18

Figura 7 Pestantildea de Browser Pool

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

Para ello se hace uso del botoacuten ldquoAdd Serverrdquo que muestra una ventana como la que aparece en la Figura 8 Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

Figura 8 Paacutegina de Adicioacuten de Servidor

Los datos del pool antildeadido pueden modificarse pulsando el botoacuten ldquoEditrdquo que lleva a la misma ventana de configuracioacuten comentada anteriormente El botoacuten ldquoStartStoprdquo seraacute visible si y soacutelo si se ha cubierto adecuadamente el campo ldquoLocal Pathrdquo en la configuracioacuten del pool

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 25: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 19

Por supuesto pueden antildeadirse tantos pools como sean necesarios aunque se recomienda tener en cuenta las consideraciones de arquitectura del apartado 2 de este mismo documento Una vez configurado el pool se procede a la conexioacuten mediante la pulsacioacuten del botoacuten ldquoConnectrdquo Si la conexioacuten es exitosa apareceraacute en la ventana el conjunto de paraacutemetros configurables por el usuario Los paraacutemetros de configuracioacuten existentes pueden dividirse en varios grupos accesible cada uno de ellos en el panel de la herramienta de administracioacuten identificacioacuten del pool y de la asignacioacuten de puertos del sistema comportamiento de los browsers del pool configuracioacuten de conversores HTML configuracioacuten de navegadores soporte para proxies con autenticacioacuten tamantildeo del pool y poliacuteticas de asignacioacuten de browsers y finalmente paraacutemetros de inicializacioacuten Los siguientes subapartados se ocupan respectivamente de cada uno de estos grupos de paraacutemetros

531 Identificacioacuten del pool y asignacioacuten de puertos

Los paraacutemetros de este grupo son

bull TYPE OF BROWSER Tipo de navegador a utilizar en el pool

o IEBrowser navegador de Internet Explorer o Firefox navegador de Firefox o HttpClient navegador http con capacidades de mantenimiento de sesioacuten

bull PORT Puerto en el que el pool de browsers escucharaacute peticiones

bull INITIAL_PORT Cada browser del pool escucharaacute peticiones en un puerto El valor de este paraacutemetro determina el nuacutemero de puerto que se utilizaraacute como inicial para la asignacioacuten de nuacutemeros de puerto a los browsers A partir de este nuacutemero se utilizaraacuten nuacutemeros de puerto consecutivos en orden ascendente

bull SHUTDOWN_PORT Puerto en el que el servidor queda en escucha de la sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

bull AUXILIARY_PORT Puerto auxiliar que utiliza el pool para sus comunicaciones con sus clientes

En la Figura 9 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 9 Identificacioacuten y asignacioacuten

532 Comportamiento de los Browsers del Pool

Los paraacutemetros de este grupo son

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 26: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 20

bull MAX_DOWNLOAD_TIME Indica el tiempo maacuteximo que un browser esperaraacute para descargar una paacutegina (en milisegundos)

bull OBJECT_TIMEOUT Tiempo maacuteximo (en milisegundos) que un browser puede estar en uso fuera del pool para atender una peticioacuten de un wrapper Transcurrido ese tiempo el browser es destruido Si el valor de este paraacutemetro es menor que 0 se permite que el browser permanezca fuera del pool indefinidamente

bull DOWNLOAD_CONTROLS Este conjunto de paraacutemetros permite especificar queacute tipos de contenidos deben ser descargados por los browsers del pool Los tipos de contenido cuya descarga o no puede ser configurada son imaacutegenes videos sonidos de fondo programas de script applets Java y componentes activeX Si se utiliza Firefox como navegador soacutelo pueden ser configurados los paraacutemetros relacionados con imaacutegenes javascript java cache y proxy

bull CACHE_CONTROLS Este conjunto de paraacutemetros permite especificar si los browsers del pool deben utilizar o no la cache local yo la cache del proxy

bull GRAPHICAL_INTERFACE Indica si los browsers del pool mostraraacuten interfaz graacutefica o no Para optimizar la eficiencia del sistema las aplicaciones en produccioacuten normalmente no mostraraacuten las interfaces graacuteficas de los browsers Sin embargo puede ser uacutetil cambiar el valor de esta opcioacuten para propoacutesitos de depuracioacuten Este paraacutemetro soacutelo es configurable cuando el wrapper se ejecuta con Internet Explorer

En la Figura 10 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 10 Comportamiento de los browsers

533 Proxy con Autenticacioacuten

Si el acceso a Internet se realiza a traveacutes de un proxy con autenticacioacuten es necesario proporcionar valor para los siguientes paraacutemetros

bull PROXY_LOGIN login de usuario en el proxy

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 27: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 21

bull PROXY_PASSWORD contrasentildea del usuario en el proxy

bull PROXY_DOMAIN (Windows 2000) dominio Windows

En la Figura 11 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 11 Proxy con autenticacioacuten

534 Configuracioacuten de la conversioacuten HTML

En este apartado se configura la conversioacuten de Microsoft Word y PDF a HTML para que el contenido de estos recursos pueda ser extraiacutedo por ITPilot

bull 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 cuaacutel ITPilot genera un fichero HTML (es necesario que este producto se encuentre instalado)

o PDF Box utiliza la libreriacutea PDFBox [PDFBOX] para generar el HTML

bull Conversion Server port puerto del servidor de conversioacuten

bull Open Office Lib Directory directorio donde se encuentra la biblioteca de clases de Open Office

bull Acrobat Prof Plugins Directory directorio donde se encuentran los ldquoplug-insrdquo de Acrobat Professional

o En este caso ademaacutes de actualizar el directorio deberaacute copiarse el plugin DDEPdfToHtmlapi residente en el directorio ltDENODO_HOMEgtdllitpilot al directorio Acrobatplug_ins donde Adobe Acrobat se encuentre instalado

535 Firefox Web Browser Configuration

En este apartado se configura Firefox para su utilizacioacuten en el entorno de ejecucioacuten

bull Firefox Home directory directorio base de la instalacioacuten de Firefox a utilizar

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 28: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 22

o En este caso ademaacutes de actualizar el directorio deberaacute instalarse el plugin ltDENODO_HOMEgtsetupitpilotdlliebrowserdenodo-runtimexpi mediante la ejecucioacuten del comando firefox -install-global-extension denodo-runtimexpi desde ese mismo directorio

o Firefox no provee comando de desinstalacioacuten del plugin por lo que hay que eliminarlo manualmente como un directorio dentro de la instalacioacuten de Firefox (generalmente extensions800f0371-e961-44b9-97a6-2d9d8b7147b8)

536 Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers

Los paraacutemetros de este grupo son

bull MAX_POOLSIZE Nuacutemero maacuteximo de browsers en el pool

bull MIN_POOLSIZE Nuacutemero miacutenimo de browsers El sistema no reutilizaraacute browsers ya existentes en el pool a menos que el nuacutemero actual iguale o supere el valor de este paraacutemetro

bull REUSABLE_BROWSERS Indica si los browsers del pool pueden ser reutilizados para atender maacutes de una peticioacuten Permitir la reutilizacioacuten de los browsers incrementa la eficiencia de la mayoriacutea de aplicaciones aunque puede no ser conveniente en algunos casos en los que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de cookies)

bull ASSIGNMENT_STRATEGY Permite especificar la estrategia de asignacioacuten que utilizaraacute el pool de browsers La estrategia IEBrowserStatePoolAsignationStrategy intenta asignar a cada peticioacuten un browser cuyo estado permita minimizar el nuacutemero de pasos de navegacioacuten necesarios para atender la peticioacuten Por el contrario la estrategia SimplePoolAsignationStrategy asignaraacute a cada peticioacuten un browser libre cualquiera Si la reutilizacioacuten estaacute desactivada (REUSABLE_BROWSERS no marcado) entonces el valor de ASSIGNMENT_STRATEGY se ignora El siguiente apartado (5361) explica con maacutes detalle las implicaciones de este paraacutemetro

En la Figura 12 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 12 Tamantildeo y Poliacutetica de Reutilizacioacuten

5361 Poliacuteticas de Reutilizacioacuten de Browsers

Es muy frecuente que las secuencias de navegacioacuten que son ejecutadas por un ldquowrapperrdquo determinado compartan una serie de pasos iniciales comunes por ejemplo supoacutengase que se ha creado un wrapper para automatizar el proceso de buacutesqueda en una determinada fuente web La fuente requiere de un proceso de autenticacioacuten que involucra la introduccioacuten de un nombre de usuario y de una contrasentildea En nuestro ejemplo supondremos que el wrapper utiliza el mismo par clavecontrasentildea para todos sus accesos a la fuente Utilizando Denodo ITPilot para la creacioacuten de este ldquowrapperrdquo (para maacutes informacioacuten ver [GENER]) se creariacutea una

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 29: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 23

secuencia de navegacioacuten inicial que realizariacutea aproximadamente los siguientes pasos

1 Conectarse a la paacutegina ldquohomerdquo o inicial de la fuente 2 Rellenar el formulario de autenticacioacuten con el loginpassword y pulsar el botoacuten ldquoSubmitrdquo o ldquoEntrarrdquo para

autenticarse 3 Una vez realizada la autenticacioacuten pulsar sobre el enlace que permite acceder a la paacutegina de buacutesqueda 4 Rellenar el formulario de buacutesqueda con la consulta deseada 5 El servidor devuelve una paacutegina 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 soacutelo en el cuarto paso cuando el formulario de buacutesqueda es rellenado de acuerdo a la consulta especiacutefica que se desea realizar en cada momento Seriacutea deseable no tener que pagar el coste temporal de esos tres primeros pasos en cada consulta idealmente al recibir una nueva consulta habriacutea un navegador ya autenticado y situado en la paacutegina de buacutesqueda de la fuente al que se podriacutea asignar la nueva peticioacuten El browser realizariacutea directamente la buacutesqueda (paso 4) y devolveriacutea los resultados (paso 5) evitando el coste temporal de los pasos 1-3 Denodo ITPilot soporta esta reutilizacioacuten inteligente de browsers mediante el uso combinado de los siguientes mecanismos

bull Secuencias de navegacioacuten de ldquovuelta atraacutesrdquo Una secuencia de navegacioacuten de vuelta atraacutes se encarga de devolver a un browser 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 browser que ha sido utilizado para ejecutar la secuencia de navegacioacuten se queda en la paacutegina de resultados de la consulta (paso 5) Para que el browser pueda ser utilizado para una nueva consulta del mismo wrapper es necesario hacerle regresar a la paacutegina de buacutesqueda (paso 4) La secuencia encargada de lograr esto es la mencionada secuencia de vuelta atraacutes Un wrapper puede obtener una secuencia de vuelta atraacutes de dos formas

o Expliacutecitamente el creador del wrapper puede especificar una secuencia de navegacioacuten de vuelta atraacutes para un wrapper en la pestantildea de Buacutesqueda en la opcioacuten ldquoVuelta Atraacutesrdquo del apartado de carga de secuencias la herramienta de generacioacuten de especificaciones (ver [GENER])

o Impliacutecitamente si se ha activado en el pool de browsers la estrategia de asignacioacuten STATE (ASSIGNMENT_STRATEGY=PoolAssigmentStrategy ver punto siguiente) y un wrapper no tiene una secuencia de vuelta atraacutes definida expliacutecitamente entonces Denodo ITPilot intentaraacute obtener por siacute mismo una secuencia de vuelta atraacutes adecuada para el wrapper en funcioacuten de sus ejecuciones anteriores Normalmente Denodo ITPilot requeriraacute al menos dos ejecuciones del wrapper antes de poder determinar si hay una secuencia de vuelta atraacutes adecuada para el wrapper

bull Estrategia de asignacioacuten del pool de browsers PoolAssigmentStrategy Si esta estrategia de asignacioacuten de

browsers estaacute activada entonces cuaacutendo el pool reciba una peticioacuten para ejecutar una determinada secuencia de navegacioacuten comprobaraacute si entre los browsers activos hay alguno libre que esteacute ya en una de las paacuteginas intermedias de la secuencia evitando asiacute repetirla entera Siguiendo con nuestro ejemplo si el pool recibe una peticioacuten para ejecutar una secuencia de navegacioacuten para buscar sobre nuestra fuente y hay un browser situado ya en la paacutegina de buacutesqueda (probablemente debido a que ese browser fue utilizado para una peticioacuten anterior del mismo wrapper y posteriormente se ejecutoacute sobre eacutel la secuencia de vuelta atraacutes) entonces se asignaraacute la ejecucioacuten de la nueva secuencia a dicho browser que realizaraacute entonces soacutelo los pasos 4 y 5 de la misma evitando asiacute el coste de los pasos 1-3

Como se ha comentando en el apartado anterior (534) no siempre es aconsejable reutilizar browsers (REUSABLE_BROWSERS marcado) Puede ocurrir que la atencioacuten de una peticioacuten previa modifique la respuesta del browser ante posteriores peticiones (por ejemplo mediante el uso de ldquocookiesrdquo) de forma que haga desaconsejable la reutilizacioacuten El caso tiacutepico es cuando se intenta acceder a una fuente en la que ya hay otro browser autenticado en

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 30: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 24

ocasiones al hacer la navegacioacuten a la paacutegina inicial (ldquohomerdquo) no se pediraacute de nuevo el formulario de entrada (clavecontrasentildea) con lo que la secuencia fallaraacute al no encontrarlo Sin embargo usando la estrategia IEBrowserStatePoolAsignationStrategy a veces siacute seraacute posible reutilizar navegadores en este escenario si todos los accesos a la fuente comparten el mismo par clavecontrasentildea ya que esta estrategia evitaraacute el que el browser intente ejecutar los pasos de autenticacioacuten de nuevo al considerarlos parte de los pasos iniciales comunes Si hay cookies de sesioacuten en la fuente y se usa un par clavecontrasentildea diferente en cada acceso entonces siacute 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

537 Inicializacioacuten del Pool

El pool de browsers puede ser configurado para inicializar automaacuteticamente un cierto nuacutemero de browsers con una secuencia de navegacioacuten determinada Esta funcionalidad es uacutetil cuaacutendo las secuencias de navegacioacuten a ejecutar por la aplicacioacuten comparten una serie de pasos iniciales (eg el establecimiento de una sesioacuten mediante un proceso de autenticacioacuten) cuyo coste deseamos evitar en tiempo de ejecucioacuten de peticiones Haciendo uso de esta funcionalidad y de la poliacutetica de asignacioacuten IEBrowserStatePoolAsignationStrategy seraacute posible mejorar los tiempos de respuesta del sistema en estos casos Para cada secuencia de navegacioacuten deseada es necesario especificar dos paraacutemetros

bull POSITION Programa NSEQL que implementa la secuencia de navegacioacuten (eg ldquonavigatehttpwwwdenodocom1rdquo)

bull INITIAL_BROWSERS Nuacutemero de browsers que deseamos que el pool inicialice con esta secuencia de navegacioacuten

Si no se especifica ninguna secuencia de navegacioacuten en esta seccioacuten el pool no arrancaraacute automaacuteticamente ninguacuten browser al inicializarse sino que lo iraacute haciendo a medida que reciba peticiones

En la Figura 13 se muestra la paacutegina de la herramienta de administracioacuten donde configurar todos estos paraacutemetros

Figura 13 Iniciacioacuten del pool

538 Ejecucioacuten y parada del Pool de Browsers

El botoacuten ldquoStart Stoprdquo de la ventana de configuracioacuten del pool de browsers en la herramienta de administracioacuten permiten arrancar o parar el pool de browsers siempre que eacuteste se encuentre en la misma maacutequina en la que se ejecuta dicha herramienta Tambieacuten es posible arrancar o parar el pool desde liacutenea de comando Para ello estaacuten disponibles los siguientes scripts en la ruta DENODO_HOMEbin

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 31: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 25

bull start_Pool Arranca el pool de browsers

bull stop_Pool Finaliza el pool remoto y todos los browsers contenidos en eacutel

54 CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS

La ventana de configuracioacuten del servidor de wrappers (ver Figura 14) permite al administrador controlar todos los paraacutemetros de configuracioacuten del citado servidor ademaacutes de monitorizar y ejecutar los diferentes wrappers que estaacuten almacenados Los elementos configurables de esta ventana se detallan a continuacioacuten

Figura 14 Ventana de Configuracioacuten del Servidor de Wrappers

541 Acceso al Servidor de Wrappers

Como se puede observar en la Figura 14 esta aacuterea muestra el conjunto de servidores de wrappers que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Al antildeadir un nuevo servidor y como dato configurable de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52) Tras la edicioacuten del servidor de wrappers es necesario conectarse a eacutel para poder realizar el resto de acciones Para

ello hay que pulsar el botoacuten del servidor de wrappers deseado Apareceraacute una pantalla donde el usuario deberaacute indicar el nombre de usuario y contrasentildea con la que desea conectarse al servidor de wrappers (ldquoadminrdquordquoadminrdquo en caso de tener instalado solamente ITPilot) Existe la opcioacuten de recordar estos datos durante toda la sesioacuten marcando la casilla ldquoRemenber in this sessionrdquo Apareceraacute una paacutegina como la mostrada en la Figura 15 En el apartado deberaacute elegir queacute base de datos del servidor de wrappers desea utilizar En caso de tener instalado solamente ITPilot no seraacute necesario seleccionar la base de datos y se mostraraacute directamente la lista de wrappers Por defecto aparece la lista de wrappers de la base de datos ldquoITPilotrdquo

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 32: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 26

Figura 15 Conexioacuten a un Wrapper

542 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 ldquowrappersrdquo contenidos en ese servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

- Nombre nombre del wrapper - Maintenance indica si el wrapper seleccionado seraacute mantenido automaacuteticamente o no Pulsando sobre el

enlace se cambia el valor de esta caracteriacutestica para el wrapper en cuestioacuten Los botones y sirven respectivamente para indicar que todos los wrappers utilicen mantenimiento automaacutetico o que no lo utilice ninguno

o ITPilot indica si un programa envoltorio es mantenible o no desde la herramienta de administracioacuten El icono indica que la fuente no es mantenible por ITPilot Auacuten asiacute el usuario puede indicar si desea que esa fuente siga siendo monitorizada por ITPilot para que en caso de que cambie sea informado a traveacutes de un correo electroacutenico (ver seccioacuten 55)

- Export pulsando el botoacuten se genera un fichero vql que el usuario podraacute almacenar donde desee - Execution pulsando este botoacuten y como se veraacute maacutes adelante en detalle se prepara la ejecucioacuten de

una consulta sobre el wrapper seleccionado - Delete pulsando este botoacuten se elimina el wrapper del servidor

5421 Ejecucioacuten de Wrappers

La herramienta de administracioacuten permite realizar consultas sobre los wrappers a traveacutes de la opcioacuten ldquoExecutionrdquo comentada anteriormente La Figura 16 muestra la ventana de Ejecucioacuten 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 buacutesqueda de atributos obligatorios deben ser rellenados) Tambieacuten se pueden seleccionar de entre los campos de salida del wrapper cuales se quieren visualizar en la tabla de resultados Pulsando el botoacuten ldquoExecuterdquo la herramienta de administracioacuten se comunica con el servidor de wrappers e invoca la consulta deseada sobre el ldquowrapperrdquo concreto eacuteste se comunica con la fuente de datos Los resultados

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 33: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 27

adecuadamente estructurados se muestran en la lista de resultados de la ventana de ejecucioacuten

Figura 16 Paacutegina de Ejecucioacuten de Wrappers

5422 Exportacioacuten de los resultados a ficheros con formato CSV

Antes de pulsar el botoacuten 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 cuaacutel es el caraacutecter de separacioacuten) Tras la ejecucioacuten el usuario tendraacute la opcioacuten de guardar el fichero generado donde desee El campo de seleccioacuten ldquoInclude Headersrdquo permite indicar si el fichero CSV tendraacute el nombre de los campos obtenidos por ITPilot como cabecera

543 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Cuando se ejecute un ldquowrapperrdquo si eacuteste utiliza el pool podraacute pedirle una instancia En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 17)

Figura 17 Localizacioacuten del Pool de Browsers

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 34: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 28

544 Asignacioacuten de Puertos

En este apartado pueden configurarse los siguientes paraacutemetros

- 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 sentildeal de Shutdown para finalizar su

ejecucioacuten en caso de recibirla - Auxiliary Port puerto utilizado para las comunicaciones entre el pool de browsers y el servidor de

wrappers

545 Carga de nuevos wrappers desde ficheros VQL

Aunque lo habitual seraacute exportar wrappers desde la herramienta de generacioacuten de especificaciones al servidor de wrappers tambieacuten se permite cargar ficheros VQL que contengan la definicioacuten de un wrapper Esto es uacutetil cuando la especificacioacuten se ha realizado manualmente de manera iacutentegra Para ello se pulsaraacute el botoacuten ldquoLoad VQL Filerdquo una vez se haya cargado la ruta completa de acceso al fichero VQL pulsando el botoacuten ldquoExaminarhelliprdquo y seleccionando el fichero VQL deseado El wrapper apareceraacute en la lista de wrappers de la base de datos desde la que se haya cargado

546 Creacioacuten de un Web Service

Los wrappers almacenados en el servidor de ejecucioacuten 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 aplicacioacuten Java Otra opcioacuten es la de exponer estos wrappers a traveacutes de Web Services La descripcioacuten de la utilizacioacuten de ambas opciones se encuentra en la Guiacutea de Desarrollador de ITPilot [DESAR] En el caso de los Web Services su creacioacuten se realiza desde la herramienta web de administracioacuten En esta seccion describiremos el Web Service a generar a partir de un ejemplo que se incluye en la distribucioacuten de ITPilot Por tanto habremos de cargar el wrapper sobre el que se va a generar el servicio web Para ello seleccionamos el fichero ldquowebmailvqlrdquo que se encuentra en la ruta de instalacioacuten de ITPilot en ldquosamplesitpilotitp-clientsscriptsrdquo pulsando el botoacuten ldquoExaminarrdquo y pulsamos el botoacuten ldquoLoad VQLrdquo (ver Figura 18) El wrapper apareceraacute en la lista de wrappers tal y como se muestra en la Figura 19

Figura 18 Carga de Wrappers mediante Ficheros VQL

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 35: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 29

Figura 19 Lista de Wrappers con webmail cargado

Podemos proceder entonces a generar el web service pulsando el botoacuten ldquoCreate Web Servicerdquo en la pestantildea del servidor de ejecucioacuten tras lo cuaacutel apareceraacute una paacutegina como la mostrada en la Figura 20 desde la que se describe el Web Service a generar

- Nombre del servicio Web (ldquoWeb Service Namerdquo) nombre que va a tener este servicio Por ejemplo ldquowebmailwsrdquo

- URL del servicio Web (ldquoWeb Service URLrdquo) esta es la URL del servidor de ejecucioacuten que almacena el wrapper que va a ser accedido a traveacutes del Web Service ldquolocalhost9999itpilotrdquo donde ldquolocalhost9999rdquo es el dominio y puerto donde reside el servidor de ejecucioacuten e ldquoitpilotrdquo es la base de datos donde estaacute cargado el wrapper

- LoginPassword usuario y contrasentildea de acceso a ITPilot En este caso y por defecto ldquoadminadminrdquo - Query Timeout tiempo maacuteximo de espera de un resultado de consulta (se deja en blanco para tomar el

valor por defecto) - ChunkTimeout tiempo maacuteximo de espera entre dos resultados consecutivos (tambieacuten se deja en blanco) - ChunkSize tamantildeo del bloque para cada operacioacuten (tambieacuten 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

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 36: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 30

Figura 20 Paacutegina de Exportacioacuten de Web Services

Una vez configurados los datos de descripcioacuten de acceso al servidor el siguiente paso es el de definicioacuten de las operaciones del servicio web ITPilot permite la generacioacuten de dos operaciones por wrapper Una contiene todos los paraacutemetros obligatorios (los que se han marcado como atributos buscables y obligatorios en la especificacioacuten ver [GENER] Si no hubiese paraacutemetros obligatorios se ejecutariacutea la consulta sin paraacutemetros) la otra aquellos atributos buscables y opcionales que se seleccionen en la columna ldquoOPT FIELDSrdquo En el ejemplo en el que nos encontramos no existen paraacutemetros opcionales por lo que soacutelo se crearaacute una operacioacuten que llamaremos ldquogetMailsrdquo escribiendo ese nombre en el campo de texto de la columna ldquoOBL Operation Namerdquo correspondiente al wrapper ldquowebmailrdquo Marcaremos la opcioacuten ldquoAdd Operationrdquo para notificar nuestras intenciones al servidor de administracioacuten Por uacuteltimo ITPilot permite generar el Web Service como un fichero war y tambieacuten el fichero WSDL Pulsando los botones ldquoCreate Web Servicerdquo y ldquoCreate WSDLrdquo respectivamente el usuario podraacute almacenar estos ficheros localmente Si se desea esta accioacuten tambieacuten se puede probar mediante unos programas de ejemplo que se pueden encontrar en la ruta de instalacioacuten de ITPilot en el directorio samplesitpilotitpilot-clients Se recomienda la lectura del fichero samplesitpilotitpilot-clientsREADME La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 37: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 31

55 CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO

Denodo ITPilot ofrece un componente de mantenimiento automaacutetico de ldquowrappersrdquo La idea principal en la que se basa este componente es la recoleccioacuten de resultados de consultas vaacutelidas sobre un wrapper determinado de manera que cuando se detecta un cambio en la fuente estos resultados se utilizan para generar automaacuteticamente nuevos ejemplos a partir de los que regenerar el ldquowrapperrdquo

Este componente se encuentra implantado en un servidor de mantenimiento cuyo proceso de configuracioacuten a traveacutes de la herramienta web de administracioacuten se detalla en este apartado

551 Acceso al Servidor de Mantenimiento

Como se puede observar en la Figura 21 esta aacuterea muestra el conjunto de servidores de mantenimiento que se encuentran disponibles en este momento ademaacutes de la posibilidad de antildeadir nuevos Lo normal seraacute tener tan soacutelo uno arrancado pero si el tamantildeo o cantidad de fuentes lo requiere siempre existe esta posibilidad Al antildeadir un nuevo servidor y como datos configurables de cada uno de los servidores listados se puede seleccionar el dominio y el puerto donde estaacute escuchando (recordamos que si eacuteste reside en la misma maacutequina que el servidor de administracioacuten la herramienta web permite su arranque si no estaacute levantado en caso contrario deberaacute arrancarse manualmente siguiendo las instrucciones de la seccioacuten 52)

Figura 21 Paacutegina principal de Administracioacuten de Mantenimiento

Los campos a rellenar son los siguientes

- Name nombre identificativo del servidor - Host direccioacuten donde se encuentra - Port puerto de escucha del servidor - Local path opcional permite indicar que el servidor es local al servidor de administracioacuten antildeadiendo el

path local donde estaacute la aplicacioacuten el usuario seraacute capaz de arrancar y parar el servidor de mantenimiento desde la herramienta graacutefica de administracioacuten

552 Datos de Configuracioacuten del Servidor

Una vez el sistema se ha conectado con el servidor de mantenimiento la herramienta web muestra los datos de configuracioacuten del servidor La informacioacuten que se muestra de cada uno de ellos es la siguiente

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 38: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 32

5521 Paraacutemetros de la Base de Datos

- Provider proveedor de la base de datos (pe mysql oracle) - JDBC URL URL de acceso a la Base de Datos para el driver JDBC - UserPassword usuario y contrasentildea de acceso - JDBC driver driver JDBC que seraacute utilizado - Pool Size Nuacutemero maacuteximo de conexiones que el pool puede permitir - 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 La Figura 22 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 22 Paraacutemetros de BBDD de Mantenimiento

5522 Paraacutemetros para Notificacioacuten de Correo Electroacutenico

Estos paraacutemetros se utilizaraacuten para notificar por correo electroacutenico los cambios detectados en las fuentes

- SMTP Server nombre del servidor de correo - From direccioacuten de correo electroacutenico desde donde se emite la notificacioacuten - To direccioacuten de correo electroacutenico a donde se emite la notificacioacuten - Subject asunto del correo

La Figura 23 muestra la situacioacuten de estos paraacutemetros configurables en la pestantildea del servidor de mantenimiento

Figura 23 Paraacutemetros de Notificacioacuten de Cambio de Wrapper

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 39: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 33

5523 Paraacutemetros para Asignacioacuten 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 sentildeal de Shutdown para finalizar su ejecucioacuten en caso de recibirla

- Auxiliary Port puerto de comunicacioacuten entre el servidor de mantenimiento y sus clientes La Figura 24 muestra estos paraacutemetros configurables

Figura 24 Paraacutemetros de Asignacioacuten de Puertos

5524 Edicioacuten de Reglas de Verificacioacuten

El sistema de mantenimiento automaacutetico de ITPilot requiere la generacioacuten de una serie de reglas que comprueben queacute wrappers han cambiado El administrador puede crear tantas reglas como desea y eacutestas pueden afectar a un solo wrapper o al conjunto completo Las reglas se componen de entradas cada una de las cuaacuteles es una comprobacioacuten sobre el wrapper o wrappers Cuando todas las entradas de una regla se evaluacutean 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 Figura 25 muestra un pequentildeo ejemplo en el que se han definido un par de reglas la primera con tres entradas y la segunda con una uacutenica entrada Recordamos que han de verificarse todas las entradas de una regla para que se considere que la regla es vaacutelida y por tanto que el wrapper ha cambiado procediendo a ejecutarse el mantenimiento automaacutetico Las reglas pueden contener las pruebas que se especifican a continuacioacuten Cada prueba devolveraacute 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 intuicioacuten detraacutes de esta prueba es que si un nuacutemero significativo de consultas no devuelve ninguacuten resultado una posible causa es un mal funcionamiento del wrapper actual Para una ejecucioacuten 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 Pe si se busca titulo = java entonces en los resultados devueltos normalmente deberaacute aparecer la palabra lsquojavarsquo en el campo titulo de las tuplas extraiacutedas Lo contrario indicariacutea 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 nuacutemero 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 [GENER]) La intuicioacuten detraacutes de esta prueba es similar a la anterior si los resultados no verifican las expresiones regulares indicadas es probable que el wrapper actual esteacute

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 40: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 34

realizando incorrectamente el proceso de extraccioacuten y por lo tanto debe ser regenerado El valor porcentual se calcula de forma proporcional al nuacutemero de tuplas con respecto al total que verifican las expresiones regulares

- Invariability ndash comprueba que un cierto porcentaje de los resultados de una consulta se mantiene cuando la misma consulta es ejecutada cierto tiempo despueacutes La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en los resultados extraiacutedos 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 nuacutemero de tuplas con respecto al total que se mantienen desde las uacuteltima ejecuciones de la consulta

- Pagination - comprueba que en todas las paacuteginas intermedias de resultados devueltas por el wrapper (todas menos la uacuteltima) hay el mismo nuacutemero de resultados Si en una paacutegina intermedia hubiese menos resultados que en otras esto seriacutea indicativo de que el wrapper podriacutea estar omitiendo algunos resultados relevantes (piensese que las fuentes web suelen paginar sus respuestas en intervalos con un nuacutemero de resultados fijo en cada intervalo) El valor porcentual devuelto se calcula en funcioacuten de la desviacioacuten del nuacutemero de tuplas obtenido con respecto al nuacutemero de tuplas esperado El nuacutemero de tuplas esperado se calcula suponiendo que cada paacutegina intermedia devolviese el nuacutemero maacuteximo de resultados obtenido para alguna de las paacuteginas

- ResultsNumber - comprueba que el nuacutemero de tuplas obtenido en sucesivas ejecuciones de una misma consulta a lo largo del tiempo es similar La intuicioacuten detraacutes de este test es que en algunas fuentes cambios muy bruscos en el nuacutemero de resultados extraiacutedos para una misma consulta pueden ser indicativos de un mal funcionamiento del wrapper actual El valor porcentual se calcula de forma proporcional a la desviacioacuten del nuacutemero de tuplas devuelto por la consulta con respecto a la media de las uacuteltimas ejecuciones de la misma

El editor de reglas de verificacioacuten permite configurar cada entrada de la siguiente manera

- Test prueba a realizar de entre las comentadas anteriormente (Invariability Pagination etc) - Amount nuacutemero de ejecuciones del wrapper que han de cumplir esta prueba para que esta entrada se

active Esta cantidad se situacutea en el contexto del intervalo de ejecuciones que se tengan en cuenta configurado en ldquoIntervalrdquo

- Interval Ejecuciones del wrapper que se tienen en cuenta para esta prueba El valor ldquo0rdquo indica la uacuteltima ejecucioacuten realizada ldquo1rdquo es la penuacuteltima etc

- Values cada ejecucioacuten de una prueba devuelve un valor entero entre 0 y 100 maacutes proacuteximo a 0 cuanto peor sean los resultados con respecto a la prueba realizada Este paraacutemetro determina el rango de valores que activariacutean la prueba

En la primera regla (Figura 25) sus entradas quieren decir lo siguiente

- Primera entrada Utiliza la prueba ResultsNumber Se activaraacute 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 uacuteltimas diez ejecuciones exceptuando la uacuteltima (interval = 1-10)

- Segunda entrada se activaraacute cuando el resultado para la prueba ResultsNumber sea 0 en la uacuteltima ejecucioacuten de alguna consulta

- Tercera entrada se activaraacute cuando el resultado para la prueba Pagination sea 0 en la uacuteltima ejecucioacuten de alguna consulta

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 41: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Administracioacuten de los Entornos de Ejecucioacuten y Mantenimiento 35

Figura 25 Edicioacuten de Reglas de Verificacioacuten

553 Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado

Durante el mantenimiento de wrappers el servidor requiere de la utilizacioacuten del componente ldquoiebrowserrdquo como meacutetodo de acceso por lo que necesita utilizar un pool de browsers En la ventana de la herramienta de administracioacuten se puede indicar su localizacioacuten a partir del nombre que se haya utilizado en la pestantildea de ldquoBrowser Poolsrdquo para identificar cada uno de los pools creados (ver Figura 26)

Figura 26 Localizacioacuten de Pool de Browsers

554 Seleccioacuten de Localizacioacuten del Servidor de Wrappers

Por otra parte el servidor de mantenimiento necesita acceder al servidor de wrappers donde se almacenan los ldquowrappersrdquo en ejecucioacuten de manera que pueda detectar cambios y regenerarlos automaacuteticamente En la lista ldquoWrapper Server Namerdquo podremos seleccionar aqueacutel servidor de wrappers que nos convenga de todos aquellos que hayan sido creados en la pestantildea de ldquoWrapper Serverrdquo (ver Figura 27)

Figura 27 Localizacioacuten de Servidor de Wrappers

La pulsacioacuten del botoacuten Save Changes permitiraacute almacenar todos los cambios realizados En cada pestantildea hay un botoacuten Save Changes que guarda su configuracioacuten es decir le manda la nueva configuracioacuten al servidor correspondiente para que este la almacene en disco Para que la nueva configuracioacuten tenga efecto hay que relanzar el servidor correspondiente

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 42: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Control ActiveX para Ejecucioacuten Automaacutetica de Secuencias de Navegacioacuten en Navegadores Cliente 36

6 CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE NAVEGACIOacuteN EN NAVEGADORES CLIENTE

ITPilot incluye un control ActiveX que permite a un servidor web provocar la ejecucioacuten automaacutetica de cualquier secuencia de navegacioacuten en un navegador cliente siemore que dicho navegador haya sido configurado para permitir esta clase de acciones Un ejemplo de utilizacioacuten de esta funcionalidad es la realizacioacuten de procesos de automatizacioacuten web como autenticacioacuten automaacutetica en una aplicacioacuten web (ldquoautologinrdquo) Esto se realiza mediante un control ActiveX que se instala en la maacutequina local desde la cuaacutel desea ejecutarse una navegacioacuten concreta Esta funcionalidad es muy uacutetil cuando se desea realizar alguacuten tipo de tarea de automatizacioacuten web que implica navegacioacuten automaacutetica El funcionamiento es el siguiente en la ruta activexitpilot a partir del directorio de instalacioacuten de la distribucioacuten de ITPilot se encuentra el control SeqExeAXcab Este control puede o almacenarse en un servidor web para poder ser accedido viacutea http o si el control ya se encuentra registrado en el sistema local ser accedido a traveacutes del registro de Windows mediante su CLSID Una vez realizada esta accioacuten podremos crear paacuteginas web que activen la navegacioacuten automaacutetica mediante la adicioacuten al coacutedigo HTML de los siguientes elementos ltobject

CLASSID=CLSIDltCLSID del componente SeqExeAX CODEBASE=httpltruta de acceso al control gtSeqExeAXcabversion=ltversioacuten del componente SeqExeAXgt ltparam

name=Sequence value=secuencia de navegacioacuten NSEQLgt

El CLSID y versioacuten del componente SeqExeAX puede encontrarse en el fichero SeqExeAXinf dentro del componente SeqExeAXcab (este componente puede abrirse desde cualquier descompresor del mercado como si fuese un archivo comprimido) La secuencia de navegacioacuten se especifica mediante el lenguaje NSEQL explicado en detalle en [NSEQL] Con el servidor web conteniendo el control cab y en ejecucioacuten podemos lanzar un navegador Microsoft Internet Explorer y cargar la paacutegina que contiene los elementos arriba descritos NOTA Es importante resentildear que el navegador ha de estar configurado para permitir la ejecucioacuten de controles ActiveX lo que suele realizarse personalizando la pestantildea de seguridad en Herramientas-gtOpciones de Internet o seleccionando la opcioacuten de seguridad ldquoNivel Bajordquo en la zona de contenido Web deseada (pe ldquoIntranet Localrdquo si se trata de una paacutegina local o ldquoInternetrdquo si la paacutegina de ejecucioacuten de la secuencia es accesible viacutea Internet) Si abrimos el navegador con la paacutegina comentada anteriormente podremos observar coacutemo el navegador ejecuta automaacuteticamente la secuencia de navegacioacuten descrita en el atributo ldquovaluerdquo del elemento ldquoparamrdquo

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA
Page 43: DENODO ITPILOT 4.0 MANUAL DE USUARIOhelp.denodo.com/platform-docs/4.0/DenodoITPilot.ManualU... · 2017-10-25 · ITPilot 4.0 Manual de Usuario Introducción 3 Figura 2 Entornos y

ITPilot 40 Manual de Usuario

Bibliografiacutea 37

BIBLIOGRAFIacuteA

[BEA] Servidor de Aplicaciones de BEA Systems httpwwwbeacom

[DESAR] Guiacutea del Desarrollador de Denodo ITPilot Denodo Technologies 2007

[DEXTL] Manual de DEXTL Denodo Technologies 2007

[GENER] Manual del Entorno de Generacioacuten de ITPilot Denodo Technologies 2007

[FRFOX] Mozilla Firefox Browser httpwwwfirefoxcom

[IE] Microsoft Internet Explorer httpwwwmicrosoftcomwindowsie

[ISO639] Coacutedigo de lenguaje ISO-639 (httpwwwicsuciedupubietfhttprelatediso639txt)

[J2SE] Java 2 Standard Edition httpjavasuncomj2se

[LIN] Distribucioacuten Linux Fedora Core 3 httpwwwfedoraorg

[LOG4J] The Log4j Project Apache Software Foundation httploggingapacheorglog4jdocs

[MYSQL] MySQL Open Source Database httpwwwmysqlcom

[NSEQL] Manual de NESQL Denodo Technologies 2007

[ORA] Oracle 9 httpwwworaclecom

[PDFBOX] Biblioteca Java para tratamiento de documentos PDF PDFBox httpwwwpdfboxorg

[POST] PostgreSQL Open Source Database httppostgresqlorg

[SUN] Sun Microsystems httpjavasuncom

[TOM] Contenedor de servlets y JSP Jakarta Tomcat httpjakartaapacheorgtomcat

[WIND] Sistemas Operativos de Microsoft Windows httpwwwmicrosoftcom

  • IacuteNDICE
  • IacuteNDICE DE FIGURAS
  • PREFACIO
  • INTRODUCCIOacuteN
    • ENTORNOS DE DENODO ITPILOT
      • Herramienta de Administracioacuten
      • Entorno de Generacioacuten
      • Entorno de Ejecucioacuten
      • Entorno de Mantenimiento
          • DISTRIBUCIOacuteN DE LOS ENTORNOS
            • DISTRIBUCIOacuteN DEL ENTORNO DE GENERACIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE EJECUCIOacuteN
            • DISTRIBUCIOacuteN DEL ENTORNO DE MANTENIMIENTO
              • INSTALACIOacuteN
                • PREINSTALACIOacuteN DE LOS COMPONENTES DE ITPILOT
                  • Preinstalacioacuten del Servidor de Administracioacuten
                    • Requisitos Hardware
                    • Requisitos Software
                      • PreInstalacioacuten del Pool de Browsers
                        • Requisitos Hardware
                        • Requisitos Software
                          • PreInstalacioacuten del Servidor de Wrappers
                            • Requisitos Hardware
                            • Requisitos Software
                              • PreInstalacioacuten del Servidor de Mantenimiento
                                • Requisitos Hardware
                                • Requisitos Software
                                    • UTILIZACIOacuteN DE LA HERRAMIENTA DE INSTALACIOacuteN
                                      • Configuracioacuten de las Herramientas de Generacioacuten en Fase de I
                                      • Configuracioacuten de Pool de Browsers en Fase de Instalacioacuten
                                      • Configuracioacuten del Servidor de Wrappers en Fase de Instalacioacute
                                      • Configuracioacuten del Servidor de Mantenimiento en Fase de Insta
                                      • Configuracioacuten del Servidor de Administracioacuten en Fase de Inst
                                        • ESTRUCTURA DE DIRECTORIOS DE LA DISTRIBUCIOacuteN
                                        • ARRANQUE DE LOS COMPONENTES
                                          • Instalacioacuten de la Licencia de Utilizacioacuten de Denodo ITPilot
                                          • Arranque del Servidor de Administracioacuten
                                          • Arranque del Pool de Browsers
                                          • Arranque del Servidor de Wrappers
                                          • Arranque del Servidor de Mantenimiento
                                              • HERRAMIENTA WEB DE ADMINISTRACIOacuteN
                                              • ADMINISTRACIOacuteN DE LOS ENTORNOS DE EJECUCIOacuteN Y MANTENIMIENTO
                                                • INTRODUCCIOacuteN
                                                • ARRANQUE DE LOS SERVIDORES
                                                • CONFIGURACIOacuteN DEL POOL DE BROWSERS
                                                  • Identificacioacuten del pool y asignacioacuten de puertos
                                                  • Comportamiento de los Browsers del Pool
                                                  • Proxy con Autenticacioacuten
                                                  • Configuracioacuten de la conversioacuten HTML
                                                  • Firefox Web Browser Configuration
                                                  • Tamantildeo del Pool y Poliacutetica de Reutilizacioacuten de Browsers
                                                    • Poliacuteticas de Reutilizacioacuten de Browsers
                                                      • Inicializacioacuten del Pool
                                                      • Ejecucioacuten y parada del Pool de Browsers
                                                        • CONFIGURACIOacuteN DEL SERVIDOR DE WRAPPERS
                                                          • Acceso al Servidor de Wrappers
                                                          • Lista de Wrappers
                                                            • Ejecucioacuten de Wrappers
                                                            • Exportacioacuten de los resultados a ficheros con formato CSV
                                                              • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                              • Asignacioacuten de Puertos
                                                              • Carga de nuevos wrappers desde ficheros VQL
                                                              • Creacioacuten de un Web Service
                                                                • CONFIGURACIOacuteN DEL SERVIDOR DE MANTENIMIENTO
                                                                  • Acceso al Servidor de Mantenimiento
                                                                  • Datos de Configuracioacuten del Servidor
                                                                    • Paraacutemetros de la Base de Datos
                                                                    • Paraacutemetros para Notificacioacuten de Correo Electroacutenico
                                                                    • Paraacutemetros para Asignacioacuten de Puertos
                                                                    • Edicioacuten de Reglas de Verificacioacuten
                                                                      • Seleccioacuten de Localizacioacuten del Pool de Browsers Asociado
                                                                      • Seleccioacuten de Localizacioacuten del Servidor de Wrappers
                                                                          • CONTROL ACTIVEX PARA EJECUCIOacuteN AUTOMAacuteTICA DE SECUENCIAS DE N
                                                                          • BIBLIOGRAFIacuteA