Службы KIS. Разработка — различия между версиями
Материал из ИбисоПедии
Admin (обсуждение | вклад) (Новая страница: «== Общие требования == === Аутентификация в БД === * каждая служба должна работать под своим…») |
Admin (обсуждение | вклад) |
||
| Строка 10: | Строка 10: | ||
* имя службы должно начинаться с '''kis''' | * имя службы должно начинаться с '''kis''' | ||
* имя исполняемого файла по управлению службой должно заканчиваться на '''_ctl''' | * имя исполняемого файла по управлению службой должно заканчиваться на '''_ctl''' | ||
| − | * настройки службы должны храниться в ini файле рядом с исполнимыми файлами. см. [Конфигурационные файлы KIS] | + | * настройки службы должны храниться в ini файле рядом с исполнимыми файлами. см. [[Конфигурационные файлы KIS]] |
Версия 16:13, 15 ноября 2018
Содержание
Общие требования
Аутентификация в БД
- каждая служба должна работать под своим уникальным пользователем (для того чтобы можно было мониторить работу службы со стороны БД)
- имя пользователя должно быть большими буквами и начинаться на "SRV"
Структура файлов
- каждая служба живет в своем каталоге
- имя исполняемого файла службы должно заканчиваться на _srv
- имя службы должно начинаться с kis
- имя исполняемого файла по управлению службой должно заканчиваться на _ctl
- настройки службы должны храниться в ini файле рядом с исполнимыми файлами. см. Конфигурационные файлы KIS
Пример расположения служб
KIS_SRV
├─KIS_MQTT
│ ├──kis_mqtt_srv.EXE
│ ├──kis_mqtt_ctl.EXE
│ ├──kis.ini
│ │ kis.ini.local
│ └──LOG - Папка с логами
└─kis_ehr_connector
├──kis_ehr_connector_srv.EXE
├──kis_ehr_connector_ctl.EXE
├──kis.INI
└──LOG
Именования файлов
- _srv.exe севрис
- _ctl.exe управляющая программ
- _app.EXE в виде отдельного приложения (на этапе разработки)
Требования к работоспособности при потере соединения
- Служба должна корректно отрабатывать ошибки, связанные с потерей соединения с БД и пытаться восстановить соединение самостоятельность.
Зависимость от другого ПО
- служба не должна зависеть от стороннего ПО, такого как
- вебсерверы (IIS, APACH)
- Net framework
- клиент БД
Диагностика работы службы
- служба должна писать информацию о событиях, в файл лога. Рекомендуется использовать SynLog из библиотеки Synopse mORMot framework
- файлы логов должны быть легко просматриваемы сторонними программами.
WEB API
- checkstatus - возвращает 1 в теле ответа, если сервис работает правильно
- info - возвращает json, в котором есть настройки, текущий статус сервера (есть подключение к БД и т.п.)
- stat - возвращает json со статистикой работы
- showlog - показывает лог работы программы
- admin - возвращает html страницу с настройками
Список сервисов
- KIS MQTT_connector брать пример отсюда