KIS MQTT (сервис) — различия между версиями

Материал из ИбисоПедии
Перейти к: навигация, поиск
(Назначение)
 
(не показано 7 промежуточных версий 2 участников)
Строка 1: Строка 1:
== Назначение ==
+
 
Получение сообщений от БД КИС через механизм PG_NOTIFY и отправка их брокеру сообщений MQTT для дальнейшей рассылки всем заинтересованным клиентам
+
Внимание! оригинал этого файла в формате markdown лежит kis_services\trunk\kis_mqtt\doc\readme.md
Есть несклько каналов (топиков) в MQTT брокере, куда отправляются сообщения:
+
 
 +
= Назначение =
 +
 
 +
Получение сообщений от БД КИС через механизм PG_NOTIFY и отправка их брокеру сообщений MQTT для дальнейшей рассылки всем заинтересованным клиентам. Как правило, это уведомления клиентских приложений о событиях в системе, таких как:
 +
 
 +
* "госпитализация",
 +
* изменение статуса пациента,
 +
* выход новой версии программы и т.п.
 +
 
 +
Есть несколько каналов (топиков) в MQTT брокере, куда отправляются сообщения:
 +
 
 
* список госпитализированных
 
* список госпитализированных
 
* список выписанных
 
* список выписанных
 
* системный канал
 
* системный канал
  
== Состав ==
+
= Состав =
Для работы приложению не требуются сторонние библиотеки и фреймворки (в том числе и для доступа к БД). Файлы:
+
 
* kis_mqtt_srv.exe – сервис
+
* kis''mqtt''srv.exe - файл службы Win32
* kis_mqtt_ctl.exe –управляющая программа
+
* kis''mqtt''ctl.exe - управляющая программа
* kis.ini конфигурационный файл для подключения к БД настройки http интерфейса
+
* kis.ini - конфигурационный файл для подключения к БД
* mqtt.conf.local конфигурационный файл для подключения к брокеру сообщений
+
* kis_mqtt.ini - настройки службы
== Установка ==
+
 
 +
= Установка =
 +
 
 
# Скопировать файлы на сервер приложений
 
# Скопировать файлы на сервер приложений
# Настроить файлы kis.ini mqtt.conf.local
+
# Настроить файлы kis.ini и kis_mqtt.ini
# Запустить с правами администратора kis_mqtt_srv.exe /install
+
# Запустить с правами администратора kis''mqtt''srv.exe /install
# С помощью программы kis_mqtt_ctl.exe запустить сервис и убедится, что он работает
+
# С помощью программы kis''mqtt''ctl.exe запустить сервис (или через оснастку "службы") и убедится, что он работает
  
== Настройка ==
+
= Настройка =
  
* kis.ini - настройка подключения к БД
+
== файл kis.ini ==
* mqtt.conf.local насnройка подключения к брокеру MQTT
 
  
== Обновление ==
+
см. соответствующий раздел КИС
  
# С помощью программы kis_mqtt_ctl.exe или вручную остановить сервис KIS_MQTT
+
== файл 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
 
# Обновить файлы
 
# Обновить файлы
# Запустить сервис KIS_MQTT
+
# Запустить службу
  
== Мониторинг ==
+
= Мониторинг =
  
 
Текущее состояние сервиса можно увидеть:
 
Текущее состояние сервиса можно увидеть:
* На сервере с помощью управляющей программы kis_mqtt_ctl.exe
+
 
* Через браузер http://<сервер>:<port>/admin
+
* На сервере с помощью управляющей программы kis''mqtt''ctl.exe
 +
* Сервис сохраняет информацию о своей работе в текстовый файл в папке LOG в месте установки
 +
* Через браузер http://&lt;сервер&gt;:<port>/admin
 
* Через АРМ «Администратор» - Сервисы
 
* Через АРМ «Администратор» - Сервисы
 +
* Сервис поддерживает стандартное API KIS для мониторинга сервисов
  
Сервис сохраняет информацию о своей работе в текстовый файл в папке LOG в месте установки
+
= Реализация =
  
== Реализация ==
+
Сервис и управляющая программа собраны с помощью Delphi XE10. Для сборки сервиса требуются библиотеки:
  
Сервис и управляющая программа собраны с помощью Delphi XE10. Для сборки сервиса требуются библиотеки:
 
 
* TMS MQTT client
 
* TMS MQTT client
 
* Synopse mORMot-master
 
* Synopse mORMot-master
Строка 46: Строка 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 - настройки службы

Установка

  1. Скопировать файлы на сервер приложений
  2. Настроить файлы kis.ini и kis_mqtt.ini
  3. Запустить с правами администратора kismqttsrv.exe /install
  4. С помощью программы 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

Обновление

  1. С помощью программы kismqttctl.exe или вручную остановить сервис KIS_MQTT
  2. Обновить файлы
  3. Запустить службу

Мониторинг

Текущее состояние сервиса можно увидеть:

  • На сервере с помощью управляющей программы 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