Hi Tina,

   I might look daunting at first, but I hope once you start using it, you will realize how powerful the concept of enabling CEP for rules and processes is and how simple that becomes in Drools as compared to integrating heterogeneous products for the same task.

   I recommend you read the Drools Expert documentation as well, as Fusion features are additions to the overall Expert features and syntax.

   Regarding your questions: drools does not handles persistence by itself. It delegates to the application to decide what to do with them. You can of course persist individual events in a database or disk, or you can persist drools session snapshots if that fits better your application model.

   Sliding windows are always based on the current time or latest event, but Drools offers the complete set of 13 temporal operators and their negations. So you can reason over times A and B. For instance, you want to check that event Eb happened between 10s and 30s after Ea. You can write that as:

$ea : EventA()
$eb : EventB( this after[10s,30s] $ea )

   So that creates a arbitrary "windows of interest" that are not based on the current time, but otherwise anchored on each EventA that is received by the engine.

   Hope it helps,

   Edson

2010/5/7 Tina Vießmann <tviessmann@stud.hs-bremen.de>
Hello everybody :)

I'm completely new to the Drools universe. I've discovered Drools, or more
specifically Drools Fusion, by looking for a powerful CEP engine.
I've read the DF user guide and came up with some issues about DF features.
It would be great, if anyone can give me some explanations and/or refer to
different information sources.

My questions:

1. Persistence of events:
I know that DF can store events explicitly and implicitly. But does it
store events in persistent (e.g., I can continue my computation after a
reboot)? If it does, how are the events stored?

2. Sliding windows:
It's written that a window contains the last X events/the event occurred
in the last X time units. Is it somehow possible to specify a window for
process only old events - which does not catch up to the latest event?
(Lets assume we have the times A, B and C with: A < B < C  and  C ==
current time. Is it possible to specify a window that process events
occurred between A and B?)
So are more complex windows like described in chapter 7 of the book 'Event
Processing in Action' (see http://www.manning.com/etzion/) possible?


Are there any (step-to-step) tutorials / how-tos about simple DF programs?


In case my questions are stupid because they can be answered when knowing
Drools, but I've got absolute now experience using Drools. At the moment I
kind of have the feeling, Drools is a little bit too complex for just
using to implement CEP applications...


Thanks for any help! :)

Tina


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
 Edson Tirelli
 JBoss Drools Core Development
 JBoss by Red Hat @ www.jboss.com