DMN开源框架
盘古BPM工作流平台(DMN)是国内首款开源的互联网决策引擎系统,可以无缝对接Activiti/Flowable/Zeebe/Drools等多种工作流系统。拥有独立的DMN1.3标准设计器、解析器、决策引擎、支持决策表(decision table)、DRD、DRG。目标是打造一款集成主流工作流且轻量易用的DMN决策引擎系统,满足互联网业务系统以及工作流系统打通决策管理等功能。
码云地址:https://gitee.com/pangu-dm/pangubpm-dmn
主要特点:
-
轻量级,通用;
-
无缝对接Activiti/Flowable/Zeebe等多种工作流系统,满足大部分企业业务系统的决策需求;
-
独立的决策引擎系统,为下游商业务平台提供统一决策接入接口,轻松实现统一决策接入;
-
项目代码免费开源且定期更新维护,扩展自由、使用无忧;
-
配套完善的系统使用文档、部署文档、视频教程,学习使用更轻松;
-
拥有活跃的产品技术学习交流社群,学习交流更高效;
-
由专业的BPM/DMN/CMMN系统产品技术团队提供服务支持,专业性及持续性有保障;
项目结构
├── feel-api //feel-api接口定义板块 ├── feel-juel //feel-api接口定义实现板块 ├── logging //日志板块 ├── pangu-dmn-examples //demo使用 ├── pangu-dmn-modeler //设计器 ├── pangu-xml-model //DMN1.3 对应的实体包 ├── typed-values //变量相关工具包 └── utils //通用工具包
盘古DMN开源框架与市面上DMN框架区别1(DMN标准实现情况)
框架 | 决策表(Decision table) | DRD | DRG | DMN1.3标准 | inputData | knowledgeSource | businessKnowledgeModel | literalExpression |
盘古DMN | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Activiti5 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Activiti6 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Activiti7 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Flowable | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
Zeebe | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Drools | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ |
盘古DMN开源框架与市面上DMN框架区别2(支持的脚本语言)
框架 | JavaScript | JRuby | Groovy | Python | FEEL | UEL |
盘古DMN | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Activiti5 | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
Activiti6 | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
Activiti7 | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
Flowable | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
Zeebe | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Drools | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
盘古DMN开源框架与市面上DMN框架区别3(计算策略)
框架 | UNIQUE | FIRST | PRIORITY | ANY | COLLECT | RULE ORDER | OUTPUT ORDER |
盘古DMN | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Activiti5 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Activiti6 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
Activiti7 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
Flowable | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Zeebe | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Drools | ✅ | ✅ | ✅ | ✅ | ✅ | ✅扩展形式) | ✅(扩展形式) |
盘古DMN开源框架与市面上DMN框架区别4(可扩展性)
框架 | 是否可以独立运行 |
盘古DMN | ✅ |
Activiti5 | ❌(没有实现DMN) |
Activiti6 | ❌(绑定在modler后台,cmmn/bmn/dmn捆绑在一起使用) |
Activiti7 | ❌(暂时没有实现) |
Flowable | ❌(绑定在modler后台,cmmn/bmn/dmn捆绑在一起使用) |
Zeebe | ❌ |
Drools | ❌(需要绑定CEP平台) |
盘古DMN开源框架与市面上DMN框架区别5(设计器支持的前端语言)
框架 | 原生html+js | vue | AngularJS |
盘古DMN | ✅ | ✅ | ✅ |
Activiti5 | ❌ | ❌ | ❌ |
Activiti6 | ❌ | ❌ | ✅ |
Activiti7 | ❌ | ❌ | ✅ |
Flowable | ❌ | ❌ | ✅ |
Zeebe | ❌ | ❌ | ❌ |
Drools | ❌ | ❌ | ✅ |
盘古DMN开源框架与市面上DMN框架区别6(组合其他标准,涵盖CMMN和BPM)
框架 | CMMN | BPM |
盘古DMN | ✅ | ✅ |
Activiti5 | ❌ | ❌ |
Activiti6 | ❌ | ✅ |
Activiti7 | ✅ | ✅ |
Flowable | ✅ | ✅ |
Zeebe | ❌ | ❌ |
Drools | ✅ | ✅ |