使用多个产品管理 Camunda

问题描述

我是camunda的初学者, 我想具体问一下,是否有任何最佳实践可以使用多个产品制作 camunda(每个产品都有每个团队的沟通最少),而无需进行新的 camunda 部署,也几乎不管理每个产品的许多 java 代表的 1 个 camunda 部署? 任何建议都可以讨论

之前谢谢你,抱歉英语不好。

解决方法

如果我理解你的问题,我想你是在问是否有办法在 Camunda 中设置权限或授权。具体而言,您希望某些用户或组能够查看流程,而其他用户或组则没有。

这是可能的。请参阅 Camunda 文档 here

您可以通过前端 GUI 设置这些授权或通过 REST API 发送 JSON 有效负载。请参阅此site

,

如果我理解正确,您希望使用相同的流程定义来处理不同种类的产品。根据产品的特性,不同的团队或个人应该执行流程中的步骤。所以这只是一个工作分配的问题。 Camunda 允许您将工作分配给个人(受让人)、个人组(候选用户)或用户组列表(候选组)。请参阅:https://docs.camunda.org/manual/latest/reference/bpmn20/tasks/user-task/#user-assignment-using-camunda-extensions

这项工作分配mhttps://docs.camunda.org/manual/latest/reference/bpmn20/tasks用于工作分配的值不必是静态的。您可以使用引用流程数据的表达式,可以在到达任务之前计算并设置 t 运行时间。

一种无需以业务友好的方式编写代码即可制定复杂的工作分配逻辑的方法是 DMN。请看这个例子:https://emsbach.medium.com/camunda-bpm-user-task-assignment-based-on-a-dmn-decision-table-32116a019a00 决策表包含基于不同产品属性的工作分配规则。对于具有不同属性的不同产品,决策表将导致不同的结果(受让人、候选用户或候选组)。结果用于后续用户任务的动态工作分配。

如果产品需要在服务任务中执行不同的代码,那么您可以

  • 在流程中分支并为不同的产品创建不同的服务任务
  • 使 JavaDelegate 实现从执行中读取产品数据并根据产品属性调整代码分支/行为
  • 使用动态委托表达式,它根据产品属性的值(例如产品 ID)引用不同的 Spring Bean/Java 委托

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...