1

I am relatively new to the concept of rules engines and was trying to work with Drools.

Has anyone already worked this tool before and is it similar to Cognos?

My understanding was that Cognos is a reporting tool and Drools will promote more increased control over the business logic implemented.

Am I on the right track? Any link which would help me differentiate between the 2 would also be helpful.

Thank you.

Wooble
  • 87,717
  • 12
  • 108
  • 131
JJunior
  • 2,831
  • 16
  • 56
  • 66

2 Answers2

1

Cognos is a business intelligence reporting tool. It is meant to query over data sources including data warehouses and data marts, to help provide insight into your data and help you make decisions, view trends, etc. Here is IBM's Cognos product page. Here is a definition of Cognos from Wikipedia which I find helpful.

Drools is a Rete algorithm based Java rules engine that allows you to define business rules within your application and then have your application validate against those rules. Here is its definition from Wikipedia. And here is the Drools community page.

We actually use Drools in some of our applications for client side verification of business rules. And our business is planning on using Cognos (and another tool called QlikView) to do business intelligence reporting over our data warehouses and data marts.

As for how you use Drools, I'd look at the community page. In the version we used (2.0-Beta-10, which was way before Drools was acquired by JBoss) you generally define your rules in XML based files with a .drl extension from what I remember. We use an older version of Drools so it may have changed since then. We also extended Drools in our case so we could write our rules in Java code for run time debugging versus using XML files (since our Business analysts weren't writing the rules anyway).

Hope this helps!

Chris Aldrich
  • 1,904
  • 1
  • 22
  • 37
  • Thank you so much. That was very specific :) – JJunior Sep 20 '11 at 21:06
  • DRL is not an XML format, but a domains specific language. But an XML form of DRL's is also supported. If you do prefer using Java (not recommended), take a look at the new (internal) parser api. It's kinda like the criteria api for hibernate. – Geoffrey De Smet Sep 21 '11 at 08:25
  • For the version we used (2.0 Beta-10), which was back before Drools was acquired by JBoss, the drl was an XML file. But I supposed one could consider it a language. It just wasn't helpful to us, because we couldn't debug why/when a rule didn't execute or executed properly. Hence we built hooks into Drools so we could run our rules as Java code. – Chris Aldrich Sep 21 '11 at 12:48
0

You can use Drools & jBPM5 if your application will define Business Processes and Business Rules. The business rules will allow you to define business logic in a declarative way and the rule engine will allow you to do inferences over the information that you have in your domain. Visiting the community sites and looking for examples will probably help you out to understand how the project look like now and how you can use it. Cheers

salaboy
  • 4,123
  • 1
  • 14
  • 15