jBPM5 - 工作流程组件

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

jBPM5工作流程

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

  • Start Event : 这是每个进程中执行的第一个节点.您的流程中只能有一个起始节点.

  • End Event : 该节点表示该过程结束.在这个过程中,这种类型的节点可能会出现多个.

  • Rule Task : 它是一个评估RuleFlow组的节点,它是同一命名范围内的一组Drools规则.

  • Gateway(diverge)aka Split : 此特定节点在此过程中创建新路径/方式.它有两个或多个传出连接.您可以选择三种不同类型的拆分/门.

    • AND GATE : 流程同时继续流向所有传出连接的地方.

    • XOR GATE : 根据工作流中定义的某些预定义约束,这将转到一个唯一的传出路径.

    • OR GATE : 流程在评估所有传出约束的情况下继续进行,并且在约束评估为真的情况下启用该路径.

  • Gateway(converge)aka Join : 此连接与拆分相反.它将多个路径合并为一个路径.可以有四种不同类型的连接/门和减号;

    • AND : 所有分支完成后流程继续.

    • XOR : 当至少一个分支完成时,流程继续.

    • Discriminator : 与XOR一样,如果其中一个分支已经完成,它将继续.但与XOR不同,它会注册其他分支的完成,直到所有连接都完成.当它发生时,节点重置,当一个传入的分支激活并且循环重新开始时,它可以再次进入.

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

  • Reusable Sub-Process : 召唤另一个进程.这对于将几个较小的过程组合成较大的过程非常有用.这个较大的可以是一个协调过程.您可以将调用进程配置为等待被调用者完成,并且还具有其父级的独立生命周期.

    • Script Task : 一个可以执行简单代码的节点.

    • Timer Event : 这种类型的节点启动计时器,并在计时器到期时触发.启用与时间相关的流程和重复性任务.

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

  • Message Event : 它在发出预定义类型的事件时触发.它可以是内部事件(在流程内发出信号)或外部事件(由流程引擎以外的外部实体发出信号).

  • User Task : 创建人工任务的节点.此人工任务是必须由人类演员完成的活动.

  • Embedded Sub-Process : 帮助在父进程中创建子进程.它可以有自己的范围.这对于您希望保留一些复杂分支的较大过程非常有用.它可以有自己的变量和异常处理程序

  • Multiple Instances aka for Each : 它允许将元素集合输入子流程.与可重用子流程结合使用以组合和协调较小的流程非常有用.