CMMN说明
什么是CMMN标准
Cmmn引擎目前最新的版本是1.1版本,发布于2016年。目前支持该规范的专业级工作流框架有Flowable/盘古BPM工作流平台。CMMN属于OMG公司发布的规范。OMG公司一共发布过三个标准,分别对应BPM/DMN/CMMN。目前Flowable实现了BPM和CMMN(没有对标准的XML进行实现,因此使用Flowable框架的CMMN可能会不兼容其他的标准产品)。盘古BPM工作流平台实现了BPM/DMN/CMMN。
BPM/DMN/CMMN可以使用下图进行进行描述。
BPMN侧重的是流程管理。也就是平时所说的流程。BPMN更多的使用场景是预定义一些固话的流程。当流程有变化的时候,需要重新对流程进行绘制、打包和发布。相对而言比较死板。BPM对于流程的走向其实已经提前规划好了。
CMMN侧重的是案例,比如预定义一些节点元素,这些元素的执行没有严格的先后顺序。可以并发去执行,也可以让其有先后顺序。BPM对于节点有严格的先后执行顺序,比如A节点执行完毕之后,才可以执行B节点。如果A节点没有执行,那么流程是永远不会执行到B节点的。
CMMN标准没有这个先后顺序一说,均是以案例为单元块执行,比如当前的单元块中定义了3个节点,当实例创建的时候,3个节点同时创建。没有严格的先后顺序。当任意一个节点完成的时候,并不会影响其他节点,也不会影响当前的单元块。开发人员可以通过特定的API直接完成这个单元块,这样改单元块中的所有节点会被强制结束。对于单元块的执行,CMMN标准并没有给出具体的实施方案,盘古BPM工作流平台提供了两种解决方案,①:可以通过特定的API去触发;②:可以通过消息方式自动化触发。当然了用户也可以在案例中配置自动完成条件,这样当条件满足的时候,该单元块会立即结束。
DMN侧重的是决策。比如有些逻辑计算比较麻烦并且相对而言比较独立,这个时候就可以将计算的逻辑放到DMN引擎中。Flowable框架没有实现DMN标准中定义的DRG和DRD,盘古BPM工作流平台实现了该标准。
BPM标准比较固话,CMMN标准比较动态化,DMN侧重于计算
上图清晰的描述了BPM/DMN/CMMN三个标准的职责以及所干的事情。
CMMN标准中的元素
CMMN标准中的元素类型大致如下:
BPM/DMN/CMMN三个标准转换
BPM/DMN/CMMN三个标准可以配合起来使用,也可以独立进行使用。如下图所示。
BPM中使用了一系列的网关,这个时候可以考虑使用DMN决策引擎代替。
BPM中使用了大量的事件,则可以优先考虑使用CMMN。
BPMN中有一系列的加签、自由流程,则优先考虑使用CMMN。
CMMN中如果案例内的元素都是有严格的执行顺序,则优先考虑使用BPM标准。
技术支持:盘古BPM工作流平台。
相关教程
- 2020-04-04
- 2020-04-04
- 2020-04-04
- 2020-04-04
- 2020-04-04
- 2020-04-03
- 2020-04-03
- 2020-04-03
- 2020-04-03
- 2020-03-31