<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>hocus</title>
    <description></description>
    <link>http://hocus.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>答复: 关于规则引擎在企业项目中的使用</title>
        <author>hocus</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hocus.javaeye.com">hocus</a>&nbsp;
          链接：<a href="http://hocus.javaeye.com/blog/161022" style="color:red;">http://hocus.javaeye.com/blog/161022</a>&nbsp;
          发表时间: 2008年02月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="quote_title">roger_xl 写道</div><div class="quote_div">规则引擎的出现使得商业决策逻辑和应用开发者的技术决策分离,增强了软件的柔韧性. Java规则引擎项目 Drools 被设计为可插入式的语言实现。目前规则能用Java, Python和Groovy实现。更为重要的是，Drools提供了声明式程序设计(Declarative Programming),并且使用域描述语言(Domain Specific Languages (DSL))－专为你的问题域定义了某种模式的Xml, 它已经足够灵活到可以用来描述你的问题域。DSLs包含的XML元素(Element)和属性(Attribute)代表了问题域中各种要素。 <br /><br />规则引擎有两种方式.一种是解析执行的方式,就是解析规则包文件,根据规则包中定义的逻辑解析执行.另一种方式是编译执行,就是直接将规则包文件中的逻辑编译成可执行的字节码,通过调用执行.<br /><br />有人在项目中使用过Drools吗, 如果自己实现规则引擎, 具体该考虑哪些因素呢. 请使用过的朋友过来讲讲. 目前一般项目中有哪些使用规则引擎的例子.</div><br /><br /><br />基于rate的高效算法已经有现成的产品了：开源的是drools，商用的有ilog。<br />自己实现引擎？！你就能写的比它们还好？<br />不是一句两句说的清楚，简要提一下，还是要自己多看文档<br />规则引擎的适用场合：<br />规则引擎适用于规则会被 业务人员频繁修改的；规则需要被抽象的；规则复杂无法用常规方式解决或不好解决（比如排课，排位）<br />不合时宜的引入规则引擎到系统内，只会给自己找麻烦，增加培训费用和后期支持的痛苦。<br /><br />理解规则引擎的适用范围和真实需求，衡量是否使用是重要的第一步，当然多数情况是拍板的人其实不懂找个<br />抽象 业务模型和规则模型，并在其间建立映射，业务模型将面对最终业务人员，规则模型为了matchdrools<br />定义业务规则，归类，制定规则流程<br />选用合适的drl，其实默认的就不错<br />实现自己的BRMS，drools自带的那个未免太太简陋了些<br />drools 目前的ruleflow功能很薄弱，但flow确实是很重要的功能
          <br/>
          <span style="color:red;">
            <a href="http://hocus.javaeye.com/blog/161022#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 01 Feb 2008 16:16:31 +0800</pubDate>
        <link>http://hocus.javaeye.com/blog/161022</link>
        <guid>http://hocus.javaeye.com/blog/161022</guid>
      </item>
  </channel>
</rss>