Службы MIS3. Разработка — различия между версиями
Материал из ИбисоПедии
Admin (обсуждение | вклад) (→Список сервисов) |
Admin (обсуждение | вклад) (→WEB API) |
||
| Строка 57: | Строка 57: | ||
* showlog - показывает лог работы программы | * showlog - показывает лог работы программы | ||
* admin - возвращает html страницу с настройками | * admin - возвращает html страницу с настройками | ||
| + | |||
| + | == Документация == | ||
| + | |||
| + | В каталоге обязательно должен быть файл readme.md в формате markdown (для редактирования можно использовать Typora). В нем должны быть следующие разделы: | ||
| + | |||
| + | * Назначение | ||
| + | * Состав (список файлов с описанием) | ||
| + | * Установка | ||
| + | * Настройка | ||
| + | * Обновление | ||
| + | * Мониторинг (проверка работоспособности, где и какие логи ведутся, как посмотреть какие ошибки возникали) | ||
| + | |||
| + | По правильному, содержимое файла markodown нужно продублировать на wiki (в typora есть экспорт) | ||
== Список сервисов == | == Список сервисов == | ||
Версия 09:24, 16 июля 2019
Содержание
Общие требования
Аутентификация в БД
- каждая служба должна работать под своим уникальным пользователем (для того чтобы можно было мониторить работу службы со стороны БД)
- имя пользователя должно быть большими буквами и начинаться на "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 страницу с настройками
Документация
В каталоге обязательно должен быть файл readme.md в формате markdown (для редактирования можно использовать Typora). В нем должны быть следующие разделы:
- Назначение
- Состав (список файлов с описанием)
- Установка
- Настройка
- Обновление
- Мониторинг (проверка работоспособности, где и какие логи ведутся, как посмотреть какие ошибки возникали)
По правильному, содержимое файла markodown нужно продублировать на wiki (в typora есть экспорт)
Список сервисов
- KIS MQTT_connector брать пример отсюда
- Учет смертности и рождаемости ХМАО
- Across
- ХОСТ (портал пациента)
- Интеграция с ЛИНС Махаон
- Интеграция с СПАРМ
- Интеграция с ИСАР
- ЛИС результаты анализаторов - больше не используется