Другое

Редактировал(а) Alexandr Fokin 2024/06/12 15:27

Система обработки бизнес процессов на основе Машина состояний. 
Основные понятия:
Ключ процессаУникальной идентификатор экземпляра процесса.
Обычно служит для чтения/записи persist данных контекста.
 
ИнициаторСобытие, служащее источником запуска одной сессии обработки.
Обычно ему соответсвует набор параметров, которые необходимо для запуска сессии обработки (как минимум это ключ процесса для работы с контекстом).
Примеры инициаторов: нажатие кнопки на UI, обращение к web api, получение сообщения из брокера.
 
Сессия обработкиПонятие, обозначающее один запуск машины состояния с конктретным набором параметров.
При этом в рамках одной сессии могут быть пройдены не все шаги обработки,
в следствии длительности и многоэтапности процесса, или же в следствии возникновения ошибки на одном из шагов.
 
Контекст

Класс содержащий данные о текущем экземпляре процесса, в том числе содержит информацию о статусе обработки (информация о шаге).
Можно выделить 2 компонента: persist и runtime.

Persist - группа данных, хранящихся в постоянном хранилище, с использованием ключа процесса.
Эти данные сохраняются между сессиями обработки. Также их можно просматривать и изменять(не во время сессии обработки) напрямую в хранилище.
Обычно при старте сессии обработки они загружаеются из хранилища, а при ее окончании сохраняются.

Runtime - данные, которые вычисляюся либо при старте сессии обработки, либо в рамках шагов обработки. Эти данные не сохраняются между сессиями обработки. Для каждого шага должно гарантироваться, что необходимые для его работы Runtime данные были предварительно загружены или вычислены.

 
Шаг (состояние)На вход принимает контекст.
В зависимости от состояния контекста может произвести некоторое действие, может менять контекст.
Принимает решение о том, в какое следующее состояние необходимо перейти (какой шаг будет следующим).
 
  
Теги:
Создал(а) Alexandr Fokin 2024/06/12 15:15