Post on 29-May-2020
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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