工作流技术选型(中)

工作流技术选型(中)

图2:传统的人工工作流程(针对Camunda BPM构建)

 

图3:微服务编排(针对Camunda BPM构建)

 

 

(尽管上面的工作流程是为Camunda BPM构建的,但它们在Activiti和Flowable中也可以完美地-并且几乎完全一样地工作。)

 

在图2中,您可以看到几个传统的用户任务以及通道,通道是一种通用的BPMN 2.0构造,表示任务的用户/组责任。这是一个相对标准的以人为中心的工作流程,这些系统可以轻松地对其进行处理。图3显示了一个完全自动化的工作流程,该流程没有任何用户任务,并且可以根据需要以“直通”或同步方式进行处理。

 

另一方面,这些工具都没有强大,功能强大的用户界面设计器,并且与BPM套件相比,它们通常提供基本的报告功能。在某些情况下,构建BPM应用程序将花费更长的时间。如果您需要或想要这些功能,则可能应该从上述BPM套件开始搜索。

 

由于它们的灵活性和功能齐全的BPMN 2.0支持,因此,在考虑为您的企业设计工作流解决方案时,建议从此处开始。尽管它们没有BPM套件所具有的某些支持性辅助功能,但您可能还有其他工具可用于构建高级UI,报告从BPM应用程序生成的数据等。这些都是开放的。源平台不会限制您可以在工作流应用程序中执行的操作,它们也将允许您构建微服务业务流程。

 

 

“轻量级”工作流程平台(通常被误称为“微服务编排平台”)主要集中在简化的,高性能的工作流程上。它们还与其他工作流程/ BPM解决方案不同,因为它们极大地限制了用于构建工作流程的功能集。例如,Camunda Zeebe和Netflix Conductor都不提供类似于BPMN 2.0中的用户任务的功能;您完全可以在平台之外处理/管理所有用户交互。

 

我们说它们在某种程度上被误称为“微服务编排平台”,因为这意味着其他工作流程平台无法编排微服务端点。事实并非如此;您可以使用任何BPM套件或使用任何开源平台来编排微服务端点集。

 

让我们更详细地研究这些平台的有限功能集。考虑上面的图2和图3 ...鉴于Zeebe使用精简版的BPMN 2.0对其业务流程进行建模,您可以对图3中捕获的工作流进行建模。但是,您将无法对捕获的工作流进行建模在图2中,因为其中引用的某些功能在Zeebe中不可用。这限制了可以应用Zeebe的用例。Netflix Conductor也是如此。尽管它是一个比其竞争对手Zeebe更成熟的平台,并且确实提供了更多功能,但您仍然无法对图2中捕获的工作流进行建模。与Zeebe一样,您可以对Conductor中图3捕获的工作流进行建模,尽管采用了另一种形式-但从根本上讲是相似的-


 

相关教程