So you have 2 different answers, and neither of us provided performance as a reason for
our choices. :)
I should point out that I also prefer to have rules services (both REST and SOAP), which
keep business logic separate from front-end applications. I just prefer to build Spring
web apps and use the API to build the knowledge base and evaluate rules, rather than using
Drools Server. I like the control it gives me. I also find that there are a lot of things
that can be done more reliably, outside the rules code. For one thing, unit testing Java
code is much easier than testing DRL or decision tables. This way I am able to pick and
choose as I go, whether Java code is the easiest/simplest/fastest way to solve a
particular problem, or DRL.
Steve
On 6 Sep 2013, at 16:21, Genene Geda <ggeda(a)ghx.com> wrote:
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(a)lists.jboss.org [mailto:rules-users-bounces@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(a)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(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users