KIS MQTT (сервис)
Содержание
Назначение
Получение сообщений от БД КИС через механизм PG_NOTIFY и отправка их брокеру сообщений MQTT для дальнейшей рассылки всем заинтересованным клиентам. Как правило, это уведомления клиентских приложений о событиях в системе, таких как "госпитализация", изменение статуса пациента, выход новой версии и т.п.
Есть несколько каналов (топиков) в MQTT брокере, куда отправляются сообщения:
- список госпитализированных
- список выписанных
- системный канал
Состав
Для работы приложению не требуются сторонние библиотеки и фреймворки (в том числе и для доступа к БД). Файлы:
- kis_mqtt_srv.exe – сервис
- kis_mqtt_ctl.exe –управляющая программа
- kis.ini конфигурационный файл для подключения к БД настройки http интерфейса
- mqtt.conf.local конфигурационный файл для подключения к брокеру сообщений
Установка
- Скопировать файлы на сервер приложений
- Настроить файлы kis.ini mqtt.conf.local
- Запустить с правами администратора kis_mqtt_srv.exe /install
- С помощью программы kis_mqtt_ctl.exe запустить сервис и убедится, что он работает
Настройка
- kis.ini - настройка подключения к БД
- mqtt.conf.local насnройка подключения к брокеру MQTT
Обновление
- С помощью программы kis_mqtt_ctl.exe или вручную остановить сервис KIS_MQTT
- Обновить файлы
- Запустить сервис KIS_MQTT
Мониторинг
Текущее состояние сервиса можно увидеть:
- На сервере с помощью управляющей программы kis_mqtt_ctl.exe
- Через браузер http://<сервер>:<port>/admin
- Через АРМ «Администратор» - Сервисы
Сервис сохраняет информацию о своей работе в текстовый файл в папке LOG в месте установки
Реализация
Сервис и управляющая программа собраны с помощью Delphi XE10. Для сборки сервиса требуются библиотеки:
- TMS MQTT client
- Synopse mORMot-master
- JEDI CODE library
Для сборки управляющей программы:
- DevExpressVCL
- JEDI CODE library
Возможна сборка под платформы
- Linux
- Andtroid
Структура исходных кодов
Исходные код находятся по пути: kis-z\server\kis_mqtt. Структура:
- Source – исходные коды
- Source\StressTest – нагрузочное тестирование через многопоточные приложения
- Test – скрипты для нагрузочных тестов клиентов с помощью kis_z