Система Платформы-СКАУТ
Система Платформы-СКАУТ SPF (SCOUT Platform Foundation) позволяет расширять возможности Платформы под свои нужды при помощи плагинов. SPF предоставляет широкие возможности для расширения как серверной части СКАУТ-Платформы, так и клиентских приложений.
SPF позволяет расширять следующие компоненты СКАУТ-Платформы:
Сервер приложений;
Терминальный шлюз;
СКАУТ-Менеджер;
СКАУТ-Студио;
СКАУТ-Ядро: Агент;
Что такое расширение SPF
Сущности плагинной системы СКАУТ-Платформы. Связями на рисунке отмечено отношения включения.
Расширение – архив с расширением «.spe», содержащий файлы, готовые для установки в СКАУТ-Платформу.
Пакет – единица расширяемости, предназначенная для установки в определенный компонент СКАУТ-Платформы. Например, пакет для сервера приложений, пакет для СКАУТ-Студио и так далее.
Плагин – точка запуска и установки пакета расширения в целевое приложение или компонент ядра СКАУТ-Платформы.
С технической точки зрения пакет расширения – это набор сборок с указанием классов-плагинов. Плагин – это класс .NET, реализующий интерфейс IPlugin.
Манифест расширения
Любое расширение СКАУТ-Платформы содержит коллекцию сборок .NET и файл с описанием структуры расширения или манифест расширения. Манифест расширения – это xml документ с описанием сущностей расширения.
Манифест расширения предназначен для следующих задач:
-
Предоставления описания расширения и пакетов.
-
Определение целевого приложения для пакета.
-
Определение сборок, входящих в пакет.
-
Определение классов-плагинов, входящих в сборку.
Построитель расширений
Для создания расширений мы предоставляем инструмент – построитель расширений. Построитель расширений – это консольное приложение, поставляемое в виде решения Visual Studio. В состав решения включены: сборки, содержащие SPF API, тестовое расширение для демонстрации работы с API и сам построитель.
Построитель расширений формирует: манифест и файл расширения (.spe), готовый для установки в Платформу.
Манифест расширения формируется из make файла (Make.xml). Make файл содержит всю информацию необходимую для формирования манифеста, за исключением версий и идентификаторов. Версии и идентификаторы поставляются при помощи класса системы синонимов (Alias). В классе AliasesProvider в конструкторе задаются синонимы для всех необходимых объектов.
При добавлении пакета в тестовое расширение необходимо дополнить Make.xml информацией об этом пакете, иначе данный пакет не попадет в расширение.