BPM мульти-аренда

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

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

3 ответа

Взгляните на Камунду (https://camunda.com/). Он изначально поддерживает мультитенантность.

Механизм рабочего процесса с открытым исходным кодом Imixs-Workflow поддерживает этот вид моделирования рабочего процесса. Imixs-Workflow основан на BPMN 2.0 и поддерживает работу с разными бизнес-моделями в одном экземпляре процесса.

Бизнес-логика не ограничивается одной моделью рабочего процесса. Можно запускать новые экземпляры процесса в другой модели рабочего процесса. Это называется подпроцессом, который запускается основным процессом, но выполняется в независимом экземпляре процесса со своей собственной моделью рабочего процесса:

В этом примере процесс "Продажи" обеспечивает управление данными о клиентах. Если были представлены данные о новом клиенте, модель проверяет, доступно ли предложение. Если да, запускается новый подпроцесс "Заказ". Этот процесс выполняется в полностью независимой модели рабочего процесса. Но машина рабочего процесса знает об отношениях "родитель-потомок", которые позволяют подпроцессу взаимодействовать с родительским процессом. Например, событие отправки процесса "Заказ" может отправлять бизнес-данные обратно в процесс "Продажи".

Создание подпроцесса привязано к событию "отправить заказ" с определением результата:

<item name="subprocess_create">
    <modelversion>1.0.0</modelversion>
    <task>100</task>
    <event>10</event>
    <items>namTeam</items>
</item>

С помощью этого определения также можно обмениваться данными между обоими экземплярами процесса.

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

В сочетании с концепцией безопасности вы также можете детально ограничить доступ к экземпляру процесса вашего подпроцесса.

Посмотрите на рабочий процесс Uber Cadence. Он имеет поддержку мультитенантности из коробки. Внутри Uber на одном экземпляре движка работает более 100 различных проектов.

И это с открытым исходным кодом под лицензией MIT.

Этот ответ дает больше контекста.

Другие вопросы по тегам