If there is one thing that IT people great at, it’s coming up with labels and acronyms that are guaranteed to elicit absolutely zero enthusiasm from business folk. Complex Event Processing (CEP) is yet another TLA (three letter acronym) in that rogue gallery. But just like ‘SOA’, it has immense business potential. If I was cornered, and absolutely positively had to explain CEP to a business person, here’s how I would explain it.
Raf, what’s this ‘complex event processing’ thing I keep hearing about?
A lot of stuff happens in a typical business day – a lot of events.
Some events are just noise, and we don’t care about them. For example, Jim’s 2 o’clock meeting is an event but we don’t really care about it from a business standpoint.
Other events are important: an order has been placed, an invoice has been paid, a shipment has been despatched, an account has become overdue. These events are important to the business because when these events occur, follow up actions are triggered: money is posted into accounts, inventory is updated, a reminder letter is produced. These types of events are built into business processes and are very visible.
But there are other events that happen in the business that aren’t so visible. This is where complex event processing comes in. But forget the word ‘complex’. These events are not ‘complex’ in the sense of being difficult to understand. They are complex because they are made up of other, simple, events.
If it helps, forget the phrase ‘complex event processing’ and think of it as ‘business event analysis’.
You’re already familiar with the concept of ‘data mining’ for business intelligence. Complex event processing is essentially ‘event mining’. What we do is capture a huge number of simple events and then analyse them. Typically, we look for patterns in these events, timing, relationships, causality and the like. When we find a pattern deemed important to the business, we generate a new event to notify the people interested so that action can be taken.
Heres an example (albeit contrived):
Say your credit card provider noticed a number of ‘credit card purchase made’ events. Individually, each of these simple events will trigger some action – like adding the purchase to your account. The story could end there.
But say the credit card provider uses complex event processing (or ‘event mining’). They might notice that the first purchase was made in an electronic shop in Hong Kong. The second purchase was made only 10min later – in Shanghai, and a third purchase was made in Sydney a few minutes after that. If you processed each event in isolation you wouldn’t see the bigger picture: irregular purchase patterns. A new (complex) event would be raised: ‘potential fraud detected’ event, and action could be taken in response to the event: cancel credit card and notify card holder.
So that’s it – complex event processing in a nutshell.