jBPM5 - 工作流程组件


以下屏幕截图显示了 jBPM 5 中可用的各种工作流组件。使用这些组件,您可以创建一个工作流来编排您的流程。

jBPM5 工作流程

您也可以创建自定义任务,但这将在稍后介绍。此外,还有一些可用的服务任务可用于编排流程。

  • 开始事件- 这是每个进程中执行的第一个节点。您的流程中只能有一个起始节点。

  • 结束事件- 该节点表示流程结束。一个流程中可以多次出现此类节点。

  • 规则任务- 它是评估 RuleFlow 组的节点,即同一命名范围下的一组 Drools 规则。

  • 网关(发散)又名分裂- 这个特定节点在此过程中创建新的路径/方式。它有两个或多个传出连接。您可以在三种不同类型的可用分割/门之间进行选择。

    • AND GATE - 流程流同时继续到所有传出连接。

    • 异或门- 根据工作流程中定义的一些预定义约束,仅进入一个传出路径。

    • 或门- 流程根据所有传出约束的评估进行,并且在约束评估为 true 的情况下启用该路径。

  • 网关(汇聚)又名加入- 这种加入是分裂的逆过程。它将多条路径合并为一条。可以有四种不同类型的连接/门 -

    • AND - 当所有分支完成时流程继续。

    • XOR - 当至少一个分支完成时流程继续。

    • 判别器- 与 XOR 类似,如果其分支之一已完成,则判别器继续。但与 XOR 不同的是,它会记录其他分支的完成情况,直到所有连接完成为止。当发生这种情况时,节点会重置,并且当传入分支激活时可以再次进入该节点,并且循环重新开始。

    • N-of-M - 当n 个m分支完成时,流程继续。您需要在配置门时指定n (数字),以确定在流退出之前应完成多少个分支。

  • 可重用子流程- 调用另一个流程。这对于将几个较小的进程组合成一个较大的进程非常有用。这个更大的过程可以是一个协调过程。您可以将调用进程配置为等待被调用者完成,并拥有与其父进程独立的生命周期。

    • 脚本任务- 可以执行一段简单代码的节点。

    • 计时器事件- 这种类型的节点启动计时器并在计时器到期时触发。启用与时间相关的流程和重复任务。

    • 错误事件- 这种节点在过程中发出错误信号。它没有传出连接。它指定了一个FaultName 和一个FaultVariable。引擎将搜索与FaultName匹配的异常处理程序,并将Fault信息存储在FaultVariable定义的变量中。

  • 消息事件- 当发出预定义类型的事件时触发。它可以是内部事件(在流程内部发出信号)或外部事件(由流程引擎以外的外部实体发出信号)。

  • 用户任务- 创建人工任务的节点。此人工任务是必须由人类参与者完成的活动。

  • 嵌入式子流程- 帮助在父流程中创建子流程。它可以有自己的范围。这对于您想要隔离一些复杂分支的大型流程非常有用。它可以有自己的变量和异常处理程序

  • Multiple Instances aka for Each - 它允许将元素集合输入到子流程中。与可重用子流程结合使用来组成和协调较小的流程时非常有用。