Jac*_*Dev 7 javascript bpmn node.js camunda flow-based-programming
简短的问题
基于流的编程可以取代 BPMN 的作用吗?或者它们是针对不同情况的不同工具。如果是这样,例子会很棒。谢谢。
更长的故事
最近我一直在尝试用 Javascript 创建一个 BPMN 实现。在过去,我会在 Java 上使用 Camunda,现在我想尝试一些新的东西。我转向 BPMN 的原因是因为代码的逻辑会非常复杂,使用可视化表示会更容易维护和编辑。
javascript 上的 BPMN:我遇到了https://www.npmjs.com/package/bpmn,它可以满足我的需求,但是在运行并行门时,经过测试似乎不是异步的。此外,每周下载次数为 26(非常低)。
Flow:进一步的研究揭示了基于 Flow 的编程,它允许我绘制流程图来构建一个工作应用程序。比如 Node-Red、Slang、NoFlow。而且似乎也是异步的。
有关基于流的编程的问题:使用 FBP,它似乎是异步的,并且具有很好的逻辑图表示并且可以维护。我查看了它,随着我越来越困惑,因为 FBP 的实现太多了,有些是提供并绑定到 3rd 方供应商(即:https : //developer.getflow.com/)。其中很多都被宣传用于物联网。我是否可以将它集成为更大的应用程序的一部分而无需任何运行时 3rd 方依赖项?我可以像在 Java 中使用 Camunda BPMN 一样使用它吗?
参考: 基于流的编程 https://www.quora.com/Will-visual-flowchart-programming-be-better-than-coding https://en.wikipedia.org/wiki/Flow-based_programming
在使用 NoFlo ( https://noflojs.org/ ) 及其 IDE (FlowHub/NoFlo-UI) 和 NodeRed ( https://nodered.org/ ) 之后。我开始感觉到基于流的编程 (FBP) 更像是编程的替代方案,并且与 BPMN 相比更细粒度。
这方面的一个例子是 NodeRed 教程(https://www.youtube.com/watch?v=f5o4tIz2Zzc),其中主持人带我们了解如何构建一个从 Twitter 读取并将其保存到数据库的应用程序。当 NodeRed 服务器在后面运行时,所有编程都只是您看到的图形和嵌入的所有配置,图形的节点是从 twitter 读取、格式化输入、打印输出、保存到数据库等。
我发现 BPMN 更加高级和抽象,它可以将“阅读、格式化和打印 twitter 文章”合并到一个活动中,以及该活动调用的底层类要实现的细节。
话虽如此,我发现仍然有一定程度的模糊,因为还可以在nodeRed中添加功能节点或在noflo中自定义自己的节点,它可以通过编程语言做很多事情。
感谢更多反馈。
| 归档时间: |
|
| 查看次数: |
1984 次 |
| 最近记录: |