论坛首页 Java企业应用论坛

规则引擎实现探讨

浏览 43888 次
该帖已经被评为精华帖
作者 正文
   发表时间:2006-10-11  
jackyz 写道
高手顺手就 ErLang 了一个啊。

感觉FP的东西写这种rule似乎很自然。


恕我愚钝,偶象的那段Erlang代码让我琢磨了好久也没弄完全明白是怎么回事,直至看了Erlang的入门教程,才似乎明白一二。

Erlang表示这样的逻辑相对于Java这类OO语言,确实有其独特的地方。比如那个points/2函数的定义,前件(->前面部分)表示了不同的条件,开始以为那是一个类似java里的函数重载,看了Erlang的语法才知道,Erlang使用了模式匹配来查找函数,相对于函数重载只是在编译期通过参数类型进行静态绑定而言,那可是要灵活得多。

不过这个语法要说自然也只能是对程序员而言的。
0 请登录后投票
   发表时间:2006-10-11  
Jin 写道
plz pay attention to Chordiant Rule Server

好象是比较强大   ,象ILOG这类商业产品一样,其易用性应该是相当好的,可估计不便宜,用不起啊  
0 请登录后投票
   发表时间:2006-10-17  
公司马上也要用普元做全业务开通,如果用上jboss rules挺好的。就怕整合出问题,普元可不负责。以前就有过先例。
0 请登录后投票
   发表时间:2006-10-17  
jxb8901 写道
dada 写道
我使用hibernate在service层一次性把相关记录load进memory,在规则引擎里面进行运算的事实大多是PO,运算结束后flush一下就可以了。在规则引擎中的方法是纯粹的内存数据的操作,不涉及数据库。

如果是实时的交易处理,实际在规则引擎的working memory中只会有少量的对象,这种hibernate与drools结合的使用方式应该还是很好的。
但如果使用批处理的方式进行处理,那在记录数很多的情况下(比如一天的交易记录可能有几十万条),这种方式不知会不会影响规则引擎的计算?

以前在本机用mysql作的批量处理的性能测试里面hibernate与drools处理时间是5:1(100w条记录),下周可能做个hibernate+drools批量处理与sp批量处理的时间比较。
我始终觉得即使大数据量批量处理的性能真的无法满足业务要求,瓶颈也只会存在于hibernate这里。
0 请登录后投票
   发表时间:2006-11-14  
jxb8901 写道
Jin 写道
plz pay attention to Chordiant Rule Server

好象是比较强大   ,象ILOG这类商业产品一样,其易用性应该是相当好的,可估计不便宜,用不起啊  

商业化的产品不便宜是肯定的了,但易用性不一定好。
ozzzz说过的,大体意思:我们有了规则引擎,而哪些业务规则适合抽象出来由规则引擎处理,规则引擎和业务系统的交互方式是主要问题。
0 请登录后投票
   发表时间:2006-11-23  
我对规则引擎这块儿 玩过一些

从 jess 到 drools 2.x 到 jboss rules 再到 Oracle Business Rule

工作重点就是 做 自动核保的规则引擎。给我个人的感觉是 理论很成熟,应用较浅显。

因为公司主要用的是 Oracle 的产品 自然 我选择的是 Oracle Business Rule

和 jboss rules 相比, 它的亮点不多 没有 灵活的dsl影射,没有决策表。没有eclipse的plugin

唯一的亮点就是 有一个基于web的规则编辑器。但这不足的是。其所谓的支持版本 但在这个编辑器中 根本无法更换 规则中所用到的 java事实类。

jboss rules 宣称的是 支持 三种类型的事实,JAVA ,xml schema, RL(它 自己的 规则语言)

个人感觉 不是太好用,但也得 硬着 头皮上 自己在rule sdk上重写了一套规则编辑的方式。一些复用,自动化等等东西都有了些解决。

重点有两点:一方面提供易用简单,基于web的工具,着重在复用 部分模式 (有点 aspect的意思)
二 通过 文档转换 用drools 的 dsl 给这里提供 dsl的支持。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics