工作流程

工作流程

工作流是类似于流程图的蓝图,用于定义任务的编排。每个任务都代表一条业务逻辑,以便有序执行可以产生有意义的结果。

一个在职职工是你的业务逻辑的实现需要完成的任务。作业人员必须嵌入Zeebe客户端库才能与代理进行通信,但是否则,对其实现没有任何限制。您可以选择将辅助程序编写为微服务,也可以将其作为经典三层应用程序的一部分,(lambda)函数(通过命令行工具等)编写。

然后,运行工作流程需要两个步骤:将工作流程提交给Zeebe,以及创建可以从Zeebe请求工作并完成工作的工作工作者。

顺序

最简单的工作流程是任务的有序序列。每当工作流执行完成任务时,Zeebe都会创建可由作业人员请求并完成的作业。

工作流程顺序

 

您可以将Zeebe的工作流程编排视为状态机。工作流实例完成一项任务,Zeebe创建一个可由工作人员请求的工作。然后Zeebe等待工人要求一份工作并完成工作。工作完成后,流程将继续进行下一步。如果工作人员无法完成工作,则工作流将保留在当前步骤,并且可以重试作业,直到成功完成。

数据流

当Zeebe在工作流程中从一项任务进展到下一项任务时,它可以以变量的形式移动自定义数据。变量是键值对,是工作流实例的一部分。

 

数据流

每个作业人员都可以读取变量并在完成作业时对其进行修改,以便可以在工作流中的不同任务之间共享数据。

基于数据的条件

某些工作流程并不总是执行相同的任务,而是需要根据变量和条件选择不同的任务:

数据条件

中间带有“ X”的菱形形状是一个元素,指示工作流决定采用多种路径之一。

大事记

事件代表发生的事情。工作流可以对事件做出反应(捕获事件),并且可以发出事件(抛出事件)。例如:

 

工作流程

有不同类型的事件,例如消息或计时器。

/并发

在许多情况下,并行执行多个任务也很有用。这可以通过Fork / Join并发实现:

数据条件

带“ +”标记的菱形表示所有传出路径均已激活,所有传入路径均已合并。

BPMN 2.0

Zeebe使用BPMN 2.0表示工作流。BPMN是一种行业标准,受到不同供应商和实现的广泛支持。使用BPMN可确保Zeebe与其他工作流程系统之间可以互换工作流程。

YAML工作流程

除了BPMN 2.0,Zeebe还支持YAML工作流格式。它可用于快速以文本形式编写简单的工作流程。与BPMN不同,它没有视觉表示并且没有标准化。Zeebe在提交时将YAML转换为BPMN。

BPMN建模器

Zeebe提供了免费的开源BPMN建模工具,用于创建BPMN图并配置其技术特性。建模器是基于bpmn.io开源项目的桌面应用程序。

相关教程