需要支持多租户的BPM引擎。我们希望创建一个无法修改的全局流程,但是可以为不同的租户以不同的方式配置全局流程中的子流程。
能否请您指出支持这种行为的哪些商业/开源BPM工具。
答案 0 :(得分:0)
查看Uber Cadence Workflow。它具有开箱即用的多租户支持。在Uber内部,一个引擎实例上运行着100多个不同的项目。
它是MIT许可下的开放源代码。
This answer提供了更多上下文。
答案 1 :(得分:0)
Open Source Workflow Engine Imixs-Workflow支持这种工作流程建模。 Imixs-Workflow基于BPMN 2.0,并支持在一个流程实例中使用不同的业务模型。
业务逻辑不限于一种工作流程模型。可以在另一个工作流程模型中启动新流程实例。这称为sub-process,由主流程触发,但在具有自己的工作流程模型的独立流程实例中运行:
在此示例中,“销售”过程提供了对客户数据的管理。如果提交了新的客户数据,则模型会测试是否有报价。如果是,则触发一个新的子流程“订单”。此过程在完全独立的工作流程模型中运行。但是工作流引擎知道“父子”关系船,它允许子流程与父流程进行交互。例如,“订单”流程的Submit事件可以将业务数据发送回“销售”流程。
子流程的创建与事件“提交订单”绑定,并带有结果定义:
<item name="subprocess_create">
<modelversion>1.0.0</modelversion>
<task>100</task>
<event>10</event>
<items>namTeam</items>
</item>
使用此定义,还可以在两个流程实例之间共享数据。
在示例中,两个模型定义捆绑在一个BPMN文件中。但是,您也可以将工作流模型分为不同的BPMN文件,这些文件由“模型版本”标识。
结合Security Concept,您还可以通过细粒度的方式来限制对子流程的流程实例的访问。