Gene Weng sent me this great link on Complex Event Processing (CEP) - Workshop on Event Processing - Presentations and asked me some good questions.
Some presentations mentioned rules as one way to process events - are they?
- This is indeed a key capability of business rules. Not only are business rules engines ideally suited to being event triggered they also allow for events to be filtered and combined to produce more complex events or to both send additional events and invoke other processes/services.
- One of the attractions of using a business rules approach for this is that it would allow business users to collaborate with IT in the setting of the event policies. The IT folks could set up the events and data structures, typically a somewhat technical role, and then define templates for rules that business users could maintain.
- Thus an IT person might identify the various attributes of an event and how they can be compared or evaluated and set up a template. The business user would manage the specific instances - which attributes must have what values in what combination to make the event significant. This would allow for some strong collaboration even when the event infrastructure itself is technically complex.
Does "Rete III" help with moving to "real-time"?
- Clearly the extra performance in the face of more complex data structures that Rete III brings is important as companies use business rules in real time settings. All variants of the Rete algorithm scale well in the face of large numbers of rules (allowing them to quickly select the rules relevant to a specific event say) but only Rete III also scales well in the face of complex data structures. Depending on the complexity of the data package on the events this might or might not be an issue.
- All the major rules vendors, including Fair Isaac with Blaze Advisor, have invested heavily in keeping the latency of the rules engine invocation to a minimum as well as ensuring that large numbers of rules can be processed quickly. This latency is also key when moving to real-time.
- One other real-time issue to consider is the use of analytics. While there are solutions that help you read large numbers of rows quickly enough to use analysis of those rows in real-time, it might well be more effective to take an EDM-approach and combine business rules with predictive analytic models (data analysis done offline and only the resulting "equation" executed in real-time).
Any cases where Blaze Advisor is used for Complex Event Processing?
- One company used the rules to process events in the supply chain to see which ones were significant and to notify users of problematic ones based on user-defined rules.
- A logistics company uses Blaze Advisor rules to automatically track and control the alerts that are displayed if there are any problems with a shipment while it is en route to its destination. Rules also suggest alternative routes or potential resolutions to the problem.
- A telecom company has embedded Blaze Advisor rules in its network nodes to handle events and alerts in the network, reconfigure and re-route in response to problems.
- Another telecom company uses Blaze Advisor to manage service level agreements, responding to events and alerts by routing traffic through working equipment based on SLAs and identifying those that cannot be met for proactive notification.
Anyway, hope that helped.