Документация / 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 г.
