Visión general de la infraestructura de servicio automatizable


TPTP proporciona una infraestructura de servicio automatizable que proporciona soporte para la provisión y el consumo de servicios TPTP albergados por Eclipse de distintos entornos. Dado que estos servicios son fundamentalmente componentes black-box que se publican a sí mismos a través de extensiones (con una especificación asociada de propiedades soportadas y un contrato de comportamiento) es posible crear un proveedor de servicio nuevo implementando el mismo servicio. Este método implementado permite establecer un enlace suelto y dinámico entre el consumidor de servicio y el proveedor de servicio.

Las abstracciones de servicio de TPTP no son estrictamente las mismas que las abstracciones de servicio Web estándar (pesan muchísimo menos, son más simples e informales) aunque acercan TPTP al desempeño de un rol en una arquitectura orientada a servicios. Los conceptos y abstracciones presentados con la infraestructura de servicios automatizable son sinónimos de las abstracciones de alto nivel de cualquier arquitectura orientada a servicios.

Las características que componen TPTP desarrollarán y publicarán servicios que permitan controlar la plataforma TPTP desde scripts y programas arbitrarios externos a Eclipse. Las características de prueba TPTP proporciona actualmente un servicio de ejecución de prueba para la ejecución flexible de pruebas TPTP de forma programática.

Arquitectura de infraestructura

La infraestructura de servicios automatizables tiene una arquitectura por capas que permite el acoplamiento entre entre componentes de la infraestructura. El bus que transporta las peticiones del consumidor de servicio en respuestas de proveedor de servicio (la ejecución de servicios) proporciona un modelo de adaptador en el extremo del cliente (el extremo del cliente puede ser código que esté ejecutándose dentro de una instancia de Eclipse o código que esté ejecutándose fuera de Eclipse, como por ejemplo scripts de línea de mandatos) y un modelo de oferta de proveedor de servicio en el extremo del servidor (el extremo del servidor es la instancia de Eclipse que alberga los plug-ins que proporcionan las implementaciones de servicio.)

Pueden desarrollarse adaptadores de cliente de automatización adicionales que adapten nuevos paradigmas de consumidor de servicios a las interfaces de automatización estándar proporcionadas en TPTP. Por ejemplo, otra empresa puede haber desarrollado un adaptador de automatización de cliente de servicio web que permita ejecutar los servicios automatizables de TPTP desde un entorno de servicios web estándar o puede haberse escrito un adaptador de automatizaciones de cliente Jython para soportar el consumo de servicios del entorno Jython.

Conforme se van publicando servicios automatizables nuevos, estos aumentan el conjunto de servicios públicamente disponibles de una instancia TPTP Eclipse y por lo tanto los proveedores de servicio disponibles que pueden proporcionar funcionalidad para los consumidores interesados que aprovechan la infraestructura de servicios automatizable. Un usuario final puede crear un plug-in que proporciona un servicio nuevo simplemente implementando los puntos de extensión y desarrollando como mínimo una clase Java.) En consecuencia, este servicio queda automáticamente disponible desde scripts ant, scripts shell, programas Java y cualesquiera otros adaptadores de cliente instalados en el entorno de los consumidores debido a la arquitectura por capas y la naturaleza del bus.

El componente de cliente de automatización ligero proporciona un conjunto estándar de interfaces de servicio para que lo utilicen los adaptadores de cliente y proporciona también la estrategia de lanzamiento de Eclipse adecuada por escenario. Actualmente se ofrecen dos estrategias de lanzamiento y ejecución, una para el consumo de servicios dentro del proceso y otra para el consumo de servicios fuera del proceso (la estrategia de fuera del proceso es la típica, en la que se da servicio a clientes que están fuera de una instancia de Eclipse determinada.) La estrategia de dentro del proceso se utiliza en situaciones en las que es deseable que el servicio se ejecute en la misma instancia de Eclipse que el llamador.

El componente ligero interactúa con el componente pesado (pesado porque tiene una mayor dependencia de Eclipse y por lo tanto dependencias de bibliotecas adicionales que no tiene el componente de cliente de automatización externo.) El único acoplamiento del componente ligero con una instancia Eclipse determinada se realiza a través de un identificador de serie que puede establecerse en la instancia del componente de cliente de automatización. El servidor de automatización albergado dentro de una instancia de Eclipse (conocida también como componente interior pesado o broker) recibe la comunicación entrante del componente de automatización ligero y presenta la llamada al proveedor de servicio más cercano (conocido también como un servicio automatizable.) El servidor de automatización define algunos puntos de extensión simples que permiten el direccionamiento indirecto entre el servicio solicitado y la clase Java que da servicio a la petición.

Tareas relacionadas
Lanzar pruebas desde scripts y aplicaciones
Ejecutar el servicio de ejecución de prueba

Consulta relacionada
Propiedades de servicio de ejecución de prueba soportadas