【问题标题】:How to execute Camunda BPMN workflow based on DMN rules如何基于 DMN 规则执行 Camunda BPMN 工作流
【发布时间】:2021-05-08 13:47:47
【问题描述】:

我想使用 Camunda DMN 和 BPMN 创建一个基于规则的自动化系统。 我希望这个系统建立在这些基本原则之上:
a) 让业务事件流经 Kafka b) 有一个独立的服务检查每个事件的数据 c) 根据 Camunda DMN 中编码的一个或多个规则评估每个事件的数据 d) 根据 DMN 规则评估的结果执行 Camunda BPMN 工作流

示例: a) 一个 Kafka 主题包含来自外部客户请求购买某些商品的按摩 b) 独立服务检查每条消息并根据 DMN 规则对其进行评估,该规则要求每个请求包含所请求的项目数量 c) Camunda 任务检查每条消息的“请求的项目数量”字段 d) 如果“Requested Item Quantity”字段不包含有效值,则执行相应的 Camunda“Request required item quantity from the customer”BPMN 工作流 e) “向客户请求所需物品数量”BPMN 工作流自动向客户发送电子邮件,要求指定所需物品数量 f) 当客户的回复到达时,它被放置在相应的 Kafka 主题上,并由独立服务进行检查 g) 当客户的响应与原始“待处理”请求匹配时,执行相应的 Camunda BPMN“完成客户请求”工作流,并完成原始请求。

问题:这整个场景是否可以通过使用 Camunda DMN 定义规则和 Camunda BPMN 来完成,并由 DMN 规则评估的结果触发 BPMN 工作流?

【问题讨论】:

    标签: camunda


    【解决方案1】:

    目前我正在使用以下工具堆栈:

    • Apache Camel 作为 REST 端点和 REST 客户端
    • Camunda BPMN 引擎

    之所以使用骆驼,是因为人们可以为事件做出路由决策而没有任何复杂性。我们计划在我们的项目中添加另一个来自 Kafka 的输入通道。 Camel 的优势在于,新界面不会显示给业务流程部分。我总是使用发送消息事件来启动进程或继续已经运行的进程的可能性。

    Camel 使用可以配备插件的队列来执行操作。我将使用此功能在 DMN 引擎的帮助下做出决策。根据结果​​,您可以在 Camel 中做出路由决策,并将您的事件发送到适当的流程。

    请记住,还可以对使用通过 DMN 实施的业务规则任务来制定决策的流程进行建模。在这种情况下,您可以将事件转发到相应的进程。

    因此,请检查要求并选择适合您需求的解决方案。 亲切的问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2019-07-23
      • 2022-11-15
      • 2019-05-25
      相关资源
      最近更新 更多