REVIEW - The Power of Events - An Introduction to Complex Event Processing in Distributed Enterprise Systems


The Power of Events - An Introduction to Complex Event Processing in Distributed Enterprise Systems


David C. Luckham




Addison-Wesley Professional (2002)




Lawrence Dack


April 2004



This book is set in the context of distributed systems and message-based protocols. Its objective is to introduce and describe tools and techniques for analysing complex events, where an 'event' is a basic transaction (the transmission of a message from one system to another) and a 'complex event' is the occurrence of a set of events which possess a higher meaning. The premise of the book is that, while low-level analysers exist which provide a view of the basic events occurring over a network, the view they provide is not sufficient for an understanding, far less a debugging, of system behaviour. Complex Event Processing (CEP) is introduced as a means to provide that understanding by detecting patterns of lower-level, basic events. This seen as the key to providing system viewers and analysers that are flexible, hierarchical and customisable; providing individual views of a complex system at what ever level is appropriate for the task in hand.

The book is presented in two very different parts. Part one introduces the concept of complex events, their nature, their potential uses, and a simple declarative language for expressing rules to recognise complex events, and actions to take when one is detected. It is written in a readable style, reasonably free of jargon, and serves as an introduction of the topic to an intelligent layman. Part two is much harder going. Here the author describes Rapide, an event processing language developed over ten years of research at Stanford University, and shows how it can be used to solve some of the problems discussed in Part one. The description of Rapide's use is very thorough, almost at the tutorial level. The final chapter looks forward to discuss how a CEP application (i.e. a tool like Rapide) might be implemented using commercial technology. After describing the main features that a CEP application would require, the author concludes that the requirements are out of reach of current technology - but not for long.

Because the CEP concept presented is not immediately realisable, I assume the authors aim in writing this book was primarily educational: to highlight a growing problem, suggest an approach to solving it, and back this suggestion up with a distillation of 10 years research. I think he has largely succeeded in this. The question left in my mind is whether the education repays the intellectual effort needed to digest the books contents, particularly part two - and for me the jury is still out on that one.

Book cover image courtesy of Open Library.