Drool-Business Logic Framework
J2EE应用无限制的分层,各种框架层出不穷,设计模式经久不衰,就是为了设计更合理,合理的目的是为了松耦合高内聚,而大家在经典的J2EE3层架构中,持久层 表示层 业务逻辑层中,表示层与业务逻辑层的分离也是讨论很多,就是为了Business Logic的重用。很简单,你的业务层能够适应Java Web Start和Browser两种client么?而因为业务逻辑是核心,如果不解耦,它的变化将直接导致表示层 持久层的变更。
长久以来,大家虽然最关心的是业务逻辑,但是,持久层 表示层框架确是最丰富的。大家似乎习惯于让技术人员或者拥有业务能力背景的高级技术人员拿到需求然后用JAVA code来描述那复杂多变的业务逻辑。虽然目前俺忙于SAP,但是对java一直在关注,最近从SpringSide了解到了Drools这个我Rule Engine,我称它为Business Logic Framework. 因为它使用非JAVA code 而是DSL(Domain-Specific Language)来描述容易变化的商业的规则。不需要冗长的java代码,不需要变更后的编译 打包 部署。讲商业规则抽取出来,嗯,似乎有持久层里iBatis的味道(SQL抽取出来)。
以前草草的浏览了一次Drool 那个时候是版本2,商业规则要配置在XML里面,我感觉很郁闷,很不直观,也有点麻烦。Drool被JBOSS收购以后产生了大的变革,现在Rule写起来就像一种自然语言与计算机脚本语言的结合,快捷,明了。
废话不多了,大家先看一看Drool的介绍,这个介绍是针对Drool2的,不过可以看出来Drool的目的和用途了。
我的好朋友差沙最近也开始写blog,他介绍了一篇Drool3的,大家可以看到Drool3的变革。
您应该迫不及待去把自己的商业规则抽取出来了吧
长久以来,大家虽然最关心的是业务逻辑,但是,持久层 表示层框架确是最丰富的。大家似乎习惯于让技术人员或者拥有业务能力背景的高级技术人员拿到需求然后用JAVA code来描述那复杂多变的业务逻辑。虽然目前俺忙于SAP,但是对java一直在关注,最近从SpringSide了解到了Drools这个我Rule Engine,我称它为Business Logic Framework. 因为它使用非JAVA code 而是DSL(Domain-Specific Language)来描述容易变化的商业的规则。不需要冗长的java代码,不需要变更后的编译 打包 部署。讲商业规则抽取出来,嗯,似乎有持久层里iBatis的味道(SQL抽取出来)。
以前草草的浏览了一次Drool 那个时候是版本2,商业规则要配置在XML里面,我感觉很郁闷,很不直观,也有点麻烦。Drool被JBOSS收购以后产生了大的变革,现在Rule写起来就像一种自然语言与计算机脚本语言的结合,快捷,明了。
废话不多了,大家先看一看Drool的介绍,这个介绍是针对Drool2的,不过可以看出来Drool的目的和用途了。
我的好朋友差沙最近也开始写blog,他介绍了一篇Drool3的,大家可以看到Drool3的变革。
您应该迫不及待去把自己的商业规则抽取出来了吧




