首页 > 解决方案 > 检查自动化 BPMN 任务的数据流异常

问题描述

我从我的 Camunda BPMN 文件中的服务任务调用 Java 实现,这些文件读取、修改和设置全局变量。因此,我有很高的数据流异常风险。

是否有一些最佳实践和工具可以帮助我尽早避免或检测数据流异常?也许某种方式来定义每个服务任务的接口(它需要、修改、添加哪些变量)?


到目前为止我已经尝试过:

1) 我的第一次尝试是通过使 Java 实现仅使用局部变量并使用 Camunda 的输入/输出映射来为服务任务定义干净的接口。但我认为这对客户来说太复杂了(特别是如果 java 实现读取可选的全局变量)。

2) 我确实找到了工具vPAV,它的ProcessVariablesModelChecker看起来很有前途。但是我没有找到一种方法来告诉工具哪个全局变量是由哪个 Java 实现读取/修改/设置的。(有一篇德语博客文章涵盖了 Camunda 的变量的干净代码,但它主要指的是 vPAV)。

标签: javabpmncamunda

解决方案


我同意仅在 ServiceTasks 上使用局部变量并为 bpmn-model 中的每个使用的变量定义一个 Mapping 会以很多实际上并不需要的映射活动结束。在我看来,这种方法对开发人员来说并不是很漂亮。正如我在博文中所写的那样,一个好的组织会有所帮助,但不会在技术上“解决”这个问题。

您不必告诉 vPAV 哪些变量是由委托设置的。该方法自行发现实施和流程模型中的更新。

您是否有一个流程项目的最小示例(在 github 上?)显示您的问题?

问候, 马蒂亚斯


推荐阅读