1

For the last few months my company has been using a product from a company called Informatica (previously AgentLogic) called RulePoint. This product has proven itself very easy to use with a well-developed and easy-to-use SDK for customization. The way we use the product for CEP is fairly trivial, we have 2 sources which we monitor for our rule data, the first being a JMS Queue, the second being a Jabber IM account. The product runs on any java-based application server (WebLogic, Tomcat, etc) and runs just about flawlessly.

Last week my boss says, "Hey, I've heard that we may be able to do the same thing we are doing with RulePoint with an open-source product called Drools. Check it out and let me know what you think."

I've heard of people using Drools for flow-based operations (validation, etc), however, I've never heard of anyone using their CEP product (Fusion) in practice. So, being the diligent worker, I have undertaken this task. I've downloaded all the files (version 5.0) and accompanying documentation and have started to read. I've read through just about all the docs and run most of the examples, but I still don't really see HOW drools works for CEP.

While there are examples for using Data (or Facts, I guess) from JMS, I don't see how this thing stays "running", continuously monitoring a queue until the application is actually stopped. RulePoint pretty must just sits and listens, however, Drools seems to not.

I could probably write a full-blown command-line application for our needs, however, I was hoping to leverage some of the benefits of using a application server provides.

I guess I'm looking for some good tutorials or an example of how someone is using Drools and CEP in production.

John Saunders
  • 160,644
  • 26
  • 247
  • 397
El Guapo
  • 5,581
  • 7
  • 54
  • 82

1 Answers1

4

The CEP stuff is known as "Drools Fusion" - and what you probably want is "runUntilHalt" method to run and listen for event streams continuously.

Michael Neale
  • 19,248
  • 19
  • 77
  • 109
  • Thanks for your reply, I've built a prototype using the "runUntilHalt", however, I'm still kind curious as to how to implement this in a production environment. Is it proper to run this in a web container, as a stand-alone application, etc? That's probably my most serious concern is "how to run this nifty new CEP thingy I've built?". I know Spring has a lot of hooks for Drools, but is it for CEP, or just the rules engine (I believe that is the Expert or Flow product). – El Guapo Apr 01 '10 at 15:33
  • yeah normally a dedicated app would be listening for events - actually typically 2 - hot standby incase one goes down (fedex do that) - I think they use JMS to get events into it. – Michael Neale Apr 08 '10 at 04:41
  • Are there any documents on the FedEx installation? I am curious about the size of the rule base and the number of facts, because I am currently comparing knowledge based systems and their applications for a scientific study. – Black Jul 24 '12 at 07:16