[rules-users] Creating drools rules porgramatically?

Mark Proctor mproctor at codehaus.org
Wed Jun 17 14:53:49 EDT 2009


Malay Shah wrote:
> Thanks for the response Dave. I see that a template engine like
> XSLT/FreeMarker would surely help in this case, but am still interested in
> knowing about the API to understand how I could model the rules in DB and
> make sure that I don't loose any flexibility by storing rules in DB.
>   
There is the Desr api, that is built by antlr. We have no plans to 
document that though, and it's not a stable api and thus subject to 
change. It is however straight forward and easy to reverse engineer as 
you can just parse stuff yourself and check the Descr tree that it 
builds. There is a lower level api, around rule/spi, which is after the 
build stage, which I've heard a few people are targetting - but that 
really is just for crazy people :)

My recomendation is by all means build and persist your own object 
structures but use a templating approach to render that structures to 
DRL. I would use the MVEL templating engine as it's both faster and more 
powerful than FreeMarker or Velocity and you already have MVEL as a 
dependency of Drools.
http://mvel.codehaus.org/MVEL+2.0+Templating+Guide

Mark
> Regards,
> Malay
>
>
> David Cracauer wrote:
>   
>> Malay,
>> We've been doing something similar to what you are asking for, but using
>> the rule syntax as an intermediate step.  We have a datamodel that users
>> can use to
>> express the rules, and we have a templating engine that turns that into
>> the drools syntax.  This then gets compiled into packages and built into a
>> rule base.  This has worked rather well for us, as it allows us to make
>> updates to logic on the fly by changing the templates.
>>
>> --
>> Dave
>>
>> -----Original Message-----
>>     
>>> From: Malay Shah <malay.shah at morganstanley.com>
>>> Sent: Jun 17, 2009 12:36 PM
>>> To: rules-users at lists.jboss.org
>>> Subject: [rules-users] Creating drools rules porgramatically?
>>>
>>>
>>> Hi,
>>>
>>> I am looking to create the drools Rule objects programatically, and I
>>> believe there is API to do that in 4.0.7. But, the API looks complex and
>>>       
> the
>   
>>> documentation is not sufficient. Could anyone please point me to some
>>> examples of doing this? I basically don't want to write rules in .drl
>>>       
> files,
>   
>>> but have a database store the rules and make them strongly typed (by
>>> generating Rule Objects directly from DB). Any help is much appreciated.
>>>
>>> Thanks
>>> Malay
>>>
>>> -- 
>>> View this message in context:
>>>       
> http://www.nabble.com/Creating-drools-rules-porgramatically--tp24077426p24077426.html
>   
>>> Sent from the drools - user mailing list archive at Nabble.com.
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>       
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>     
>
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090617/8067a4c3/attachment.html 


More information about the rules-users mailing list