Блог Кинзябулатова Рамиля

Поток в BPMN

Понятие потока, как и понятие токена, в BPMN активно используется, но при этом очень скупо поясняются. Так, в официальной документации понятию «токен» посвящено около двух абзацев. Если вам интересно разобраться, что это такое, смотрите мой видео урок, посвященный этому элементу, или читайте статью «Что такое токен в BPMN». Про поток в BPMN информации еще меньше. Потому я решил восполнить это явное упущение.

В рамках курса я также говорю нередко о потоках. Иногда упоминаю, что по ним движется токен, иногда использую выражение «движется процесс». В принципе, это одно и то же. Но вернемся к потокам. И начнем с определения.

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

 

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

Что движется в потоках

В потоке может двигаться любая информация, которая нам необходима. Тем не менее, имеет смысл провести определенную классификацию:

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

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

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

Например, в BPMN есть такое понятие, как Сигнал. Если мы передаем в потоке определенный Сигнал, он должен быть четко идентифицирован и описан в формате XML.  Или, например, мы передаем в исполняемом процессе Сообщение. В этом случае должно быть четко понятно, какое конкретно сообщение мы передаем с этапа на этап, какая информация должна быть передана. Оформляется все это в виде алгоритма и программного кода.

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

 

 

instructor

Рамиль Кинзябулатов

Бизнес-консультант
  • 500+ клиентов
  • 120+ статей на Habr
  • 3 IT книги

Рамиль Кинзябулатов — бизнес-консультант с большим практическим опытом работы в России и в зарубежье (США, Италия, Германия). Автор многочисленных публикаций и нескольких книг по оптимизации и автоматизации бизнеса.

Рамиль является одним из первооткрывателей бизнес-моделирования в России с опытом работы бизнес-консультантом более 17 лет. Так же является автором перевода стандарта IDEF0 на русский язык под собственной редакцией.