Изменения документа Машина состояний
Редактировал(а) Alexandr Fokin 2024/06/12 15:52
<
отредактировано Alexandr Fokin
на 2021/09/13 19:03
на 2021/09/13 19:03
отредактировано Alexandr Fokin
на 2024/06/12 15:52
на 2024/06/12 15:52
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
-
Объекты (0 изменено, 0 добавлено, 1 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Архитектура и модели.WebHome 1 +Архитектура и модели.Модели.WebHome - Содержимое
-
... ... @@ -1,45 +1,34 @@ 1 + 1 1 2 -Система обработки бизнес процессов на основе машины состоний. 3 +|(% style="width:183px" %) |(% style="width:1302px" %)Конечный набор состояний переходов между ними. 4 +|(% style="width:183px" %)Отличие от понятия [[Процесс>>doc:Архитектура и модели.Модели.Процесс.WebHome]]|(% style="width:1302px" %)Сама по себе модель машины состояний не затрагивает следующие темы.((( 5 +* Постоянное (persistance) сохранение контекста и статуса экземпляра. 6 +* Движок обработки процессов (хранение, выполнение, распределение нагрузки, обработка ошибок). 7 +))) 8 +|(% style="width:183px" %) |(% style="width:1302px" %) 3 3 10 +---- 4 4 5 - Основныепонятия:12 +==== Внутренние ссылки: ==== 6 6 7 -**Ключ процесса** 8 -Уникальной идентефикатор экземпляра процесса. 9 -Обычно служит для чтения/записи persist данных контекста. 14 +====== Дочерние страницы: ====== 10 10 16 +{{children/}} 11 11 12 -**Инициатор** 13 -Событие, служащее источником запуска одной сессии обработки. 14 -Обычно ему соответсвует набор параметров, которые необходимо для запуска сессии обработки (как минимум это ключ процесса для работы с контекстом). 15 -Примеры инициаторов: нажатие кнопки на UI, обращенеи к web api, получение сообщения из брокера. 18 +====== Обратные ссылки: ====== 16 16 20 +{{velocity}} 21 +#set ($links = $doc.getBacklinks()) 22 +#if ($links.size() > 0) 23 + #foreach ($docname in $links) 24 + #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument()) 25 + * [[$escapetool.xml($rdoc.fullName)]] 26 + #end 27 +#else 28 + No back links for this page! 29 +#end 30 +{{/velocity}} 17 17 18 -**Сессия обработки** 19 -Понятие, обозначающее один запуск машины состояния с контретным набором параметров. 20 -При этом в рамках одной сессии могут быть пройдены не все шаги обработки, 21 -в следствии длительности и многоэтапности процесса, или же в следсвии возникновения ошибки на одном из шагов. 32 +---- 22 22 23 - 24 -**Контекст** 25 -Класс содержащий данные о текущем экземпляре процесса, в том числе содержит информацию о статусе обработки (инфомация о шаге). 26 -Можно выделить 2 компонента: persist и runtime. 27 - 28 -Persist - группа данных, хранящихся в постоянном хранилище, с использованием ключа процесса. 29 -Эти данные сохраняются между сессиями обработки. Также их можно просматривать и изменять(не во время сессии обработки) напрямую в хранилище. 30 -Обычно при старте сессии обработки они загружаеются из хранилища, а при ее окончании сохраняются. 31 - 32 -Runtime - данные, которые вычисляюся либо при старте сессии обработки, либо в рамках шагов обработки. 33 -Эти данные не сохраняются между сессиями обработки. 34 -Для каждого шага должно гарантироваться, что необходимые для его работы Runtime данные были предварительно загружены или вычислены. 35 - 36 - 37 -**Шаг (состояние)** 38 -На вход принимает контекст. 39 -В зависимости от состояния контекста может произвести некоторое действие, может менять контекст. 40 -Принимает решение о том, в какое следующее состояние необходимо перейти (какой шаг будет следующим). 41 - 42 - 43 - 44 - 45 - 34 +
- XWiki.XWikiComments[0]
-
- Автор
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.cccc1808 - Комментарий
-
... ... @@ -1,1 +1,0 @@ 1 -Идея: хранить в контексте не идентефикатор текущего шага, а а список идентефикаторов не пройденных шагов. - Дата
-
... ... @@ -1,1 +1,0 @@ 1 -2021-09-13 18:24:10.777