J2EE应用中的应用框架不计其数,通用的框架能够解决常用的系统架构的客户端与服务器端的功能,如何组织企业应用中的业务逻辑,仍必须靠手工的代码来解决。随着大量业务规则的变化,导致应用程序不停的变更,如果能找到一种解决商业逻辑的架构,来解决当商务规则不停的变化时,可以保证我们的应用系统具有较好的柔韧性,可以适应特定的商务规则的变化,而无需修改我们的应用系统。Drools就是这样的一个应用在商务逻辑层的架构。
Drools 被设计为可插入式的语言实现。目前规则能用Java, Python和Groovy实现。更为重要的是,Drools提供了声明式程序设计(Declarative Programming),并且使用域描述语言(Domain Specific Languages (DSL))-专为你的问题域定义了某种模式的Xml, 它已经足够灵活到可以用来描述你的问题域。DSLs包含的XML元素(Element)和属性(Attribute)代表了问题域中各种要素。
Jboss的Drools是一款开源的业务规则引擎,关于业务规则引擎在国内的应用案例好像不是很多。有没有应用过Drools规则引擎的朋友,可以具体谈谈。