Варианты и сценарии использования MFPM#

Варианты использования#

@startuml
left to right direction

actor "Интегратор" as Integrator
actor "Администратор" as Admin
actor "Внешняя система (АС1)" as ExternalSystem1
actor "Внешняя система (АС2)" as ExternalSystem2
actor "Брокер сообщений (Kafka)" as Kafka

rectangle "MFEX Система" {
  usecase "1. Передача файлов" as UC1
  usecase "2. Передача файлов с нотификациями" as UC2
  
  usecase "3. Проектирование интеграции" as UC3
  usecase "4. Управление секретами" as UC4
  usecase "5. Публикация проекта" as UC5
  
  usecase "6. Развертывание проекта" as UC6
  usecase "7. Мониторинг развертываний" as UC7
  usecase "8. Обновление конфигурации" as UC8
}

' Основные связи акторов
Integrator --> UC3
Integrator --> UC4
Integrator --> UC5
Integrator --> UC8

Admin --> UC7
Admin --> UC8

ExternalSystem1 --> UC1
ExternalSystem1 --> UC2

ExternalSystem2 --> UC1
ExternalSystem2 --> UC2

Kafka --> UC2
Kafka --> UC7
Kafka --> UC8

' Взаимосвязи между вариантами использования
UC1 .> UC2 : <<extend>>

UC5 .> UC6 : <<include>>
UC6 .> UC7 : <<include>>
UC8 .> UC6 : <<extend>>
UC8 .> UC7 : <<extend>>

@enduml

Сценарий использования#

1. Проектирование интеграции#

1.1 Основной сценарий

  1. Актор Интегратор передает в Project Manager данные: Команда Создания Проекта (название, описание).

  2. Project Manager передает в Актор Интегратор данные: Интерфейс Визуального Редактора с палитрой компонентов.

  3. Актор Интегратор передает в Project Manager данные: Конфигурация Проекта (File/S3 источник, компоненты трансформации, целевые системы).

  4. Project Manager передает в Актор Интегратор данные: Подтверждение Сохранения Проекта (ID проекта, статус).

1.2 Альтернативный сценарий не предусмотрен. 1.3 Исключительный сценарий: Ошибка валидации проекта

  1. Актор Интегратор передает в Project Manager данные: КонфигурацияПотока с ошибками (некорректные настройки компонентов).

  2. ПрограммныйКомпонент UI передает в Актор Интегратор данные: Ошибки Валидации (список проблемных компонентов и описания ошибок).

  3. Актор Интегратор передает в Project Manager данные: Исправленная Конфигурация.

2. Управление секретами#

2.1 Основной сценарий: Добавление учетных данных для FTP

  1. Актор Интегратор передает в Project Manager данные: Команда Добавления Секрета (тип: FTP, название подключения).

  2. Project Manager передает в Актор Интегратор данные: Форма Ввода Данных (поля: логин, пароль).

  3. Актор Интегратор передает в Project Manager данные: Учетные Данные FTP (значения для всех полей).

  4. Project Manager передает в Актор Интегратор данные: Подтверждение Сохранения Секрета.

2.2 Альтернативный сценарий не предусмотрен. 2.3 Исключительный сценарий не предусмотрен.

3. Публикация проекта#

3.1 Основной сценарий

  1. Актор Интегратор передает в Project Manager данные: Команда Публикации.

  2. Project Manager передает в RLM данные: Команда Развертывания.

  3. Project Manager передает в Актор Интегратор данные: Результат Публикации (статус развертывания).

3.2 Альтернативный сценарий не предусмотрен. 3.3 Исключительный сценарий не предусмотрен.

4. Развертывание проекта#

4.1 Основной сценарий

  1. Project Manager передает в RLM данные: Команда Развертывания (ID артефакта, конфигурация среды, секреты).

  2. RLM передает необходимые конфигурационные файлы (конфигурации приложений, скрипты инициализации и настройки окружения) на целевые виртуальные машины.

  3. Программный Компонент Ansible выполняет развертывание и настройку приложений на виртуальных машинах, возвращая статус выполнения (прогресс, результат разворачивания).

  4. RLM передает в Project Manager данные: Результат Развертывания (статус «Успешно», ссылки на ресурсы).

4.2 Альтернативный сценарий не предусмотрен. 4.3 Исключительный сценарий: Ошибка валидации проекта

  1. Project Manager передает в RLM данные: КомандаРазвертывания.

  2. RLM генерирует и передает необходимые конфигурационные файлы на виртуальные машины.

  3. Ansible возвращает в RLM данные: ОшибкаРазвертывания (недостаточно ресурсов, конфликт имен).

  4. RLM передает в Project Manager данные: Уведомление Об Ошибке Развертывания.

  5. RLM передает в Актор Администратор данные: Статус Об Ошибке Развертывания.

5. Мониторинг и управление развернутыми проектами#

5.1 Основной сценарий: Просмотр статуса проектов

  1. Актор Администратор передает в Project Manager данные: Запрос получения всех проектов.

  2. Project Manager передает в Администратор данные: Визуализация статуса (дашборд со статусами и проектами).

5.2 Альтернативный сценарий не предусмотрен. 5.3 Исключительный сценарий не предусмотрен.

6. Обновление конфигурации работающей интеграции#

6.1 Основной сценарий

  1. Актор Интегратор передает в Project Manager данные: Обновленная конфигурация проекта.

  2. Project Manager передает в Git Repository данные: Новый коммит с изменениями.

  3. Project Manager передает в RLM данные: Уведомление об обновлении.

  4. RLM сканирует Git Repository, обнаруживает изменения и применяет на стенде.

  5. RLM передает в Project Manager данные: Подтверждение обновления.

  6. Project Manager передает в Актор Интегратор данные: Подтверждение Изменения Проекта (ID проекта, статус).

6.2 Альтернативный сценарий не предусмотрен. 6.3 Исключительный сценарий не предусмотрен.