NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

统一的规则引擎与过程

  • 2007-11-21
  • 本文字数:1105 字

    阅读完需:约 4 分钟

(工作流)商务过程管理系统与规则引擎携手并肩而来。过程定义语言(例如 XPDL Colored Petri Nets Pi-Workflow 或者 jPDL )用来在相对粗级别的抽象层次来描述一个过程。规则用来在工作流的上下文基础之上实现决策,例如决定谁来负责一个项目,当一个活动完成时应该通知谁,或者当一个活动拖延了应该做什么。

今天, JBoss Drools 团队的 Mark Proctor 和 Kris Verlaenen 发表了一篇文章:对使用工作流和规则进行声明式编程的看法。文章以 Mark 描述的工作引擎的下一个主要优势为开端:

当 前规则引擎业界的“惯用伎俩”是关注于无状态的决策服务,分离的工作流引擎在某些时候调出分离的无状态的规则引擎来辅助决策工作 —— 在经过了 30 年的研究与开发后,这是我们能够提供的最好的方案。数百万英镑的许可证无非是从一些工作流引擎的一个无状态 web service 调用而得到的美化的电子表格。不是贬低这个模型,实际上这个模型是非常有用的,但是规则引擎与工作流引擎在这种级别的集成最多只是表面上 的,而我们需要统一这些模型,使得这个模型达到更高的层次。

这篇文章是基于 jBPM 团队以前发表的一篇论文,该论文中的说法是"过程虚拟机(Process Virtual Machine)" (PVM)。概括地说,对于工作流来说PVM 就像对于Java 来说的字节码 —— 是一个独立于过程定义语言的过程执行引擎。Kris 介绍了 PVM+ 与规则引擎集成并与过程执行环境一起提供如下的优点:

  • 可以在过程定义中对规则建模
  • 可以在规则和过程之间共享数据(包括结构定义)
  • 统一审计
  • 简化了管理功能
  • 规则和过程的实例可以通过共享的上下文并行的对变化作出反应

PVM+ 是以过程为中心的 DSLs 的基础。Kris 例举了现有的 jBPM 语言 jPDL,与我们最近介绍的 PageFlow (在 web 页面中指定控制流的工作流语言)和 RuleFlow (一种处理有大量规则的流程的工作流语言) 一同作为样例实现语言。


Drools 4.0 规则引擎图

Kris 探讨了“工作条目处理器”的作用,它是负责执行处理实例的。Kris 对于依赖上下文采用不同的处理器的想法很感兴趣。这种方法可以用来克服一个由来已久的对基于规则和工作流的开发的批评——即难以测试:

一个工作流在它的生命周期的不同阶段会有不同的行为。例如,对于测试,处理器可以仅仅是简单的测试工作流的执行是否被记录了。在仿真时,做一些对某些应该被执行的工作条目的可视化工作,使得人们可以仿真完成 / 放弃这些工作条目。

查看英文原文 Unified Rules Engine and Processes - - - - - -

译者简介: 曹云飞,西安交通大学计算机软件硕士。现就职于 Ethos ,热衷于新技术的钻研,软件架构与敏捷开发,目前从事 Home Control 方面的工作。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com

2007-11-21 05:332998
用户头像

发布了 47 篇内容, 共 99712 次阅读, 收获喜欢 3 次。

关注

评论 2 条评论

发布
用户头像
机器翻译的?
2021-07-14 09:33
回复
用户头像
机器翻译?
2021-07-14 09:33
回复
没有更多了
发现更多内容

使用 ProcessBuilder API 优化你的流程

快乐非自愿限量之名

数据库 框架开发 开发语言 process

【FAQ】关于华为地图服务定位存在偏差的原因及解决办法(二)——仅适用于Location 6.7.0.300及之后的版本

HMS Core

HMS Core

一套管理工具构建敏捷、多维、高效的全面预算管理

用友BIP

全面预算

重新初始化k8s集群

tiandizhiguai

云计算 云原生 k8s

报名开启!2023大模型应用创新挑战赛来啦

飞桨PaddlePaddle

人工智能 百度 paddle

opencv目标检测之canny算法

高端章鱼哥

OpenCV

视觉系统对自动驾驶至关重要|数据堂

来自四九城儿

手把手教你实战TDD

快乐非自愿限量之名

TDD 开发框架

软件测试/测试开发丨Git常用命令学习笔记

测试人

git 程序员 软件测试 测试开发

什么是算力网络

天翼云开发者社区

云计算 边缘计算 算力网络

分享一个在Reddit上保存视频到手机相册的办法真的YYDS!reddit video downloader!

frank

跨架构平台在云计算中的应用

天翼云开发者社区

云计算 架构

纵横贯通的全面预算管理体系,从这里开始!

用友BIP

全面预算

修改SD WebUI为kitchen-theme

IT蜗壳-Tango

云原生时代数据治理的变革与创新

酷克数据HashData

Serverless函数计算介绍

天翼云开发者社区

云计算 函数计算

【直播预告】HarmonyOS极客松赋能直播第二期:数据库与网络连接开发

HarmonyOS开发者

HarmonyOS

探秘AI算力革命与低代码平台:引领人工智能狂潮

不在线第一只蜗牛

低代码 数智化 AI算力

低代码可视化开发,在线拖拽组件也太方便了!

这我可不懂

低代码 低代码平台 可视化开发

聊聊信仰的力量

互联网工科生

程序员 信仰

一文梳理清楚低代码开发平台

高端章鱼哥

低代码 低代码开发平台 可视化开发

软件开发不需要会编码,谈谈我的开发捷径

互联网工科生

软件开发 低代码 开发

低代码平台的核心能力有哪些?

力软低代码开发平台

焱融构建多云数据存储平台 重塑云中数据活力

焱融科技

文件存储 高性能存储 #分布式文件存储

Web3架构之思 - Direc Exhcange Mesh 项目介绍(一)

Joe

Web 3.0 分布式结构 多运行时

聊聊缓存世界的扫地僧

勇哥java实战分享

看数智底座如何助力大型车企向世界一流汽车企业迈进

用友BIP

数智底座 Pass平台

前端文件上传的几种交互造轮子 | 京东云技术团队

京东科技开发者

前端 Vue3 文件上传 文件上传下载 企业号 6 月 PK 榜

[Paddle] ERNIE-Layout 使用测试 - 文心多语言跨模态布局增强文档智能大模型

alexgaoyh

paddle engine-layout 电子文档 提取

千亿资产去哪了,资产管理如何摸清家底?

用友BIP

资产云

低代码开发平台:解锁无限创新,演绎科技新奇

EquatorCoco

低代码 科技创新

统一的规则引擎与过程_Java_Gavin Terrill_InfoQ精选文章