Descrição geral da estrutura automatizável do serviço


A TPTP faculta uma estrutura automatizável do serviço que apresenta o suporte para o fornecimento e consumo dos serviços TPTP alojados no Eclipse de ambientes díspares. Dado que estes serviços são fundamentalmente componentes de caixas negras, que se publicam através de extensões (com uma especificação associada de propriedades suportadas e contracto comportamental), é possível criar um novo fornecedor de serviços implementando o mesmo serviço. Esta abordagem implementada permite uma associação solta e dinâmica entre o consumidor e o fornecedor de serviços.

As abstracções de serviço da TPTP não são rigorosamente as mesmas de um serviço Web (são muito mais leves, simples e informais), apesar de darem a possibilidade de a TPTP desempenhar uma função numa arquitectura orientada pelo serviço. Os conceitos e abstracções introduzidos com a estrutura automatizável de serviços são sinónimos da abstracção de alto nível em qualquer arquitectura orientada pelo serviço.

As funções que constituem a TPTP irão desenvolver e publicar de forma incremental os serviços que preparam a plataforma TPTP para ser comandada a partir de scripts e de programas arbitrários fora do Eclipse. As funções de teste da TPTP facultam um serviço de execução de teste para a execução flexível de testes TPTP programaticamente.

Arquitectura da estrutura

A estrutura automatizável de serviços tem uma arquitectura em camadas que activa a acoplagem solta entre os componentes da estrutura. O bus que transporta os pedidos de serviço do consumidor para as respostas do fornecedor de serviços (a execução de serviços) permite extensibilidade para cada extremidade com um modelo adaptador na extremidade do cliente (a extremidade do cliente pode executar um código dentro de uma instância do Eclipse ou fora de uma instância do Eclipse, no caso de scripts da linha de comandos) e um modelo de oferta de um fornecedor de serviços na extremidade do servidor(a extremidade do servidor é a instância do Eclipse que aloja os plug-ins que facultam as implementações de serviço).

Os adaptadores adicionais de automatização do cliente podem ser desenvolvidos para adaptar novos paradigmas do consumidor do serviço às interfaces padrão de automatização do cliente facultadas na TPTP. Por exemplo, um adaptador de um serviço Web de automatização do cliente pode ser desenvolvido por terceiros, permitindo que serviços automatizáveis da TPTP sejam executados de dentro de um ambiente padrão de serviços Web ou um adaptador de automatização do cliente Jython pode ser gravado para apoiar a utilização de serviços de um ambiente Jython.

À medida que novos serviços de conformidade automatizáveis são publicados, estes aumentam a área de serviços disponíveis publicamente de uma instância do Eclipse TPTP e, por conseguinte, os fornecedores de serviços disponíveis que facultam funcionalidade para consumidores interessados que estejam a instalar a estrutura automatizável do serviço. Um utilizador final pode criar um plug-in que faculte um novo serviço simplesmente ao implementar pontos de extensão adequados e ao desenvolver pelo menos uma classe Java). Por conseguinte, este serviço é disponibilizado automaticamente a partir de scripts ant, de procedimentos base, de programas Java e de qualquer outro adaptador instalado pelo cliente no ambiente do consumidor graças à arquitectura em camadas e à natureza do bus.

O componente leve de automatização do cliente faculta um conjunto padrão de interfaces de serviço para ser utilizado pelos adaptadores do cliente, assim como uma estratégia de lançamento do Eclipse apropriada para o cenário. São oferecidas actualmente duas estratégias de lançamento e execução, uma para a utilização do serviço em curso e a outra para a utilização do serviço que não está em curso (a estratégia que não está em curso é a estratégia comum, que serve os clientes que estejam fora de uma instância do Eclipse). A estratégia em curso é utilizada em situações em que é desejável que o serviço seja executado na mesma instância do Eclipse do chamador.

O componente leve interage com o componente pesado (pesado porque tem uma maior dependência no Eclipse e, por conseguinte, dependências adicionais na biblioteca da qual o componente externo de automatização do cliente está abstraído). A única acoplagem do componente leve com uma determinada instância do Eclipse dá-se através de um cartão de identificação de cadeia que são definidas na instância do componente de automatização do cliente. O servidor de automatização alojado dentro de uma instância do Eclipse (também conhecido como componente ou corretor interno pesado) recebe comunicação de entrada do componente leve de automatização do cliente e empacota a chamada para o fornecedor de serviços adequado (também conhecido como serviço automatizável). O servido de automatização define alguns pontos de extensão simples que permitem a indirecção entre o serviço pedido e a classe Java que serve o pedido.

Tarefas relacionadas
Iniciar testes de scripts e aplicações
Executar o serviço de execução de testes

Referência relacionada
Propriedade do serviço de execução de testes suportados