Введение

Business Process Model and Notation (BPMN) — графическая нотация для описания бизнес-процессов, разработанная Business Process Management Initiative (BPMI) и впоследствии переданная Object Management Group (OMG). Первая версия BPMN 1.0 опубликована в мае 2004 года, а в 2011 году версия 2.0 принята в качестве международного стандарта ISO/IEC 19510.

Ключевая амбиция BPMN — создать нотацию, одинаково понятную бизнес-аналитикам, разработчикам и техническим архитекторам, и при этом напрямую исполняемую в BPM-движках через трансформацию модели в BPEL или прямое исполнение XML-сериализации.

Три уровня моделирования

В практике различают три уровня применения BPMN:

Дескриптивный уровень

Используется ограниченный набор элементов — типичные задачи, шлюзы AND/XOR, события начала и конца, последовательные потоки и пулы. Цель — наглядное описание процесса для бизнес-аудитории. На этом уровне модель не предполагает исполнения.

Аналитический уровень

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

Исполняемый уровень

Модель содержит все технические атрибуты, необходимые для исполнения в BPM-движке: переменные процесса, обработчики ошибок, спецификации скриптовых задач, маршрутизация сообщений.

Базовые элементы

BPMN определяет 116 элементов, но в большинстве проектов используется не более 30. Основные категории:

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

Семантика токенов

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

Сильные стороны

  • Универсальность — покрывает спектр от наглядной коммуникации до автоматизации
  • Стандартизация — принят как ISO-стандарт, поддерживается сотнями инструментов
  • Богатство выразительных средств для сложных сценариев
  • Прямая исполняемость в BPM-движках без перевода в код

Ограничения

  • Кривая обучения — полноценное освоение требует месяцев практики
  • Соблазн переусложнения из-за богатства элементов
  • Слабая поддержка адаптивных процессов (для них существует CMMN)