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.
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
(C) Copyright IBM Corporation 2000, 2006. Reservados todos los derechos.