如何仅通过DMN实现按国家、分类区分的多套计算规则建模
DMN多维度规则拆分场景实现方案
完全可以仅通过DMN本身实现该场景的建模,不需要依赖BPMN做调度。
具体实现思路基于DMN原生的DRD(决策需求图)分层设计即可:
- 第一层设计独立的路由决策表:仅保留「国家」「分类」2个输入列,输出为对应场景的子决策标识/直接关联子决策节点,规则总数等于所有国家+分类的组合数量,结构非常精简,不存在冗余。
- 第二层为拆分后的各场景子决策表:即美国+分类1、美国+分类2、加拿大+分类1等独立决策表,表内不需要新增国家、分类相关字段,各自维护对应场景的计算逻辑,可单独授权给对应用户组管理,互相无耦合。
DMN 1.2及以上版本的规范原生支持决策节点之间的依赖调用、可调用决策服务封装能力,你可以直接在DRD中定义路由决策的输出为子决策的触发条件,也可以将各子决策封装为独立的可调用服务,由路由决策的结果直接触发对应子决策的执行,整个逻辑完全在DMN模型内闭环,不需要额外引入流程编排能力。
该方案完全匹配你的诉求:
- 不存在单决策表过于庞大的问题,路由表规则量极少,子表仅存储对应场景的有效规则
- 权限隔离便捷,不同用户组仅需维护自己负责的子决策表,不会互相干扰
- 整体逻辑全部通过DMN标准实现,无额外组件依赖
内容的提问来源于stack exchange,提问作者josesuero
相关产品推荐
相关产品推荐

