Visão Geral da Estrutura de Serviço Automatizável


O TPTP fornece uma estrutura de serviço automatizável que apresenta suporte para a provisão e o consumo de serviços TPTP hospedados pelo Eclipse em ambientes distintos. Uma vez que esses serviços são componentes essencialmente complexos que publicam a si próprios por meio de extensões (com uma especificação associada de propriedades suportadas e um contrato comportamental), é possível criar um novo fornecedor de serviços que implemente o mesmo serviço. Essa abordagem implementada permite uma ligação livre e dinâmica entre o consumidor e o fornecedor de serviços.

As abstrações de serviços do TPTP não são exatamente as mesmas que as do serviço padrão da Web (são muito mais reduzidas, mais simples e informais), embora realmente aproximem o TPTP ao desempenho de uma função em uma arquitetura orientada a serviços. Os conceitos e as abstrações introduzidos com a estrutura de serviços automatizáveis são sinônimos das abstrações de alto nível de qualquer arquitetura orientada a serviços.

Os recursos que compõem o TPTP desenvolverão e publicarão aos poucos os serviços que preparam a plataforma TPTP para ser comandada a partir de scripts e de programas arbitrários fora do Eclipse. Os recursos de teste do TPTP fornecem atualmente um serviço de execução de testes para a execução flexível dos testes de TPTP de forma programática.

Arquitetura da Estrutura

A estrutura de serviços automatizáveis possui uma arquitetura em camadas que permite uma desconexão entre os componentes da estrutura. O barramento que transporta pedidos do consumidor de serviços para respostas do fornecedor de serviços (a execução de serviços) fornece extensibilidade em cada extremidade com um modelo de adaptador na extremidade do cliente (essa extremidade pode ter código em execução em uma instância do Eclipse ou código em execução fora do Eclipse, tal como scripts da linha de comandos) e um modelo de oferta de fornecedor de serviços na extremidade do servidor (essa extremidade é a instância do Eclipse que hospeda os plug-ins que fornecem as implementações de serviços).

É possível desenvolver adaptadores de clientes de automatização adicionais que adaptem novos paradigmas do consumidor de serviços nas interfaces padrão do cliente de automatização fornecidas no TPTP. Por exemplo, um adaptador de automatização do cliente de serviço da Web poderia ser desenvolvido por terceiros para permitir ao TPTP a execução de serviços automatizáveis a partir de um ambiente padrão de serviços da Web ou um adaptador de automatização do cliente Jython poderia ser gravado para fornecer suporte ao consumo de serviços a partir do ambiente Jython.

A publicação de novos serviços automatizáveis adaptados aumenta o conjunto de serviços disponíveis publicamente a partir da instância TPTP do Eclipse e, portanto, os fornecedores de serviços disponíveis que podem oferecer funcionalidade a consumidores interessados em aproveitar a estrutura de serviços automatizáveis. Um usuário final pode criar um plug-in que fornece um novo serviço apenas pela implementação dos pontos de extensão apropriados e pelo desenvolvimento de pelo menos uma classe Java). Conseqüentemente, esse serviço é disponibilizado automaticamente a partir de scripts ant, scripts de shell, programas Java e de quaisquer outros adaptadores instalados do cliente no ambiente dos consumidores, como resultado da arquitetura em camadas e da natureza do barramento.

O componente reduzido do cliente de automatização fornece um conjunto padrão de interfaces de serviços para serem utilizadas pelos adaptadores do cliente, além de fornecer a estratégia de ativação apropriada do Eclipse de acordo com o cenário. São oferecidas, atualmente, duas estratégias de ativação e execução, uma para o consumo de serviço em processamento e outra para consumo de serviço fora de processamento (esta última é a estratégia típica, que atende clientes fora de uma determinada instância do Eclipse). A estratégia em processamento é utilizada em situações em que se deseja que a execução do serviço seja feita na mesma instância do Eclipse que a do responsável pela chamada.

O componente reduzido interage com o componente complexo (complexo, uma vez que possui maior dependência do Eclipse e, portanto, dependências de bibliotecas adicionais que o componente do cliente de automatização externo não apresenta). O único acoplamento do componente reduzido a uma determinada instância do Eclipse é feito por meio de um identificador de cadeia configurável na instância do componente do cliente de automatização. O servidor de automatização hospedado em uma instância do Eclipse (também conhecido como componente ou intermediário interno reduzido) recebe comunicação de entrada do componente do cliente de automatização reduzido e dirige a chamada ao fornecedor de serviços apropriado (também conhecido como serviço automatizável). O servidor de automatização define alguns pontos de extensão simples que permitem vias indiretas entre o serviço solicitado e a classe Java que atende o pedido.

Tarefas relacionadas
Ativando Testes de Scripts e Aplicativos
Executando o Serviço de Execução de Teste

Referência Relacionada
Propriedades Suportadas do Serviço de Execução de Teste