[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