Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 6.21 KB

platform.md

File metadata and controls

34 lines (22 loc) · 6.21 KB

Платформа, ПКУ и открытость протокола

Платформа

С целью обеспечения стабильности работы ПКУ (программного комплекса участника) был разработан для Linux-платформы. Для независимости от версии операционной системы, дистрибутива и библиотек используется инкапсуляция в docker-контейнер.

ПКУ может работать в Linux-окружении без docker-контейнера, для этого необходимо соблюсти условия и зависимости, которые аналогичны условиям и зависимостям в поставляемом контейнере. Рекомендуемый способ — использование в docker-контейнере.

ПКУ является не только клиентом, но и инструментом для локальной работы с алгоритмами расчета PSR и критериев.

ПКУ не тестировался в среде Windows с docker-контейнерами. В силу особенностей реализации docker в Windows, контейнеры работают несколько иначе, поэтому возможны ошибки. Организаторы не несут ответственности и не гарантируют поддержку в случае использования ПКУ вне среды Linux. ПКУ не тестировался на использование вне docker-среды в Windows. При наличии зависимостей — его работа возможна, но не гарантируется.

В случае доработки участниками ПКУ для полной совместимости с windows, соответствующий pull request будет принят (но не в ущерб linux-версии). Дальнейшая поддержка организаторами windows-версии ПКУ не гарантируется.

Любой участник может использовать Linux в виртуальной машине в любой операционной системе при помощи ПО для виртуализации: virtualbox или VMware.

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

# Платформа/реализация Поддержка
1 Linux-сервер с ПКУ, работающим внутри docker-контейнера Официально поддерживается.
2 Сервера на других ОС, с использованием виртуальной машины virtualbox или VMware, внутри которой запущен docker-контейнер. Официально поддерживается, но помощь в настройке виртуальных машин не предоставляется.
3 Linux-сервер с ПКУ, работающим внутри основной ОС, без контейнера. Поддержка не гарантируется.
4 Сервер на другой ОС, в которой самостоятельно реализован клиент с websocket-протоколом. Поддержка не гарантируется.

Протокол

Для обмена сервер-клиент использован websocket-протокол, который дает ряд преимуществ по сравнению с обычным HTTP протоколом (REST API) для решения клиент-серверного взаимодействия в рамках конкурса.

ПКУ берет полностью на себя все взаимодействие по websocket-протоколу, который может развиваться со стороны клиента ПКУ и сервера, отдавая участникам консольный интерфейс.

Участники могут реализовать свой клиент websocket протокола, но организаторы не гарантируют поддержки клиента, т.к. протокол может развиваться и реализация клиента со стороны участника может быть неправильной, например - клиент превысит количество попыток переподключения и получит блокировку. Несмотря на отсутствие гарантированной поддержки, организаторы готовы принимать pull request'ы в официальном репозитории.

Слежение за изменением протокола в документации организаторами не регулируется и остается в зоне ответственности участников.

Исходный код ПКУ открыт и может использоваться участниками в свободном режиме, в том числе для реализации своего клиента.