Последние авторы
1 |(% style="width:230px" %)Система обработки бизнес процессов на основе [[Машина состояний>>doc:Архитектура и модели.Модели.Машина состояний.WebHome]].|(% style="width:1255px" %)
2 |(% style="width:230px" %)Основные понятия:|(% style="width:1255px" %)(((
3 |(% style="width:1250px" %)Ключ процесса|
4 |(% style="width:1250px" %)Уникальной идентификатор экземпляра процесса.|
5 |(% style="width:1250px" %)Обычно служит для чтения/записи persist данных контекста.|
6 |(% style="width:1250px" %)Инициатор|
7 |(% style="width:1250px" %)Событие, служащее источником запуска одной сессии обработки.|
8 |(% style="width:1250px" %)Обычно ему соответсвует набор параметров, которые необходимо для запуска сессии обработки (как минимум это ключ процесса для работы с контекстом).|
9 |(% style="width:1250px" %)Примеры инициаторов: нажатие кнопки на UI, обращение к web api, получение сообщения из брокера.|
10 |(% style="width:1250px" %)Сессия обработки|
11 |(% style="width:1250px" %)Понятие, обозначающее один запуск машины состояния с контретным набором параметров.|
12 |(% style="width:1250px" %)При этом в рамках одной сессии могут быть пройдены не все шаги обработки,|
13 |(% style="width:1250px" %)в следствии длительности и многоэтапности процесса, или же в следсвии возникновения ошибки на одном из шагов.|
14 |(% style="width:1250px" %)Контекст|
15 |(% style="width:1250px" %)Класс содержащий данные о текущем экземпляре процесса, в том числе содержит информацию о статусе обработки (инфомация о шаге).|
16 |(% style="width:1250px" %)Можно выделить 2 компонента: persist и runtime.|
17 |(% style="width:1250px" %)Persist - группа данных, хранящихся в постоянном хранилище, с использованием ключа процесса.|
18 |(% style="width:1250px" %)Эти данные сохраняются между сессиями обработки. Также их можно просматривать и изменять(не во время сессии обработки) напрямую в хранилище.|
19 |(% style="width:1250px" %)Обычно при старте сессии обработки они загружаеются из хранилища, а при ее окончании сохраняются.|
20 |(% style="width:1250px" %)Runtime - данные, которые вычисляюся либо при старте сессии обработки, либо в рамках шагов обработки.|
21 |(% style="width:1250px" %)Эти данные не сохраняются между сессиями обработки.|
22 |(% style="width:1250px" %)Для каждого шага должно гарантироваться, что необходимые для его работы Runtime данные были предварительно загружены или вычислены.|
23 |(% style="width:1250px" %)Шаг (состояние)|
24 |(% style="width:1250px" %)На вход принимает контекст.|
25 |(% style="width:1250px" %)В зависимости от состояния контекста может произвести некоторое действие, может менять контекст.|
26 |(% style="width:1250px" %)Принимает решение о том, в какое следующее состояние необходимо перейти (какой шаг будет следующим).|
27 | |
28 | |
29 | |
30
31
32 )))
33 |(% style="width:230px" %) |(% style="width:1255px" %)