锁定老帖子 主题:学习集成和使用Drools 3 问题和求教
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-21
Godlikeme 写道 drools文档中明确指出 不赞同在rule中调用工作流。rule只做一个决策节点。
在lhs动态eval是很低效的,rete匹配树要重新生成,是rule engine中最重量级操作之一。 调用a.getAbc() 只是一个很简单的去参数的方法,跟工作流没有关系。 eval只需要编译一次,后面的根本不浪费时间,我测试下来 都是 0ms ,搞得我挺纳闷的...不过 加上数据库存取就有 15ms 了。 |
|
返回顶楼 | |
发表时间:2007-04-21
Godlikeme 写道 我一直想问一个问题,在这个系统中,rule engine的end user是谁,在我看来end user是开发人员。而就我所理解,rule engine的商业价值在于其能够让系统开放接口给非技术的业务专家,通过业务专家制定业务规则来决定系统行为。
对的,如果业务人员能定义自己的规则就完美了,问题是现在没有开源实现,路要一步步走 |
|
返回顶楼 | |
发表时间:2007-04-21
Godlikeme 写道 我一直想问一个问题,在这个系统中,rule engine的end user是谁,在我看来end user是开发人员。而就我所理解,rule engine的商业价值在于其能够让系统开放接口给非技术的业务专家,通过业务专家制定业务规则来决定系统行为。
你说的是理想状态。目前,即使是像ilog这样的成熟产品,也不能直接提供给业务人员来完全定制。 drools就目前的3.1m1来看基本达到了可堪使用的要求。然而在易用性上还有所不足(针对开发人员),要达到你说的要求还是前路漫漫。当然Rule engine的商业价值不完全如你所说,“用简单的方式完成复杂的逻辑”也是它的竞争力所在,电信的计费系统就是很好的例子。 |
|
返回顶楼 | |
发表时间:2007-04-22
Godlikeme 写道 我一直想问一个问题,在这个系统中,rule engine的end user是谁,在我看来end user是开发人员。而就我所理解,rule engine的商业价值在于其能够让系统开放接口给非技术的业务专家,通过业务专家制定业务规则来决定系统行为。
规则大家都明白,但是要变成规则语言的合理描述。个人感觉能有这种水平的用户是少之又少,想用好这个规则用法个人感觉一般都有软件方面背景。新的程序员都不一定会按规则方式思维。我目前对这个东西的定义是降低复杂度(开发和项目人员业务描述难度),还远远达不到给客户用的水平 |
|
返回顶楼 | |
发表时间:2007-04-22
dada 写道 “用简单的方式完成复杂的逻辑”也是它的竞争力所在,电信的计费系统就是很好的例子。
我也是从这个认识开始接触Drools的,呵呵。现在我也很喜欢Drools引擎实施编译的灵活性 |
|
返回顶楼 | |
发表时间:2007-04-23
eyejava 写道 Godlikeme 写道 drools文档中明确指出 不赞同在rule中调用工作流。rule只做一个决策节点。
在lhs动态eval是很低效的,rete匹配树要重新生成,是rule engine中最重量级操作之一。 调用a.getAbc() 只是一个很简单的去参数的方法,跟工作流没有关系。 eval只需要编译一次,后面的根本不浪费时间,我测试下来 都是 0ms ,搞得我挺纳闷的...不过 加上数据库存取就有 15ms 了。 第一个问题:不是说的一件事,我说的是 rule.createflow().. 第二个问题:不知道如何做的测试,问题关键不在eval的过程,eval要重新构造reteoo,不知道3.1的实现是如何优化的。 |
|
返回顶楼 | |
发表时间:2007-04-23
eyejava 写道 Godlikeme 写道 我一直想问一个问题,在这个系统中,rule engine的end user是谁,在我看来end user是开发人员。而就我所理解,rule engine的商业价值在于其能够让系统开放接口给非技术的业务专家,通过业务专家制定业务规则来决定系统行为。
对的,如果业务人员能定义自己的规则就完美了,问题是现在没有开源实现,路要一步步走 不是没有,只是不是太好,离终极目标有差距,ilog做的还算可以,主要问题是用起来很蹩脚,客户化也很难弄,webui功能太差。多数都是根据具体业务需求定制。 |
|
返回顶楼 | |