问题描述
请问大家,我们公司在开发一套复杂的系统,前期业务逻辑不能准确确定下来,而且开发过程中,业务需求变化也是会有的。这种情况下,应该结合工作流引擎还是规则引擎来开发?我对这两个引擎都不是很熟悉,只是有个概念性的理解,工作流引擎一般用于逐级审批,规则引擎没有用过。
解决方案
解决方案二:
工作流引擎现在演化为业务过程管理,最基本的概念还是业务过程的流转,而业务规则侧重业务逻辑的控制,比如零售行业的价格规则,它会针对客户商品/品类地理位置等设计一个非常复杂的价格管理体系;与业务规则非常紧密的是事件引擎,比如政府部门的应急处理系统;业界都有很出名的软件和这些概念匹配,比如IBM、oraclesapSG等,目前市场份额方面,IBM处于绝对垄断地位,它的产品分别叫IBMBusinessProcessManager和IBMOperationalDecisionManager(规则与事件)
解决方案三:
这两种类型的软件并不能完全解决管理软件的灵活性,比如一个企业的组织架构、财务的多账号、产品信息管理、多语言、多渠道销售订单等等;这些软件在SAP、Oracle解决的比较好,以OracleE-BusinessSuite/OracleFusionApplication为例,它有一套非常灵活的组织架构设计,单单解释软件采用的组织架构文档就有近100也,这还不包括人物操作部分,仅仅是概念。
解决方案四:
工作流引擎主要是通过流程引擎来驱动业务的流转的,适合业务过程已经固定下来或比较明确。规则引擎说白了,就是对业务一些特殊算法的封装,不过将它们以规则表达式的形式提出来,放到前端,可以定义和修改。在工作流中,也有自己的规则引擎,一般是路由或者流转等进行各类条件判断时用到。
时间: 2024-10-14 16:17:59