rnd*_*gen 9 workflow business-process business-rules
在谷歌和维基百科进行一些搜索之后,我仍然无法获得关于BRMS(业务规则管理系统)和BPM(业务流程管理)/工作流系统之间"差异"的清晰图像.
这两个概念可以相互做同样的事情吗?(理论上)"规则"也可以建模为"过程".不是吗?
业务规则管理系统
BRMS(由ILOG销售的类型)允许您设置一组规则并使用诸如Rete之类的算法根据条件进行匹配,生成断言(可以依次与其他规则匹配)或采取基于操作的行为这些规则.这些可以嵌入到应用程序中,用于支持可配置的业务逻辑.
业务流程管理系统
甲BPMS(如MS工作流基础或任何一种BPEL市场上引擎)步骤通过在工作流中一系列阶段的应用程序.这些阶段可以分配给不同的人.BPMS可以使用嵌入式BRMS来决定指向工作流的位置.例如,ILOG创建了一个插件,允许其规则引擎与MS Workflow基础一起使用.
两者的区别
基于规则引擎的应用程序使用嵌入式规则引擎(BRMS),其具有读取其正在使用的数据记录的机制,并挂钩由应用程序执行的规则引擎所指示的动作.它可以(例如)读取XML DOM,基于DOM内节点的内容进行匹配,并将断言记录为其他节点.其他API也是可能的.应用程序还可以注册回调,其中匹配可以触发规则引擎在应用程序中调用回调的操作.
工作流感知应用程序将在工作流引擎中定义的过程的控制下向一个或多个用户呈现不同的屏幕.此引擎可以位于应用程序外部,工作流可以跨多个应用程序跳转.工作流引擎还可以管理不能直接参与分布式事务的应用程序的显式补偿回滚和错误处理.
这两个项目并不相互排斥.可以使用具有嵌入式规则引擎的工作流程识别应用程序.还可以使规则引擎驱动业务逻辑并在工作流中实例化或做出分支决策.正是出于这个原因,许多工作流程管理器都带有规则引擎.