原创

Zeebe Docs翻译:2.2 工作流

温馨提示:
本文最后更新于 2019年10月08日,已超过 1,155 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

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

一个job worker是你完成任务所需的业务逻辑的实现。job worker必须嵌入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开源项目的桌面应用程序

Zeebe Modeler可以从GitHub下载

正文到此结束