Структура программы
В программе реализован принцип модульного построения программного обеспечения, когда каждый отдельный модуль отвечает за решение узкоспециализированной задачи.
Взаимодействие между модулями организовано на базе прямой адресации объектов в пределах одной подсистемы или же с использованием буферизированных средств взаимодействия (файлы, сокеты и сигналы).
Структурная схема Space Disp.
Web-сервер – это программный модуль, принимающий HTTP-запросы, приходящие от администратора с Web-браузера и от пользователей клиентского ПО Space Client. Web-сервер перенаправляет HTTP-запросы на модуль обработки запросов и отдает статические скомпилированные файлы графического Web-интерфейса на АРМ администратора.
Модуль обработки запросов (супервизор) – основной логический компонент Space Disp, выполняющий следующие функции:
- прием HTTP-запросов от Web-сервера;
- выборка данных из СУБД;
- формирование динамических данных и их передача на Web-браузер и на Space Client;
- передача данных для запроса к SpaceVM по взаимодействию с вычислительными ресурсами через модуль взаимодействия с SpaceVM;
- прием данных ответов через модуль взаимодействия с SpaceVM;
- создание и уничтожение ВРС по наступлению различных событий;
- сбор данных о доступных ресурсах на SpaceVM;
- предоставление клиенту (ПО Space Client) данных для подключения к ВРС по протоколам SPICE, RDP, Native RDP, GLINT, LOUDPLAY.
СУБД – выполняет функции хранения служебных данных об инфраструктуре ВРС.
Модуль журналирования – выполняет функции хранения событий, а также их очистки, архивации и выгрузки.
Модуль аутентификации – выполняет функции аутентификации пользователей по локальным учетным данным пользователей или по данным, хранящимся на централизованной службе каталогов. Выполняет аутентификацию администраторов, пытающихся осуществить попытку входа на Web-интерфейс Space Disp или пользователей, пытающихся осуществить попытку входа с использованием клиентского ПО Space Client.
Операционная система на базе ядра Linux. В ее среде функционируют все модули Space Disp. ОС должна иметь возможность установки в качестве гостевой ОС на виртуальные машины SpaceVM. В операционной системе используется сетевая подсистема для обмена сетевым трафиком между изделиями Space Disp, Space Client, SpaceVM по IP-сети.