Сервер WebDisCo
Сервер WebDisCo обрабатывает запросы клиентов, отслеживает права пользователей по доступу к тому или иному ресурсу (к дизайнеру, к проекту и к мнемосхемам в рантайме и пр.), и взаимодействует с внешними источниками и потребителями данных, используя коммуникационные протоколы (драйверы): с контроллерами, устройствами и т.п.
Подробнее о Сервере WebDisCo
Сервер WebDisCo – это веб-сервер, обвязанный слоями webdisco. Хотя сервер WebDisCo – это единый процесс ОС, но он использует множество нитей, работающих асинхронно. Внизу IO-менеджер. На каждый источник данных – своя нить. Сервер при инициализации считывает из базы данных и «отдаёт» IO-менеджеру всю необходимую информацию для настройки его работы с источниками данных: о протоколах и параметрах работы (например: скорость передачи, номера com-портов, короче, всё для RS-485, IP-адреса, частота опроса …), о тегах, о полосе чувствительности для аналоговых тегов (для фильтрации дребезга). Далее нити выполняются в соответствии с заданными временами опроса либо при вызове сервером, если требуется посылка данных. Сейчас IO-менеджер состоит из разных нитей, но все они внутри одного процесса на одном компьютере. В дальнейшем планируется сделать распределённую гетерогенную систему IO-менеджеров, построенную по технологии микросервисов. Т.е. сервер настраивает их при инициализации, а они потом независимо работают в сети и присылают серверу предобработанные данные.
IO-менеджер пересылает серверу только изменившиеся значения тегов. Если тег/переменная имеет признак исторической, то полученное значение записывается в историческую базу данных. Если у переменной имеется признак «аварийности», то полученное значение проверяется на предмет выхода из соответствующего диапазона (два нижних и два верхних) для аналоговых и на предмет изменения для булевых. Если авария возникает, то сервер извещает об этом клиентов. Клиент должен подтвердить серверу получение такого извещения.
Существует два варианта сервера WebDisCo: под Linux, под Windows.
Версия для Windows
Версия для Windows
Версия для Windows поставляется в виде архива deploy.zip, который надо распаковать в некоторую папку и который содержит исполняемый файл и все необходимые библиотеки.
Запуск WebDisCo под Windows
После установки создается ярлык на рабочем столе и сервер WebDisCo можно запускать с помощью выполнения webdisco.exe, а также через ярлык.
Сервер WebDisCo рекомендуется запускать через ярлык, потому что в этом случае сервер WebDisCo запускается «свернутым» и не возникает окно командной консоли Windows.
Для входа в Дизайнер WebDisCo надо в любом браузере под Windows набрать localhost:8000, а в качестве логин и пароля ввести соответственно admin и admin.
Запустить сервер WebDisCo для Windows можно путем выполнения файла webdisco.exe, который находится в папке, указанной при работе установщика сервера WebDisCo (по умолчанию, C:\WebDisCo). При запуске сервера WebDisco брандмауэр Windows может запросить разрешение на выполнение процесса. Для входа в Дизайнер WebDisCo надо в любом браузере под Windows набрать localhost:8000, а в качестве логина и пароля ввести соответственно admin и admin (значения по умолчанию).
Вход в WebDisCo
После запуска сервера WebDisCo можно открыть любой браузер (рекомендуется Google Chrome/Chromium, Firefox, Opera) и ввести в адресной строке "localhost:8000" или "127.0.0.1:8000" либо другой ip-адрес, если клиент (браузер) и сервер находятся на разных устройствах. После запуска WebDisCo в браузере появится окно входа (авторизации) WebDisCo.
При первом входе в WebDisCo установлены значения логин и пароля по умолчанию: admin и admin.
Примеры конфигураций
Автономная конфигурация
Автономная конфигурация
Автономная конфигурация – это когда сервер WebDisCo и браузер клиента работают на одном компьютере под Windows. Автономная конфигурация предназначена для разработки и тестирования проекта. Для входа в Дизайнер WebDisCo надо запустить сервер WebDisCo, а затем в любом браузере под Windows на этом же компьютере набрать localhost:8000, а в качестве логина и пароля ввести соответственно admin и admin.
Базы данных сервера
Информация на сервере WebDisCo хранится в базах данных в формате СУБД SQLite slqlite3. SQLite – компактная встраиваемая СУБД (см. https://www.sqlite.org/index.html).