首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不了解工作流、工作流自动化或工作流编排

我不了解工作流、工作流自动化或工作流编排
EN

Stack Overflow用户
提问于 2019-11-18 12:44:13
回答 2查看 1.4K关注 0票数 3

为什么我们需要像Uber的Cadence、Camunda或Activiti这样的特殊软件?如果它只是一个任务序列,那么为什么我们不能直接对它进行编码呢?我试着读了卡蒙达和凯蒂丝的文档,但就是读不进去。我的公司想要使用。考虑过它的高级开发人员似乎不能/不会解释他想要使用它的原因或位置。

我发现他们设置工作流的代码/方式非常不直观。谁来帮帮忙。

该项目是使用Java和Spring Boot开发的。

EN

回答 2

Stack Overflow用户

发布于 2019-11-19 06:44:57

你说的“直接编码”是什么意思?好的,让我们看一下下面的代码:

代码语言:javascript
复制
String r1 = task1(someArg);
String r2 = task2(r1);
if (r2.equals("foo")) {
   sleep(Duration.ofHours(5));
   task3(r2);
} else {
   task4(r2);
}

现在开始对它进行“编码”,使其具有可伸缩性和容错性(例如,在执行task2时防止进程故障),并且对于任何这些任务实现的长时间停机都是健壮的。我敢打赌,你的代码会把回调和数据库调用弄得乱七八糟。

Temporal Workflow允许编写这样的代码,并使其具有容错能力,而无需进行任何大的修改。

票数 10
EN

Stack Overflow用户

发布于 2019-11-19 16:41:52

这可能需要一本书来回答这个问题。几个方面:

业务和IT之间的

  • 通信

您不能向企业显示代码,但人们可以理解BPMN图。至少基本的符号集是相当直观的(http://bpmn.io/https://www.omg.org/spec/BPMN/2.0/About-BPMN/#documents)。您将从哪里开始向业务分析师解释您编码的工作流的逻辑?您如何将有关业务规则的反馈转换为代码?

如果需求没有很好地转换到目标系统中,那么您就会得到额外的迭代和工作。BPMN图可以由流程引擎解释,因此在与业务讨论的操作流程和执行的流程之间不存在不匹配。

  • 灵活性/关注点分离

流程模型反映了业务逻辑,并允许您将其与代码分开。通过不将其隐藏在代码中,业务逻辑变得更容易理解(参见上一段)和更改。它也可以独立地进行版本化。业务规则、流程逻辑和其他(例如集成)代码的生命周期经常非常不同。更快地更改IT系统意味着提高业务敏捷性。

  • Transparency

工作流引擎ootb监视状态并收集所有(经常是强制的)审计数据。我们在特定的流程执行中处于什么位置?为什么它没有进展?谁在什么时候执行了哪一步?花了多长时间?更改了哪些数据?

基于这些数据,您可以生成报告(过去12个月内您的银行开户过程的平均处理时间?)和分析(在给定特定circumstances?)的情况下有流失客户的风险

你必须编程的

  • Standardized特性

你会开发你自己的数据库吗?不,那你为什么要开发自己的工作流管理呢?状态管理、工作分配(用户、角色、组)、任务和数据的权限概念、审计信息记录、错误处理、线程管理、重试、标准报告、....

我可以继续讲下去,但这应该会给你一个概念。进一步的读取可能是:

https://thenewstack.io/5-workflow-automation-use-cases-you-might-not-have-considered/

https://blog.bernd-ruecker.com/the-microservice-workflow-automation-cheat-sheet-fc0a80dc25aa

https://www.ecosia.org/search?q=why+workflow+engines

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58908079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档