В рамках подготовки курса по BPMN, некоторые видео я буду разворачивать в статьи для лучшего понимания слушателями. Видео урок вы можете увидеть в конце статьи.

Понятие токена в BPMN вызывает много вопросов, хотя на самом деле, эта сущность крайне проста и полезна. Для начала приведем классическое определение:

Токен – это теоретический концепт, который используется для понимания поведения рассматриваемого процесса. Поведение элементов процесса может быть понято через то, как они взаимодействуют с токеном, который перемещается по структуре процесса. Между тем в системах исполнения и моделирования, использующих BPMN стандарт, не обязательно в каком-либо виде указание токена.

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

В BPMN для аналогичных целей был введен токен. Т.е. по сути, это отметка, которая показывает вам, какой блок процесса выполняется в данный момент. Перемещая токен по процессу, вы сможете четко отследить, что и как будет работать в реальности.

Для того, чтобы работать с токеном, необходимо наличие самого бизнес-процесса. Без него само понятие токена теряет смысл. Давайте разберемся на примерах, что такое токен, и как с ним работать.

Пример № 1

Рассмотрим процесс закупки товара (см. рисунок ниже). Как видите, он довольно простой, потому описывать подробно сам процесс мы не будем, а сосредоточимся на токене.

В самом начале исполнения процесса токен находится в точке входа. Далее мы начинаем его перемещать. Двигаться токен может только последовательно, переходя с этапа на этап процесса.

Таким образом, токен переходит на этап «Создать документ Заявка на закупку товара». После успешного завершения этапа токен движется на этап «Отправить заявку на согласование» и т.д.

Если бы у нас не было такого элемента, как токен, мы бы не могли понять, где сейчас находится процесс. 

Любой процесс запускается последовательно. Он не выполняется весь одновременно, а только в определенной точке. Это может быть задача, шлюз или событие. Но важно понимать, что не все процессы запускаются, не все шлюзы обрабатываются, не все задачи выполняются. 

В каждый момент времени выполняется только тот элемент, на котором находится токен. Причем, только тот, который необходим по логике протекания процесса.

В нашем случае после шлюза «Заявка одобрена?» получен ответ «Да». И токен движется по соответствующей ветке. Финал работы – точка выхода.

Пример № 2

Для лучшего понимания рассмотрим тот же процесс. Но в этот раз после шлюза мы получили ответ «Нет».

В этом случае токен движется по другой по другой ветке или, иначе говоря, по другому потоку нашего процесса. 

Важно понимать, что токен «не знает» о том, что у нас есть какие-то другие задачи. Процесс, т.е. токен после шлюза пошел по пути потока «нет». Соответственно, все, что касается ветки «да», в этом случае не интересно ни нам, ни процессу, который выполняется. Таким образом, те ветки, которые не задействованы здесь и сейчас, для процесса не существуют.

Пример № 3

При работе с бизнес-процессом токенов может быть несколько, например, если выполняется две или более ветки процесса параллельно. Рассмотрим пример бизнес-процесса «Согласование закупки». 

Здесь мы также не будем останавливаться на самом процессе. Основные элементы понятны из графической модели, а подробности в данном случае не нужны. Обратите внимание на этап «Одобрить заявку». После него на схеме находится параллельный шлюз. Этот элемент включает два потока одновременно. 

Посмотрите, как это изображается при помощи токенов. На точке входа и до параллельного шлюза включительно перемещается один токен. Далее нам нужно выполнить два параллельных процесса. В результате один токен разделяется на два, которые выполняются одновременно.

Подведем итоги

Как видите, на самом деле токен – это просто, понятно и удобно. Использование этой сущности поможет вам всегда четко понимать, как работает ваш процесс, даже если он будет сравнительно сложным. Используйте токены после создания графической модели для самопроверки. Применяйте их при демонстрации для лучшего понимания сути ваших предложений. О других полезных элементах BPMN мы обязательно поговорим в следующих публикациях.

Let’s block ads! (Why?)

Read More

Recent Posts

Роскомнадзор рекомендовал хостинг-провайдерам ограничить сбор данных с сайтов для иностранных ботов

Центр управления связью общего пользования (ЦМУ ССОП) Роскомнадзора рекомендовал компаниям из реестра провайдеров ограничить доступ поисковых ботов к информации на российских сайтах.…

16 часов ago

Apple возобновила переговоры с OpenAI и Google для интеграции ИИ в iPhone

Apple возобновила переговоры с OpenAI о возможности внедрения ИИ-технологий в iOS 18, на основе данной операционной системы будут работать новые…

6 дней ago

Российская «дочка» Google подготовила 23 иска к крупнейшим игрокам рекламного рынка

Конкурсный управляющий российской «дочки» Google подготовил 23 иска к участникам рекламного рынка. Общая сумма исков составляет 16 млрд рублей –…

6 дней ago

Google завершил обновление основного алгоритма March 2024 Core Update

Google завершил обновление основного алгоритма March 2024 Core Update. Раскатка обновлений была завершена 19 апреля, но сообщил об этом поисковик…

6 дней ago

Нейросети будут писать тексты объявления за продавцов на Авито

У частных продавцов на Авито появилась возможность составлять текст объявлений с помощью нейросети. Новый функционал доступен в категории «Обувь, одежда,…

6 дней ago

Объявлены победители международной премии Workspace Digital Awards-2024

24 апреля 2024 года в Москве состоялась церемония вручения наград международного конкурса Workspace Digital Awards. В этом году участниками стали…

7 дней ago