Node.js 最主流的5个流程引擎
Node.js 最主流的流程引擎
在 Node.js 生态系统中,流程引擎是用于管理和自动化业务流程的关键组件。它们可以帮助开发者构建复杂的业务逻辑,自动化任务,并提高系统的可维护性和可扩展性。以下是当前 Node.js 中最主流的五个流程引擎:
-
osworkflow
osworkflow 是一个轻量化的流程引擎,基于状态机机制。它提供的工作流构成元素包括步骤(step)、条件(conditions)、循环(loops)、分支(spilts)和合并(joins)等。然而,osworkflow 不支持会签、跳转、退回、加签等操作,需要自行扩展开发,这增加了一定的难度。尽管如此,如果流程比较简单,osworkflow 仍然是一个不错的选择。但需要注意的是,该开源组件已过时,长时间没有版本升级了2。 -
jbpm
jbpm 由 JBoss 公司开发,目前最高版本为 jbpm7。但从 jbpm5 开始,该产品的代码基础不再是 jbpm4,而是从 DroolsFlow 重新开始。jbpm4 的创建者 Tom Baeyens 离开 JBoss 后,加入了 Alfresco 并推出了基于 jbpm4 的开源工作流系统 Activiti。此外,jbpm 以 hibernate 作为数据持久化 ORM 已不再是主流技术。因此,在当前的时间节点选择流程引擎时,jbpm 并非最佳选择2。 -
Activiti
Activiti 由 Alfresco 软件开发,目前最高版本为 activiti7。Activiti 的版本比较复杂,有 activiti5、activiti6、activiti7 几个主流版本。activiti5 和 activiti6 的核心领导者 Tijs Rademakers 在 2017 年离开团队,创建了后来的 flowable。activiti6 以及 activiti5 的代码已经交接给了 Salaboy 团队。activiti7 内核仍然使用 activiti6,并没有为引擎注入更多的新特性,只是在 activiti 之外的上层封装了一些应用。因此,在选型时应谨慎选择 Activiti2。 -
flowable
flowable 是基于 activiti6 衍生出来的版本,目前最新版本是 v6.6.0。开发团队是从 activiti 中分裂出来的,修复了一众 activiti6 的 bug,并在其基础上研发了 DMN 支持、BPEL 支持等。flowable 提供了 BPMN、CMMN、DMN 引擎以及表单引擎等模块。以 flowable6.4.1 版本为分水岭,flowable 大力发展其商业版产品,开源版本维护不及时,部分功能已经不再开源版发布。flowable 是一个使用 Java 编写的轻量级业务流程引擎,使用 Apache V2 license 协议开源2。 -
Camunda
Camunda 基于 activiti5,所以其保留了 PVM,最新版本为 Camunda7.15。Camunda 保持每年发布 2 个小版本的节奏。开发团队也是从 activiti 中分裂出来的,发展轨迹与 flowable 相似。Camunda 同时也提供了商业版,但对于一般企业应用,开源版本也足够了。Camunda 流程引擎的功能和性能表现稳定,通过压力测试验证了其 BPMN 引擎性能和稳定性更好。Camunda 不仅支持 BPMN,还支持 CMMN 和 DMN。Camunda 还带有非常强大的工具,用于建模、任务管理、操作监控和用户管理,所有这些都是开源的2。
总结
以上五个流程引擎在 Node.js 生态系统中各有特点和优势。osworkflow 适合简单流程,jbpm 和 Activiti 在选型时需谨慎,而 flowable 和 Camunda 则是更为成熟和稳定的选择。在选择流程引擎时,应根据项目的具体需求、团队的技术栈以及未来的扩展性来综合考虑
更多推荐


所有评论(0)