Обзор среды автоматизируемых служб


В состав TPTP входит среда автоматизируемых служб, обеспечивающая предоставление и прием служб TPTP Eclipse из различных сред. Поскольку службы можно рассматривать как "черные ящики", публикующие себя в форме расширений (с описанием входных параметров и выходных результатов), ничто не мешает создавать новые поставщики для существующих служб. Такой подход позволяет организовать гибкую и удобную взаимосвязь между потребителями и поставщиками служб.

Абстракции TPTP сложно сравнивать с абстракциями стандартных Web-служб (они гораздо легче, проще и менее формальны), однако эти абстракции делают позволяют применять TPTP в архитектуре на основе служб. Основные концепции и абстракции среды автоматизируемых служб совпадают с абстракциями высокого уровня в любой архитектуре на основе служб.

На основе компонентов TPTP со временем будут разработаны и созданы службы, позволяющие управлять платформой TPTP из сценариев и обязательных программ, не входящих в Eclipse. В настоящее время инструменты тестирования TPTP уже поддерживают программное выполнение тестов TPTP.

Архитектура среды

Среда автоматизируемых служб состоит из нескольких гибко связанных между собой уровней. Шина, по которой в ответ на запросы потребителей служб передаются ответы поставщиков служб (обеспечивается выполнение служб), с обеих сторон снабжена средствами реализации новых функций. На стороне клиента это адаптеры (стороной клиента может быть код, выполняемый вне экземпляра Eclipse или даже среды Eclipse, например сценарий командной строки), а на стороне сервера это модели предложения поставщиков (в роли стороны сервера выступает экземпляр Eclipse, в котором работают модули, обеспечивающие реализацию служб).

Предусмотрена возможность разработки дополнительных адаптеров клиентов автоматизации, позволяющих адаптировать новые типы потребителей служб к стандартным интерфейсам клиентов автоматизации TPTP. Например, можно разработать адаптер автоматизации клиента Web-службы, позволяющий выполнять автоматизируемые службы TPTP в стандартной среде Web-служб, или разработать адаптер автоматизации клиента Jython, дающий возможность обращаться к службам из среды Jython.

По мере публикации новых автоматизируемых служб увеличивается пул общедоступных служб экземпляра Eclipse TPTP, а значит, и поставщиков служб, предоставляющих службы потребителям. Конечные пользователи могут создавать модули, предоставляющие новые службы, путем реализации точек расширения и разработки соответствующих классов Java. Благодаря многоуровневой архитектуре и способу организации шины службу, созданную таким образом, можно вызывать из сценариев ant, сценариев оболочки, программ Java и любых других адаптеров клиентов в среде потребителя службы.

Упрощенный клиент автоматизации снабжен стандартным набором интерфейсов для адаптеров клиента и для создания сценариев стратегий запуска Eclipse. В настоящее время предусмотрены две стратегии запуска и выполнения - одна для вызова служб из процессов, а вторая для вызова служб извне процессов (это типичная стратегия обслуживания клиентов, которые находятся вне конкретного экземпляра Eclipse). Стратегия вызова служб из процессов используется в ситуациях, когда служба должна выполняться в том же экземпляре Eclipse, в котором работает вызвавший ее потребитель.

Упрощенный клиент автоматизации взаимодействует с расширенным клиентом (он называется расширенным, поскольку теснее привязан к Eclipse и зависит от нескольких дополнительных библиотек, от которых не зависит внешний упрощенный клиент). Единственная точка сопряжения упрощенного клиента с конкретным экземпляром Eclipse - это идентификатор settable в экземпляре клиента. Сервер автоматизации экземпляра Eclipse, который также называют брокером и внутренним расширенным клиентом) получает данные от упрощенного клиента и перенаправляет их соответствующему поставщику службы (автоматизируемой службе). На сервере автоматизации предусмотрено несколько простых точек расширения для привязки служб к соответствующим классам Java.

Связанные задачи
Запуск тестов из сценариев и приложений
Запуск службы выполнения тестов

Связанные справочники
Поддерживаемые параметры службы выполнения тестов