KIS MQTT (сервис) — различия между версиями
Материал из ИбисоПедии
Admin (обсуждение | вклад) м (Admin переименовал страницу KIS MQTT connector в KIS MQTT (сервис)) |
|||
| (не показаны 4 промежуточные версии 2 участников) | |||
| Строка 1: | Строка 1: | ||
| − | + | ||
| − | Получение сообщений от БД КИС через механизм PG_NOTIFY и отправка их брокеру сообщений MQTT для дальнейшей рассылки всем заинтересованным клиентам. Как правило, это уведомления клиентских приложений о событиях в системе, таких как | + | Внимание! оригинал этого файла в формате markdown лежит kis_services\trunk\kis_mqtt\doc\readme.md |
| + | |||
| + | = Назначение = | ||
| + | |||
| + | Получение сообщений от БД КИС через механизм PG_NOTIFY и отправка их брокеру сообщений MQTT для дальнейшей рассылки всем заинтересованным клиентам. Как правило, это уведомления клиентских приложений о событиях в системе, таких как: | ||
| + | |||
| + | * "госпитализация", | ||
| + | * изменение статуса пациента, | ||
| + | * выход новой версии программы и т.п. | ||
Есть несколько каналов (топиков) в MQTT брокере, куда отправляются сообщения: | Есть несколько каналов (топиков) в MQTT брокере, куда отправляются сообщения: | ||
| + | |||
* список госпитализированных | * список госпитализированных | ||
* список выписанных | * список выписанных | ||
* системный канал | * системный канал | ||
| − | + | = Состав = | |
| − | + | ||
| − | * | + | * kis''mqtt''srv.exe - файл службы Win32 |
| − | * | + | * kis''mqtt''ctl.exe - управляющая программа |
| − | * kis.ini конфигурационный файл для подключения к БД | + | * kis.ini - конфигурационный файл для подключения к БД |
| − | * | + | * kis_mqtt.ini - настройки службы |
| − | + | ||
| + | = Установка = | ||
| + | |||
# Скопировать файлы на сервер приложений | # Скопировать файлы на сервер приложений | ||
| − | # Настроить файлы | + | # Настроить файлы kis.ini и kis_mqtt.ini |
| − | # Запустить с правами администратора | + | # Запустить с правами администратора kis''mqtt''srv.exe /install |
| − | # С помощью программы | + | # С помощью программы kis''mqtt''ctl.exe запустить сервис (или через оснастку "службы") и убедится, что он работает |
| + | |||
| + | = Настройка = | ||
| + | |||
| + | == файл kis.ini == | ||
| + | |||
| + | см. соответствующий раздел КИС | ||
| − | == | + | == файл kis_mqtt.ini == |
| − | + | [MQTT] | |
| − | + | ;адрес сервера где работает брокер MQTT | |
| + | brokerhost=192.168.1.16 | ||
| + | brokerport=1883 [Web] | ||
| + | ;Номер порта, который будет открыт службой для мониторинга состояния службы (по умолчанию 10033) | ||
| + | Port=10033 | ||
| + | [Postgrtesql] | ||
| + | username=KIS''MQTT''SRV | ||
| + | password=sys1okan | ||
| + | ; Интервал для проверки соединения | ||
| + | PingInterval=60 | ||
| + | ; интервал для переподключения в случае обрыва | ||
| + | ReconnectInterval=60 | ||
| − | + | = Обновление = | |
| − | # С помощью программы | + | # С помощью программы kis''mqtt''ctl.exe или вручную остановить сервис KIS_MQTT |
# Обновить файлы | # Обновить файлы | ||
| − | # Запустить | + | # Запустить службу |
| − | + | = Мониторинг = | |
Текущее состояние сервиса можно увидеть: | Текущее состояние сервиса можно увидеть: | ||
| − | * На сервере с помощью управляющей программы | + | |
| − | * Через браузер http:// | + | * На сервере с помощью управляющей программы kis''mqtt''ctl.exe |
| + | * Сервис сохраняет информацию о своей работе в текстовый файл в папке LOG в месте установки | ||
| + | * Через браузер http://<сервер>:<port>/admin | ||
* Через АРМ «Администратор» - Сервисы | * Через АРМ «Администратор» - Сервисы | ||
| + | * Сервис поддерживает стандартное API KIS для мониторинга сервисов | ||
| − | + | = Реализация = | |
| − | + | Сервис и управляющая программа собраны с помощью Delphi XE10. Для сборки сервиса требуются библиотеки: | |
| − | |||
* TMS MQTT client | * TMS MQTT client | ||
* Synopse mORMot-master | * Synopse mORMot-master | ||
| Строка 47: | Строка 77: | ||
Для сборки управляющей программы: | Для сборки управляющей программы: | ||
| + | |||
* DevExpressVCL | * DevExpressVCL | ||
* JEDI CODE library | * JEDI CODE library | ||
| − | Возможна сборка под платформы | + | Возможна сборка сервиса под платформы |
| + | |||
* Linux | * Linux | ||
* Andtroid | * Andtroid | ||
Текущая версия на 10:54, 29 октября 2020
Внимание! оригинал этого файла в формате markdown лежит kis_services\trunk\kis_mqtt\doc\readme.md
Содержание
Назначение
Получение сообщений от БД КИС через механизм PG_NOTIFY и отправка их брокеру сообщений MQTT для дальнейшей рассылки всем заинтересованным клиентам. Как правило, это уведомления клиентских приложений о событиях в системе, таких как:
- "госпитализация",
- изменение статуса пациента,
- выход новой версии программы и т.п.
Есть несколько каналов (топиков) в MQTT брокере, куда отправляются сообщения:
- список госпитализированных
- список выписанных
- системный канал
Состав
- kismqttsrv.exe - файл службы Win32
- kismqttctl.exe - управляющая программа
- kis.ini - конфигурационный файл для подключения к БД
- kis_mqtt.ini - настройки службы
Установка
- Скопировать файлы на сервер приложений
- Настроить файлы kis.ini и kis_mqtt.ini
- Запустить с правами администратора kismqttsrv.exe /install
- С помощью программы kismqttctl.exe запустить сервис (или через оснастку "службы") и убедится, что он работает
Настройка
файл kis.ini
см. соответствующий раздел КИС
файл kis_mqtt.ini
[MQTT]
;адрес сервера где работает брокер MQTT brokerhost=192.168.1.16 brokerport=1883 [Web] ;Номер порта, который будет открыт службой для мониторинга состояния службы (по умолчанию 10033) Port=10033
[Postgrtesql]
username=KISMQTTSRV password=sys1okan ; Интервал для проверки соединения PingInterval=60 ; интервал для переподключения в случае обрыва ReconnectInterval=60
Обновление
- С помощью программы kismqttctl.exe или вручную остановить сервис KIS_MQTT
- Обновить файлы
- Запустить службу
Мониторинг
Текущее состояние сервиса можно увидеть:
- На сервере с помощью управляющей программы kismqttctl.exe
- Сервис сохраняет информацию о своей работе в текстовый файл в папке LOG в месте установки
- Через браузер http://<сервер>:<port>/admin
- Через АРМ «Администратор» - Сервисы
- Сервис поддерживает стандартное API KIS для мониторинга сервисов
Реализация
Сервис и управляющая программа собраны с помощью 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