在软件行业里面,规则引擎作为基础软件的一种,也是属于比较神秘的一种存在,这不是说出来大家都能了然的一款产品,甚至有很多的IT人,在听到这个词的时候,表现出来的也是一头雾水,“什么是规则引擎?”通常都会听到这样的问题。我记得在一次展会上,一个客户问规则引擎是什么?技术人员跟他聊了半个小时也没把他说明白。
我不是玩技术的,所以对于规则引擎的一些代码表现形式并没兴趣,当然,最重要的是我根本看不明白那些密密麻麻的玩意,让我头晕。我还是从最简单表达方式来说说我自己的理解吧。
规则引擎,从字面上面理解,就是规则的引擎,就像一款发动机,驱使规则,让规则更快实现,更快表达,还不懂?别急!
这么说吧,在任何一个系统里面,都有无数的规则,系统是为了让我们更好的处理工作,所以,存在着很多我们实现预设好的规则和思路,假如,我在系统里输入“1”,那么得出的结果就是“2”,假如我在发布新闻的时候,设置的时间是“2017年11月17日上线”,那么这篇新闻必须要等到这个点才能自动发出。这就是规则的一种,也可以说是一种功能实现,这些可以理解为硬规则,因为不需要改变,输入1得2,输入2得4,是一个翻倍的计算方式。
再说一个,假如银行在对信用卡申请数据做审批的时候,有一条规则—如果申请人满35周岁,则增加5分,这个就很容易理解,少于35周岁,就不加呗,但是问题来了,银行需要改变策略—申请人满35岁且已婚,加5分,满35周岁未婚,加3分。这就涉及到一个问题,程序员必须从后台来进行设置,对系统规则进行修改。可是,这仅仅只是一个简单的规则,在一些行业,可能随时都会发生规则的变化,政策法规改变了、营销套路更新了,这些都会驱使规则必须及时修改,如果只靠程序员来操作,费时、费力,极大增加了控制成本。这个时候,如果上了规则引擎,事情就很好办了,打个比方,我只要在规则编辑器里,增加一条规则—申请人满35岁且已婚,加5分;申请人满35岁且未婚,加3分。这就搞定了,甚至不需要IT参与。这就是规则引擎,降低系统更新成本,快速进行规则管理。
那有人说了,现在的规则引擎如ODM(ILOG),drools这些比较常见的,还是得技术员来操作,还是得依靠IT不是?而且学习曲线也高呀!业务人员能做到吗?当然可以,现在的规则引擎不仅汉化,在规则管理上web化,规则拖拽管理,添加规则,只要在可视界面按照添加流程就可以操作,就像注册账号一样简单,旗正规则引擎就是比较典型的一款,不过是商业的,如果想要了解,可以下载免费版试试。