Варианты и сценарии использования MFEX#
Варианты использования#
Сценарии использования#
1. Передача файлов без нотификаций и проверок#
1.1 Основной сценарий: В сценариях предусмотрено несколько режимов работы с исходным файлом: оставить файл, перенос в архивную директорию, удалить.
Актор Внешняя Система (АС1 / АС Отправитель) размещает файл в исходной директории на СХД отправителя.
Программный Компонент Executor (MFEX) выполняет сканирование каталога СХД отправителя и обнаруживает новый файл.
Executor получает файл из СХД отправителя.
Executor доставляет файл в целевую директорию на СХД получателя.
Executor регистрирует факт успешной передачи в Журнале событий.
Executor выполняет постобработку исходного файла (функция «Постобработка оригинального файла»), удаляя его из исходной директории на СХД отправителя.
Актор Внешняя Система (АС2 / АС Получатель) получает файл от СХД получателя.
1.2 Альтернативный сценарий не предусмотрен. 1.3 Исключительный сценарий:
Актор Внешняя Система(АС1) размещает файл в исходной директории на СХД отправителя.
При попытке передачи файла между компонентами (например, на шагах d или e основного сценария) возникает сетевая или иная ошибка доставки.
Executor выполняет политику повторных попыток. (Логика политики зависит от реализации).
Примечание: В зависимости от критичности ошибки, процесс может быть прерван, файл может остаться в исходной директории для последующей обработки, а событие об ошибке зафиксировано в Журнале событий.
2. Передача файлов с нотификациями (Kafka)#
2.1 Основной сценарий: В сценариях предусмотрено несколько режимов работы с исходным файлом: оставить файл, перенос в архивную директорию, удалить.
Актор Внешняя Система (АС1 / АС Отправитель) размещает файл в исходной директории на СХД отправителя.
Актор Внешняя Система (АС1 / АС Отправитель) отправляет Kafka-уведомление (триггерный XML-файл) в брокер сообщений (Kafka источник).
Программный Компонент Executor (MFEX) получает сообщение из брокера (Kafka источник) и обрабатывает его (функция «Обработка триггерного XML-файла»).
Executor выполняет валидацию полученного уведомления.
При успешной валидации: Executor обогащает данные из сообщения статической конфигурацией (функция «Обогащение данных») и использует их для поиска и обработки файла.
Executor запрашивает и получает целевой файл от СХД отправителя.
Executor доставляет файл в целевую директорию на СХД получателя.
Executor формирует и отправляет Kafka-уведомление для АС Получателя (функция «Формирование XML-уведомления для брокера») в брокер сообщений (Kafka цель).
Executor регистрирует факт успешной передачи в Журнале событий.
Актор Внешняя Система (АС2 / АС Получатель) получает уведомление от MFEX через Kafka цель.
Актор Внешняя Система (АС2 / АС Получатель) получает файл от СХД получателя.
2.2 Альтернативный сценарий не предусмотрен. 2.3 Исключительный сценарий 1: Ошибка валидации уведомления
Актор Внешняя Система(АС1) размещает файл в исходной директории и отправляет Kafka-уведомление.
Executor получает и обрабатывает уведомление.
Сообщение от Актора Внешняя Система(АС1) не прошло валидацию в Executor.
Executor не продолжает обработку файла, а публикует сообщение об ошибке в специальный топик ошибок брокера (Kafka источник).
Executor регистрирует факт ошибки валидации в Журнале событий.
2.4 Исключительный сценарий 2: Ошибка передачи файла
Актор Внешняя Система(АС1) размещает файл в исходной директории и отправляет Kafka-уведомление.
Executor обрабатывает уведомление (валидация пройдена), находит файл на СХД отправителя и пытается передать его на СХД получателя.
При передаче файла возникает ошибка (сетевая, доступа, и т.д.).
Executor публикует сообщение об ошибке в брокер (Kafka источник).
Executor агрегирует статус обработки (функция «Агрегация статусов транспортных задач») и выполняет политику повторных попыток.
Executor регистрирует факт ошибки передачи в Журнале событий.
Если выбран режим с удалением файла из исходной директории, то файл будет удален, только при успешной отправки.