Интеграция Событий в движок BPMN ================================ .. _bpmn_events_integrations: В Ecos могут происходить различные события, такие как: * создание нового документа * смена статуса * добавление комментария * изменение свойств документа * и т.д. В бизнес-процессе мы должны иметь возможность реагировать на эти события - отправлять уведомления, если был добавлен комментарий, или запускать сабпроцесс, если были изменены определенные свойства документа. |br| При этом, настройка реакции на события должна быть как можно более простой и удобной для пользователя. |br| Были выдвинуты следующие требования к интеграции событий в движок BPMN: 1. Выбор типа события из списка доступных событий 2. Поддержка сторонних "пользовательских" событий, в том числе возникающих в пользовательских модулях 3. При реакции на события должна быть возможность получить информацию о событии и настраивать дополнительную модель на основе records api 4. Catch события должны поддерживать предикаты для определения необходимости реакции на событие На основе этих требований был выполнен анализ возможностей signal и messages в Camunda BPMN. В результате было решено использовать signal как основу построения интеграции Событий в движок BPMN, так как messages имеют достаточно сильные ограничения и не позволяют реализовать необходимую гибкость. |br| Базовая архитектура: .. image:: _static/bpmn_events_arch_shema.png :align: center .. |br| raw:: html