简短问题
流程编程能否取代BPMN?还是它们是不同的工具,适用于不同的情况。如果可以,请举例说明。谢谢。
更长的故事
最近我一直在尝试在Javascript中创建BPMN实现。在旧日子里,我会使用Java上的Camunda,现在我想尝试一些新东西。我转向BPMN的原因是代码逻辑将变得非常复杂,使用可视化表示将更容易维护和编辑。
Javascript上的BPMN:我发现了https://www.npmjs.com/package/bpmn,可以做到我想要的,但在测试时似乎不支持并行网关的异步操作。此外,每周下载次数为26(非常低)。
Flow:进一步的研究揭示了基于流程的编程,它允许我绘制流程图来构建工作应用程序。例如Node-Red、Slang、NoFlow等,而且也似乎是异步的。
关于流程编程的问题:使用FBP似乎是异步的,并且有一个漂亮的逻辑图表表示,可以进行维护。我研究了一下,越来越困惑,因为有很多FBP的实现,并且有些是由第三方供应商提供和绑定的(例如:https://developer.getflow.com/)。而且很多人正在宣传它们用于IoT的使用。 我能否将其作为较大应用程序的一部分集成使用,而不需要任何运行时的第三方依赖项?我能否像在Java中使用Camunda BPMN一样使用它?
参考文献: 基于流程的编程 https://www.quora.com/Will-visual-flowchart-programming-be-better-than-coding https://en.wikipedia.org/wiki/Flow-based_programming