# Ядро

Ядро приложения Мультибана (Транзит 2.0) состоит из нескольких компонентов (см. Таблица 2).

Таблица 2

№ | Компонент | Основные функции
--- | --- | ---
1. | Основной компонент ядра | - мониторинг директории Интеграционного шлюза (пример расположения: `D:TT\ИШ`); - обработка поступающих в директории файлов.
2. | Веб-сервер | - прием и обработка http-запросов и отправка http-ответов; - реализация API; - создание и взаимодействие с контрактами в формате .json.
3. | База данных | - Code first подход; - использование СУБД PostgreSQL; - взаимодействие с БД и поддержка миграции.
4. | Общие настройки | - описание структуры конфигурации; - обработка файлов конфигурации.
5. | Компонент для работы с банковскими модулями | - интеграция с банковскими модулями; - взаимодействие с банковскими модулями.
6. | Планировщик задач | - выполнение запросов выписок и статусов платежных поручений по определенному временному интервалу; - обновление даты операционного дня.
7. | Система обновления версий приложения (интеграция системы) | - мониторинг наличия новых версий; - загрузка новой версии; - установка новой версии; - перезапуск приложения с новой версией.

## Дополнительно

Компонент — пакет для интеграции банковских модулей в ядро. Выполняет функцию “моста” между банковскими модулями и ядром приложения.

Состав пакета:

1. Интерфейсы для интеграции банковских модулей;
2. Интерфейсы описывающие структуру основных документов;
3. Интерфейсы для конвертации и маппинга документов;
4. Набор методов для маппинга XML-документов;
5. Интерфейсы для интеграции КриптоПро CSP в банковские модули.