Службы MIS3. Разработка — различия между версиями

Материал из ИбисоПедии
Перейти к: навигация, поиск
(Зависимость от другого ПО)
(Зависимость от другого ПО)
Строка 45: Строка 45:
 
** Net framework
 
** Net framework
 
** клиент БД
 
** клиент БД
 +
 +
== Диагностика работы службы ==
 +
* служба должна писать информацию о событиях, в файл лога. Рекомендуется использовать SynLog из библиотеки Synopse mORMot framework
 +
* файлы логов должны быть легко просматривамы сторонними программами.
  
 
== WEB API ==
 
== WEB API ==

Версия 07:51, 18 октября 2018

Общие требования

Аутентификация в БД

  • каждая служба должна работать под своим уникальным пользователем (для того чтобы можно было мониторить работу службы со стороны БД)
  • имя пользователя должно быть большими буквами и начинаться на "SRV"

Структура файлов

  • каждая служба живет в своем каталоге
  • имя исполняемого файла службы должно заканчиваться на _srv
  • имя службы должно начинаться с ibis
  • имя исполняемого файла по управлению службой должно заканчиваться на _ctl
  • настройки службы должны храниться в ini файле рядом с исполнимыми файлами.

Пример расположения служб

IBIS_SRV
 ├──Ibis.ini
 ├─SERTIFIATE
 │  ├──IBIS_SERTIFICATE_SRV.EXE
 │  ├──IBIS_SERTIFICATE_CTL.EXE
 │  ├──IBIS_SERTIFICATE.INI
 │  └──LOG - Папка с логами
 └─SPARM
    ├──IBIS_SPARM_SRV.EXE
    ├──IBIS_SPARM_CTL.EXE
    ├──SPARM.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 страницу с настройками

Список сервисов