drools dmn
我是一名自由顾问,但今天我是一名博士生。 本文的全球背景是企业架构(EA),它需要对企业进行建模。 由于EA的一个方面是业务流程建模,所以我使用BPMN已有数年之久,但是这种表示法并不十分适合表示决策标准:一叠嵌套的网关很快变得难以理解,然后进行修改。 因此,当OMG在2014年(在本文开始时)发布DMN规范的第一个1.0 Beta版本时,我发现DMN是模型决策的一个非常有趣的符号。 我使用针对Eclipse的Sirius插件成功开发了基于DMN元模型的DMN建模工具。 但实际上,即使是下一个DMN规范的“最终”版本1.0也不是很完善。
DMN的最新版本1.1(于2016年6月发布)相当不错。 同时,作为本文使用的Signavio Decision Manager(学术人员免费),软件编辑器(至少二十个)已经启动了良好的建模工具。 这个Signavio工具已经能够生成特定的DRL文件,以便在BRMS Drools当前版本6上运行DMN模型。除了图形,一些编辑器最近还添加了将DMN模型(图表和决策表)导出到“ DMN 1.1 XML”的功能。 ”文件,该文件符合DMN规范。 而现在,好消息是像Drools这样的BRMS(未来版本7,已经在Beta版本中提供)能够运行这些DMN文件来自动进行决策(需要几行Java代码来调用这些高级DMN模型) )。
直接处理“ DMN 1.1 XML”交换模型的这种新方法对于工具独立性和模型可移植性而言更好。 这是使用工具Signavio Decision Manager(最新版本10.13.0)在以前的经典但特定的解决方案与这个新的通用解决方案之间的简短比较。 MDA(模型驱动的体系结构)及其三种模型CIM,PIM和PSM为我们提供了适合此比较的阅读网格:
3个MDA模型 | 描述 | 经典特定DMN解决方案 来自Signavio Decision Manager 到BRMS Drools |
CIM(计算 独立模型) | 业务表示模型, 独立于计算机考虑因素 | DRD(决策需求图) +决策表 |
PIM(平台 独立模型) | 计算设计模型 独立于执行平台 | û |
PSM(平台 具体型号) | 计算设计模型 特定于执行平台 | DRL(Drools规则语言) + DMN公式Java8-1.0-SNAPSHOT.jar |
因此,在经典但特定的DMN解决方案中,Signavio Decision Manager能够从业务DMN模型(DRD图和决策表)直接为Drools规则引擎导出DRL文件。 因此,该解决方案跳过了中间PIM级别,该级别与MDA概念不太兼容。 请注意,此DRL文件需要具有DMN公式的特定Signavio的jar库。
3个MDA模型 | 描述 | 新的通用DMN解决方案 来自Signavio Decision Manager(或其他工具) 到BRMS Drools(或其他BRMS) |
CIM(计算 独立模型) | 业务表示模型, 独立于计算机考虑因素 | DRD(决策需求图) +决策表 |
PIM(平台 独立模型) | 计算设计模型 独立于执行平台 | DMN 1.1 XML(交换模型) 包含FEEL表达式 |
PSM(平台 具体型号) | 计算设计模型 特定于执行平台 | û |
借助新的通用DMN解决方案,Signavio Decision Manager现在能够从相同的业务DMN模型(DRD图和决策表)导出“ DMN 1.1 XML”交换模型,该模型是PIM,独立于执行平台。 由于将来的Drools 7.0.0版本将能够直接解释“ DMN 1.1 XML”格式,因此特定于执行平台的最后一级PSM不再有用。
新的通用DMN解决方案在不跳过PIM级别的情况下,听起来绝对比特定解决方案要好,并且是自动化决策的良好基础。 正如Signavio所说,另一个优势是,这种使用“ DMN 1.1 XML”的新方法减少了供应商的锁定。
翻译自: https://www.javacodegeeks.com/2017/03/dmn-1-1-xml-modeling-automation-drools-7-0.html
drools dmn