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

Genene Geda ggeda at ghx.com
Fri Sep 6 13:41:02 EDT 2013


The "rules as a service" app I was talking about for option #2 is using spring and it is a RESTful webapp, but dedicated to handle "rules requests".

There is no DRL handled by the "rules service" , the DRL / decision tables resides outside this "rules service" app.

It is a java app devoted to take "rules request" from other applications and has a proxy to GUVNOR and wraps the returned result ( I use JSON) and

Returns to the caller.



So, it is java code can use unit tests .... but only deals with a special task of taking "rules" related request and responses by one or more applications. Architecturally, it is a "Horizontal" layer, serving "Verticals".



I am not quite convinced on the 'single failure' argument .... as reason against option #2.

Yes, architecture determines .... is it to serve one application or multiple?



Genene


From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of adarsh.chaini at hsbcib.com
Sent: Friday, September 06, 2013 11:28 AM
To: Rules Users List
Cc: Rules Users List; rules-users-bounces at lists.jboss.org
Subject: Re: [rules-users] Integrate Drools with Java application, need recommendations

I think it all depends on the architecture and the type of  application and the usage of  rules with in those applications.
Having a separate server adds another single point of failure and latency.

The applications that are very distributed in nature and spread across 100's of JVM's would like the business logic more close to the data present in those nodes/JVM's.

Thanks
&
Regards,
Adarsh

SENIOR LEAD DEVELOPMENT SPECIALIST
SCJP, SCWCD
FINANCE TECHNOLOGY
HSBC BANK PLC HBEU
8 Canada Square,Canary Wharf,
London,E14 5HQ,United Kingdom
------------------------------------------------------
Phone       +44 207914720
Mobile      07595530105
Email.      adarsh.chaini at hsbcib.com<mailto:adarsh.chaini at hsbcib.com>
________________________________

From:

Genene Geda <ggeda at ghx.com<mailto:ggeda at ghx.com>>

To:

Rules Users List <rules-users at lists.jboss.org<mailto:rules-users at lists.jboss.org>>

Date:

06/09/2013 16:22

Subject:

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

Sent by:

rules-users-bounces at lists.jboss.org<mailto:rules-users-bounces at lists.jboss.org>


________________________________



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> [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<mailto: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<mailto:rules-users at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org<mailto:rules-users at lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org<mailto:rules-users at lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users




************************************************************
HSBC Bank plc may be solicited in the course of its placement efforts for a new issue, by investment clients of the firm for whom the Bank as a firm already provides other services. It may equally decide to allocate to its own proprietary book or with an associate of HSBC Group. This represents a potential conflict of interest. HSBC Bank plc has internal arrangements designed to ensure that the firm would give unbiased and full advice to the corporate finance client about the valuation and pricing of the offering as well as internal systems, controls and procedures to identify and manage conflicts of interest.

HSBC Bank plc
Registered Office: 8 Canada Square, London E14 5HQ, United Kingdom
Registered in England - Number 14259
Authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority
************************************************************


************************************************************
HSBC Bank plc may be solicited in the course of its placement efforts for a new issue, by investment clients of the firm for whom the Bank as a firm already provides other services. It may equally decide to allocate to its own proprietary book or with an associate of HSBC Group. This represents a potential conflict of interest. HSBC Bank plc has internal arrangements designed to ensure that the firm would give unbiased and full advice to the corporate finance client about the valuation and pricing of the offering as well as internal systems, controls and procedures to identify and manage conflicts of interest.

HSBC Bank plc
Registered Office: 8 Canada Square, London E14 5HQ, United Kingdom
Registered in England - Number 14259
Authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority
************************************************************


************************************************************
HSBC Bank plc may be solicited in the course of its placement efforts for a new issue, by investment clients of the firm for whom the Bank as a firm already provides other services. It may equally decide to allocate to its own proprietary book or with an associate of HSBC Group. This represents a potential conflict of interest. HSBC Bank plc has internal arrangements designed to ensure that the firm would give unbiased and full advice to the corporate finance client about the valuation and pricing of the offering as well as internal systems, controls and procedures to identify and manage conflicts of interest.

HSBC Bank plc
Registered Office: 8 Canada Square, London E14 5HQ, United Kingdom
Registered in England - Number 14259
Authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority
************************************************************
----------------------------------------- SAVE PAPER - THINK BEFORE YOU PRINT! This transmission has been issued by a member of the HSBC Group "HSBC" for the information of the addressee only and should not be reproduced and/or distributed to any other person. Each page attached hereto must be read in conjunction with any disclaimer which forms part of it. Unless otherwise stated, this transmission is neither an offer nor the solicitation of an offer to sell or purchase any investment. Its contents are based on information obtained from sources believed to be reliable but HSBC makes no representation and accepts no responsibility or liability as to its completeness or accuracy.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130906/f5c87372/attachment-0001.html 


More information about the rules-users mailing list