Глава 3

Архитектура серверной части

Серверная часть платформы выполняет функции центрального элемента управления образовательным лабораторным комплексом. Она обеспечивает хранение и обработку данных о пользователях, курсах, лабораторных работах и вычислительных окружениях, а также координирует взаимодействие клиентской части с инфраструктурным контуром.

Архитектура серверной части

Серверная часть платформы выполняет функции центрального элемента управления образовательным лабораторным комплексом. Она обеспечивает хранение и обработку данных о пользователях, курсах, лабораторных работах и вычислительных окружениях, а также координирует взаимодействие клиентской части с инфраструктурным контуром.

С точки зрения структуры серверная часть платформы включает несколько взаимосвязанных подсистем. К первой относится управление предметной областью: курсами, темами, лабораторными работами, группами и пользователями. Ко второй относится подсистема аутентификации и авторизации, отвечающая за идентификацию пользователей и вычисление доступных им действий. Третья подсистема обеспечивает выполнение операций по созданию и сопровождению вычислительных окружений. Четвёртая подсистема включает диагностические и эксплуатационные механизмы: журналирование, проверку доступности внешних сервисов и контроль состояния системы.

Важное место в архитектуре занимает подсистема аутентификации. Она должна обеспечивать централизованный вход пользователей в систему, контроль активных сессий и передачу клиентской части информации о правах доступа. Такое построение позволяет сосредоточить критические проверки на стороне сервера и уменьшить зависимость клиентского приложения от собственных механизмов хранения чувствительных данных.

Система разграничения доступа построена на сочетании ролевой и атрибутной моделей. Ролевая модель используется для общего распределения полномочий между администраторами, преподавателями и обучающимися. Атрибутная модель применяется при проверке доступа к конкретным ресурсам, например к курсам, лабораторным работам и учебным группам. Это позволяет обеспечить более точный контроль доступа по сравнению с использованием только ролей.

Серверная часть связана с инфраструктурным контуром платформы. Именно через неё выполняются операции по запуску, остановке и удалению изолированных сред, а также обмен данными о состоянии этих сред. В связи с этим при проектировании серверной части необходимо учитывать не только бизнес-логику, но и устойчивость интеграции с контейнерным и оркестрационным окружением.

Таким образом, серверная часть платформы представляет собой защищённое координационное ядро системы, объединяющее управление учебными сущностями, контроль доступа и взаимодействие с инфраструктурой. Такое построение обеспечивает масштабируемость, управляемость и возможность дальнейшего развития платформы.