Complex event processing engines can address several tricky, important business problems, including fraud detection, real-time customer service, monitoring market trends and real-time data analysis.
Wall Street uses it to compare thousands of trading points with trading algorithms. The military uses it to analyze network traffic and screen electronic messages.
But do you really need it?
"There is a tremendous amount of focus these days on business process management (BPM). But not much of this discussion seems to include the impact real-time applications will have on the way a company does business. So the question is, are organizations really up to the task of conducting business in real time, or is this another example of where the technology is again out in front of the business reality?"
It's a good question. And in a recent SD Times article, Forrester senior analyst James Kobielus offered a very simple test for deciding if CEP is worth pursuing: Do you need true sub-second latency?
If you answered yes, then CEP is the way to go.
If not, then you might be happy with a business activity monitoring data warehouse middleware that provides near real-time features, or you may find Electronic Data Interchange (EDI) can handle some of the same middleware requirements for generating analytics, Kobielus told the SD Times.
Do you still want to pursue CEP? If so, the article suggests you make integration your top criteria for buying.
When I first wrote about CEP, the thought was that CEP engines would be integrated with other, off-the-shelf applications. To some extent, that's true-Kobielus observed that some BAM solutions have embedded CEP capabilities.
The article is full of issues developers should consider when designing CEP applications, but as it's turned out, application integration can become an issue if you're not careful about your CEP choice.
For instance, you'll want to consider whether your application needs to integrate with external systems in C++, Java or .NET from the beginning, because, as Kobielus explains, some vendors are more oriented for particular languages. Mind you, this won't make integration impossible - just more work. So, design should be a consideration in determining which CEP solution you choose.
Another consideration: Are you already using a BI or data warehousing solution for the data visualization layer? If you are, Kobielus recommends you opt for a pre-integrated CEP solution or one designed specifically to integrate with your existing platform. If your vendor doesn't have CEP capabilities, then ask for a reference to a CEP partner who will support the integration. Don't assume that all big vendors will have a CEP solution, either; it turns out SAP, one of the most pervasive suites around, does not have an integrated CEP solution.
Kobielus also warns that many CEP vendors use proprietary languages to query events:
"It is important to consider CEP offerings that integrate and present an abstraction layer to leverage SOA and SQL. I would think long and hard about committing to them if they don't have [the abstraction layer]."