Drools施用的一点感受
Drools使用的一点感受
两个东西完全不冲突,还可以一起很好的工作,典型的使用:工作流是协同人和人,规则则是在一个步骤下对业务规则描述和执行
ex: 填写请假单,流程负责处理那个环节谁来填,单据上某个步骤必须填什么,怎么填,有什么反应就是规则了
使用了一段时间Drools,给我感觉很不错,当然,规则匹配很爽,让我觉得更爽的就是可以把所有的业务耦合的东东都写在这里。规则,HQL,Script,Java代码能做的都能做,还能随时想换就换,但是也有很明显的缺点,Eclipse IDE内提供的功能太弱,又回到了无法调试,很难检查的时代。支持的数据类型也少了点 OO 之间调用还成问题,总的说来,还行,个人总结一下优点缺点,打算彻底集成到项目中应用测试一次,再来写感受
优点:
- 人工智能,不是吹的,解决很多业务规则非常爽
- 可随时替换,改规则简直就是Pice of Cake,很大程度解决了用户需求不断的情况
- 完整的Java能力,轻松集成Hibernate,JBPM以及自身业务递规调用,串联调用
- 提供给客户良好的界面,客户很容易搞清楚规则(DSL自然语言)
缺点:
- Eclipse IDE 编辑功能有点差,很多东西得先死背
- 无法调试,昏死阿,一个小错误弄死人
- 性能令人怀疑,规则匹配的内容如果在数据库中,真不知道会不会反复查数据库,如果是,没法直接用
总的说来,是一个让代码松耦合的好方法,基本上,类似劳动只需要调整Rule了。模型在界面装入以后,放一个规则名字,一切都搞定了 这样我的业务层也几乎通用了。。 进一步做段时间再来看看问题
1 楼
流浪者
2007-03-29
可以用jboss的eclipse整合版
2 楼
yiding_he
2007-03-30
我想了解它和工作流之间有什么区别。
3 楼
sonic_yj
2007-03-30
yiding_he 写道
我想了解它和工作流之间有什么区别。
两个东西完全不冲突,还可以一起很好的工作,典型的使用:工作流是协同人和人,规则则是在一个步骤下对业务规则描述和执行
ex: 填写请假单,流程负责处理那个环节谁来填,单据上某个步骤必须填什么,怎么填,有什么反应就是规则了