Behind the CEP curtain – it’s about time, not the cache

TIBCO is the CEP vendor most focused on the market for business rules, as reflected in Paul Vincent’s post here.  Although I agree with Paul that rule vendors are not currently offering enough in terms of support for long-running processes, the conclusions that he draws in favor of considering a CEP alternative to a BRMS are not compelling yet.

Paul said that rules don’t address the following that are addressed by CEP:

  1. BAM (business activity monitoring) and the other BPM (business performance management)
  2. Complex-rule processing
  3. Customer-centric (portfolio-based) decisions / policies

I am sure Paul was just being flippant, but you may notice that there is a bit of a war going on between CEP, BPM and rules right now. 

Personally, I believe rules vendors need to move aggressively in the CEP direction.  So, essentially, I agree with Paul’s first point.  However, …

The 2nd  seems merely a  reiteration of the C in CEP.   Commercial rule vendors can handle more complex rules in greater numbers than CEP vendors, in general, and I would like to see more about TIBCO’s expressiveness and functionality before agreeing that their capabilities are superior to the likes of Ilog and Fair Isaac and Haley and ….

The 2nd also dicussed databases versus in-memory caches, implying that the automation in CEP is more scalable and reliable without regard to the amount of state retained over time and in the cache.  CEP vendors need databases as much as the next guy.  Nonetheless, there is an underlying truth that business knowledge and logic should be automated without requiring manual decomposition of rules that involve data or events over time into complex BPM graphs and manually coded database access.  Most CEP vendors take the cache approach but there are other approaches that are viable and, in certain circumstances superior.  For example, Oracle’s in-the-database approach is completely antithetical to streaming CEP vendors but is efficacious in some cases.  Rule vendors should pursue hybrids of these approaches. 

Having resisted the implication, I agree with Paul regarding the current state of the market.  TIBCO is leading the way on point #2.  With one caveat,  TIBCO is not as functional as the leading BRMS vendors in terms of agility and usability (e.g., accessibility by non-technical people).  Personally, I think this could allow a leading BRMS vendor, such as Ilog to leapfrog TIBCO more easily than vice-versa.

Paul’s #3 is a hot topic in the insurance industry, which instigated Paul’s post in the first place.  You can find more content on this on James Taylor’s blog, too.  I don’t think customer versus portfolio has that much to do with CEP versus BRMS for enterprise decision management (EDM).  It’s an industry issue, not a technology issue.  There was also a point there about maintaining state between customer transactions, but it is superfluous (and commonly handled by stateless architectures that use databases). 

After reading Paul’s post, I was genuinely excited that he had so succinctly summarized the capabilities of CEP that are lacking from current BRMS offerings.  The problem is the stateful cache versus the stateless decision service is not where the issue.  The issue is supporting logic that involves information (including events) that span time.