activiti - BPMN 并行任务调用同一流程

标签 activiti business-process-management bpmn business-process

我想对 BPMN 流程进行建模,其中两个并行任务正在验证两个独立的表单。如果其中任何一个表格无效,那么我们必须调用客户并要求提供新表格。问题是,我不想就表格 1 和表格 2 分别调用客户 - 如果这两种表格都无效,我只想调用它一次。

有没有办法在安排调用客户任务之前检查两项验证是否已完成?

那么我还有一个问题——给客户打电话后如何重新进入流程?如果一个表单无效,我想在收到新表单时重新输入相应的表单验证过程,如果两者都无效,则应在两个子过程中重新输入。

如果重要的话,我正在使用 Activiti 来实现它。

BPMN sketch

编辑

每个流程中的验证任务可能相隔几天,我不想因为另一个子流程中的验证而阻止子流程。我正在寻找一种解决方案,其中子流程将继续通过验证(如果有效),并且仅当两个验证任务完成(并且至少其中一个无效)时才会进行客户调用。

最佳答案

好吧,这里的根本问题是我们有 4 个状态需要处理 - 有效/有效、无效/有效、有效/无效和无效/无效。现在,我们可以忽略有效/有效,因为我假设这是快乐路径模型,并且您已经知道如何使其工作。那么对于无效选项我们该怎么办呢?

我得到的一件事是,即使另一个表单尚未经过验证,您也需要在表单有效后执行“下一步”才能继续。我认为你想要做的只是改变处理无效的过程。我认为事件网关可以帮助我们实现这一目标。

现在,我的经验主要是 IBM BPM,而不是 Activity,因此这个答案有可能不是有效的 BPMN,但我认为它是有效的。基本上我想象的是你最初的分割实际上是 4 路分割。您现在有 2 个用于表单,还有 2 个用于事件网关。这些事件网关正在等待每个表单发送“有效”或“无效”消息。当收到两者的答案时,它就会知道下一步是简单地结束流程的该部分,还是修复有效性。

在 IBM BPM 中,该模型大致如下所示(抱歉,我的 Activiti VM 现在已关闭)

BPMN Diagram

我以前没有尝试过图表。该链接是 - /image/i7eGS.jpg

关于activiti - BPMN 并行任务调用同一流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23759443/

相关文章:

java - Camunda 与替代品的比较(Activiti)

process - 有没有办法将同一进程的不同实例分配给不同的camunda实例(工作站)?

apache - Weblogic 中 Apache CXF 的 Java 安全异常未找到提供程序 : ApacheXMLDSig

java - Activiti Tomcat 配置

java - Camunda 服务任务的 OptimisticLockingException

java - 如何释放已领取的任务?

javascript - NodeJS 的 BPMN 引擎,类似于 Activiti 或 jBPM

workflow - 将新工作流程添加到 Alfresco 共享中

java - Activiti Rest 异常处理

.net - 开源BPM工具(如Activiti、bonita)和Windows Workflow Foundation有什么区别