Документация / BPMN

Хореография

Хореография описывает, как участники обмениваются сообщениями, не раскрывая их внутренних процессов. Если коллаборация показывает процессы каждой стороны и связи между ними, то хореография — только сам протокол взаимодействия: кто начинает, кто отвечает, что происходит дальше.

Задача хореографии

Задача хореографии (choreography task) — прямоугольник со скруглёнными углами, разделённый на полосы:

  • в центре — название обмена («Отправить заказ»);
  • сверху и снизу — полосы участников; незатемнённая полоса — инициатор обмена, затемнённая — получатель.

Каждая задача хореографии — это одно сообщение и, возможно, ответ на него. Конверты сообщений прикрепляются к полосам участников.

<bpmn:choreography id="Choreography_Order">
  <bpmn:participant id="P_Customer" name="Покупатель" />
  <bpmn:participant id="P_Seller" name="Продавец" />
  <bpmn:messageFlow id="MF_Order" sourceRef="P_Customer" targetRef="P_Seller" messageRef="Message_Order" />
  <bpmn:choreographyTask id="SendOrder" name="Отправить заказ" initiatingParticipantRef="P_Customer">
    <bpmn:participantRef>P_Customer</bpmn:participantRef>
    <bpmn:participantRef>P_Seller</bpmn:participantRef>
    <bpmn:messageFlowRef>MF_Order</bpmn:messageFlowRef>
  </bpmn:choreographyTask>
</bpmn:choreography>

Подхореография и вызов хореографии

  • Подхореография (sub-choreography) объединяет несколько задач хореографии — по аналогии с подпроцессом. На её полосах перечислены все участники, задействованные внутри.
  • Вызов хореографии (call choreography) — ссылка на отдельно описанную, повторно используемую хореографию.

События и шлюзы в хореографии

Хореография использует те же начальные, промежуточные и конечные события, что и процесс, но только те, что не требуют «внутреннего» знания участника: простые, таймеры, сигналы, условия, ссылки.

Шлюзы работают так же, как в процессе, с одним важным ограничением: решение на исключающем шлюзе должен принимать участник, который только что получил информацию, — иначе остальные участники не узнают, какая ветвь выбрана.

ШлюзОсобенность в хореографии
ИсключающийРешение принимает участник, у которого есть данные для него
По событиямПосле шлюза — задачи хореографии с одним и тем же получателем
ВключающийКак исключающий, но выбираются все ветви с истинным условием
ПараллельныйОбмены по ветвям идут одновременно
СложныйПроизвольное правило слияния

Когда применять

Хореографию используют, когда нужно согласовать протокол между организациями или системами — например, порядок обмена документами между покупателем, продавцом и банком, — и не раскрывать внутренние процессы сторон. Большинство редакторов, включая наш, хореографии не рисует: для таких задач обычно достаточно коллаборации с пулами-«чёрными ящиками».

Обновлено: 30 сентября 2026 г.