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.
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
(C) Direitos Autorais IBM Corporation 2000, 2006. Todos os direitos reservados.