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