我从我的Camunda BPMN文件中的服务任务中调用Java实现,该任务读取,修改和设置全局变量。因此,我有很高的数据流异常风险。
是否有一些最佳实践和工具可以帮助我尽早避免或检测数据流异常?也许可以通过某种方式来定义每个服务任务的界面(它需要,修改,添加)?
到目前为止,我已经尝试过:
1)我的第一个尝试是通过使Java实现仅使用局部变量并使用Camunda的Input / Output-Mappings来定义服务任务的简洁接口。但是我认为这对于客户来说变得太复杂了(特别是如果Java实现读取可选的全局变量)。
2)我确实找到了工具vPAV,它的ProcessVariablesModelChecker看起来很有前途。但是我没有找到一种方法来告诉工具哪个Java实现读取/修改/设置了哪个全局变量。 (有一个German blog post covering clean code of variables for Camunda,但主要指vPAV)。
答案 0 :(得分:1)
我同意,仅在ServiceTasks上使用局部变量并为bpmn-model中的每个使用的变量定义一个Mapping会导致很多不必要的映射活动。在我看来,这种方法对于开发人员而言并不是很帅。正如我在博客中所写的那样,一个好的组织会帮助但不能从技术上“解决”该问题。
您不必告诉vPAV哪些变量是由委托设置的。该方法可自行发现实施和流程模型中的更新。
您是否有一个最小的流程项目示例(在github上)显示您的问题?
关于, 马赛厄斯