关于开源项目的选择:以工作流引擎选择为例

近期公司项目需要用到工作流,涉及功能有基础的流程发起,指派,确认,退回等,还有上下级的交互,之前是听说过工作流引擎activiti的,想着是否可以借把力,在成熟的工作流引擎上做二次定制开发\

弄清开源协议

    既然要选择开源项目,现在很多公司都提供商业版本和开源版本,违规使用商业版本是违法的,使用开源版本也要看清协议,不然再好的项目也是不能用的\

    开源许可证代表了该开源项目的基本行为模式,违规使用开源项目可能会直接导致整个项目的失败\

  •     activiti

    是否开源: It's open-source and distributed under the Apache license.

    github:github.com/Activiti/Ac…

    Homepage: activiti.org\

    最新版本: 7.2.0 Releases update 13days ago\

    说明持续维护,长时间停止维护的项目无法保证CVE等持续修复,是不敢用的\

    开源协议: Apache-2.0\

Apache-2.0(Apache License, Version 2.0)

  • flowable project

是否开源 The Flowable project provides a core set of open source business process engines that are compact and highly efficient.

最新版本 flowable 6.7.2 release on 28 dec 2021 相比activiti和camunda还是发行比较久了

同样的apache-2.0开源协议

  • camunda

开源

最新版本7.17 update in 2 days

同样的apache2.0开源协议

关于Apache2.0

相对于GPL,LGPL,Apache2.0相对宽松,不具有传染性,但我们在使用apache2.0 license软件时,仍然要完成使用其的义务:一定要标明出处,这三个框架都可以使用

社区活跃度,文档丰富程度

相对来说,文档flowable和camunda要更丰富些

活跃度camunda和activi较好

功能性

三个引擎均支持BPMN2.0 DMN决策引擎 支持基础流程操作 也都分裂于初始版本的activiti

但camunda同时还提供了camunda model 用于流程设计表单设计

还提供了驾驶舱和tasklist,相对功能更强大

此时在功能性上,在搜索引擎中寻找前辈对其的对比,进一步了解

总结

经过以上三个步骤,基本可以拟定一个开源框架是否可用

猜你喜欢

转载自juejin.im/post/7086458229407875102