BPM多租户

时间:2019-02-06 17:18:04

标签: multi-tenant bpm

需要支持多租户的BPM引擎。我们希望创建一个无法修改的全局流程,但是可以为不同的租户以不同的方式配置全局流程中的子流程。

能否请您指出支持这种行为的哪些商业/开源BPM工具。

2 个答案:

答案 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,由主流程触发,但在具有自己的工作流程模型的独立流程实例中运行:

enter image description here

在此示例中,“销售”过程提供了对客户数据的管理。如果提交了新的客户数据,则模型会测试是否有报价。如果是,则触发一个新的子流程“订单”。此过程在完全独立的工作流程模型中运行。但是工作流引擎知道“父子”关系船,它允许子流程与父流程进行交互。例如,“订单”流程的Submit事件可以将业务数据发送回“销售”流程。

子流程的创建与事件“提交订单”绑定,并带有结果定义:

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

使用此定义,还可以在两个流程实例之间共享数据。

在示例中,两个模型定义捆绑在一个BPMN文件中。但是,您也可以将工作流模型分为不同的BPMN文件,这些文件由“模型版本”标识。

结合Security Concept,您还可以通过细粒度的方式来限制对子流程的流程实例的访问。