阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

带你了解DMN

329次阅读
没有评论

共计 1491 个字符,预计需要花费 4 分钟才能阅读完成。

DMN 规范概述

在第 14 章,我们讲解了 Activiti 与规则引擎的整合使用,确切来说,是 Activiti 与 Drools 规则引擎的整合。在 Activiti6 版本发布后,Activiti 开始实现 DMN 规范,换言之,Activiti 正在实现自己的规则引擎,虽然尚未完成,但已具雏形。本章将讲述 DMN 规范以及初步实现的 Activit 规则引擎。

笔者成书时,Activiti 的规则引擎并没有正式发布,官方文档、API 中没有找到相关的资料,本章内容为笔者参考 Activiti 规则引擎模块的源代码编写而成,在以后的 Activiti 版本中,规则引擎的实现及发布的文档,有可能与本书所描述的内容有所冲突,望读者了解该情况。

DMN 的出现背景

DMN 是英文 Decision Model and Notation 的缩写,直译意为决策模型与图形。根据前章节可知,BPMN 是 OMG 公司发布的工作流规范,而 DMN 同样是 OMG 公司发布规范,该规范主要用于定义业务决策的模型和图形,1.0 版本发布于 2015 年,目前最新的是 1.1 版本,发布于 2016 年。

BPMN 主要用于规范业务流程,业务决策的逻辑由 PMML 等规范来定义,例如在某些业务流程中,需要由多个决策来决定流程走向,而每个决策都要根据自身的规则来决定,并且每个决策之间可能存在关联,此时在 BPMN 与 PMML 之间出现了空白,DMN 规范出现前,决策者无法参与到业务中。为了填补模型上的空白,新增了 DMN 规范,定义决策的规范以及图形,DMN 规范相当于业务流程模型与决策逻辑模型之间的桥梁。

虽然 DMN 只作为工作流与决策逻辑的桥梁,但实际上,规范中也包含决策逻辑部分,同时也兼容 PMML 规范所定义的表达式语言。换言之,实现 DMN 规范的框架,同时也会具有业务规则的处理能力。

Activiti 与 Drools

Activiti 作为一个工作流引擎,与规则引擎 Drools 本来没有可比之处,它们之间更像互补关系,但是目前 Activiti 正在实现 DMN 规范,Drools 则实现了 PMML 规范,这样就意味着,Activiti 的工作引擎完成后,也包含了规则引擎的功能,根据 DMN 规范可知,DMN 规范的实现者,也会对 PMML 提供支持。如此一来,Activiti 的规则引擎与 Drools 将产生竞争关系。

JBoss 旗下有工作流引擎 jBPM,有规则引擎 Drools,Activiti 本身就是工作流引擎,再加上此次更新所加入的规则引擎,估计在不久的将来,Activiti 在工作流引擎以及规则引擎领域,能与 JBoss 分庭抗礼。

DMN 的 XML 样例

DMN 主要定义决策模型,与 BPMN 规范类似,OMG 发布的 DMN 规范含有对应的 XML 约束。当前版本的 Activiti 实现了 decision 部分,因此本章只讲述 DMN 中的 decision 部分。DMN 的 XML 文档,一般情况下文件名后缀为 dmn。代码清单 15- 1 是一份简单的 DMN 文档。

代码清单 15-1:codes\15\15.1\sample.dmn

带你了解 DMN

代码清单 15- 1 中的 XML 文档,定义了一个 decision 节点,该节点中含有一个输入参数、一个输出结果和两个规则。注意代码清单的粗体字代码,使用了 startsWith 方法,定义了如果参数字符串以“Angus”开头,则触发第一个规则,如果参数字符以“Paris”开头,则触发第二个规则。关于 XML 文档中各个元素的描述,将在后面章节中讲述。

文章转载自 开源中国社区 [http://www.oschina.net]

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计1491字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7959910
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛 NAS-5:飞牛 NAS 中的 Docker 功能介绍 大家好,我是星哥,今天给大家带来如何在...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...