应该用BPM管理业务规则吗?

本文探讨了业务流程管理系统(BPM)和业务规则管理系统(BRMS)之间的争论,指出两者各自的优势和局限性。BPM擅长处理长时间运行的事务,而BRMS在处理即时决策和策略上更有效。作者建议找到两者的平衡点,根据流程和策略的复杂性来决定何时使用BPM,何时使用BRMS。关键在于理解和识别流程中的决策点以及这些决策如何随时间和策略变化而变化。
摘要由CSDN通过智能技术生成

 

文章发布于公号【数智物语】 (ID:decision_engine),关注公号不错过每一篇干货。

 

 

 

作者 | Carole-Ann Berlioz

译者 | Teki.D

 

MarkNorton 评论了我的算法文章,并启发我写了这篇关于 BPM 和业务规则的后续文章。

 

自上世纪90年代末以来,一直存在一个争论,到底应该实施业务流程系统还是实施业务规则系统……这么多年过去了,似乎辩论双方已经明确了两种系统的定位,明确了两种系统的协作方法,但我看到很多人对此问题依然是困惑的。

 

 

只用BPM系统?只用 BRMS系统?

 

BPM系统供应商主张,业务流程系统既能管理路由分支也能管理策略规则。BRMS系统供应商则表示,规则服务既可以定义策略逻辑(即规则)也可以定义策略包的执行顺序(即规则流)。简而言之,双方都认为只需要使用一种工具即可,但在使用哪一种上意见不一。

 

 

只用BRMS系统的问题

 

 

反对“只用BRMS系统”的观点,并不需要太多论证……如果您手头的流程需要运行很长时间,不是那种即时运行、即使响应的同步交易时,BRMS的规则服务将给您带来麻烦。长时间运行的事务会在某个地方暂停并挂起。它可能是在等待人工的输入,或者是对机动车辆管理局或信用局等远程系统的异步调用,或者仅仅是一个失败的调用,正停在那里等待您的处理。您会希望此类事务在继续处理之前,能正常地、耐心地等待。

 

BRMS系统的问题在于,BRMS的规则服务不适合耐心等待。为了实现耐心等待,某些软件工程师会将规则服务部署为有状态的服务。经过小心设计,可以像状态机那样使用无状态服务- 在无法使用BPM的情况下,我们也曾经这么做过几次。当然,不是很多人喜欢这种设计。

 

这里有一个类比可以帮助大家理解问题。环法自行车赛中充满了决策- 谁能得到黄色领骑衫?谁会得到波尔卡圆点衫?服用多少兴奋剂才算过量?也就是说,整个比赛是一个长时间运行的流程(环法自行车赛需要进行20多天)。您可以使用规则服务,基于业务规则来判断下一段赛程前往哪里,但规则服务对系统奔溃是无能为力的,您必须精心设计系统,持续地归档比赛进程数据。

 

 

只用BPM系统的问题

 

BPM系统在调度服务和系统方面做得很好。BPM系统可以很好的处理长时间运行的事务。BPM的困难来在于流程中包含的各种策略。

 

当策略变得有些复杂时,如果使用BPM,您会在流程中不停的添加分支。这没什么大不了的。直到它变得根本不可管理:太多的链接,太多的节点。在一堆意大利面条式的链接中,BPM展示的可视化流程毫无意义。

 

伦敦著名的交通信号灯就是一个完美的例子。一个交通信号灯非常简单,就连我三岁的孩子也早就明白了: 绿灯走,黄灯减速,红灯停。问题是,随着复杂性的增长,当您面对几十个“简单”的交通信号灯时,您就会感到困惑。当简单的节点和链接成倍增加以创建一个像伦敦的交通信号灯一样混乱的网格时,也会发生同样的事情。

 

 

诀窍是找出界限在哪里

 

您需要找到流程和策略之间的平衡点。仔细思考以下部分:

 

  • 整个过程会涉及到哪些系统和人员,会有哪些关键节点和里程碑

  • 哪些决策会随着法规或竞争战略的变化而不断变化

 

它们会以不同的速度变化,会有不同的约束条件,会属于不同的利益相关者。当您全身心投入工作,仔细思考以上内容,找出界限,找到平衡点并不那么困难。

 

原文链接:

https://www.sparklinglogic.com/business-rules-in-or-out-of-bpm/

 

 

风鸟企业负面信息免费查询平台:http://www.riskbird.com

 

数智物语征稿启事.png

 

星标我,每天多一点智慧

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值