[rules-users] Integrate Drools with Java application, need recommendations

Genene Geda ggeda at ghx.com
Fri Sep 6 11:21:13 EDT 2013


My preference is option #2 - REST based
Why? That way you will have "rules as a service" and you can serve more than one application.
Your interface to the GUVNOR repository would be from this "rules service" server instead of each application duplicating the same code.

I am building "rules service" as a horizontal for all applications to use it when they need it. In multi-applications environment, standing "rules as a service" is in my opinion - the best solution. 

>From the limited test I did, the cost of invoking these RESTful "rules services" is minimal than the cost to call GUVNOR to load the knowledge base.
So if you are using GUVNOR as a rules repository ( which is a key requirement to achieve separation of "business rules/ logic" from application code base - and to gradually engage the business analysts to fully or partially own rules authoring) .... from my limited experience so far, option #2 is the best approach.

Let's know what you decide eventually and the challenges / opportunities ....

Genene 

-----Original Message-----
From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Stephen Masters
Sent: Thursday, September 05, 2013 6:00 PM
To: Rules Users List
Subject: Re: [rules-users] Integrate Drools with Java application, need recommendations

My preference is option 1 ... using a Spring application with a class which wraps a knowledge base / session. This has the advantage that sometimes I really do want to be able to mix up rules results with logic that I want to implement in Java code.

There's obviously a performance impact if you additionally marshall to a separate Drools server, but not a huge amount. The decision should be more about whether you expect all business logic to be implemented in the Drools rules or a combination of rules and business logic code. 

Steve


On 6 Sep 2013, at 00:15, srikanthmalli <srikanthmalli at gmail.com> wrote:

> Hi,
> 
> I am trying Drools/Guvnor for very first time, we are planned to do 
> Rule Authoring in Guvnor, compile, build and download the package to 
> "Rule Package Directory".
> 
> Now the question I am having is, what is the best way to integrate 
> Drools with our Java application?
> Option 1) Build the knowledge agent and start inserting the facts into 
> memory for rule evaluation in our application. In this case Drools 
> engine use JVM same as application JVM.
> Option 2) Have a Drools Server which builds the knowledge agent, and 
> application can send the requests to Drools Server for rule evaluation 
> using REST API. Rules will be executed in separate JVM than application JVM.
> 
> I also wondering is there any performance (in terms of execution time) 
> difference between the options mentioned above?
> 
> Could you please also let me know if I am thinking in the right direction?
> 
> -Sri
> 
> 
> 
> --
> View this message in context: 
> http://drools.46999.n3.nabble.com/Integrate-Drools-with-Java-applicati
> on-need-recommendations-tp4025834.html
> Sent from the Drools: User forum 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



More information about the rules-users mailing list