Monday, January 14, 2008
From OMG in Orlando: Event Driven Architecture
Today I am sitting in on Robert Covington's (CTO, Rhysome) talk on SOA and EDA. Event-Driven Architecture is an interesting animal however the current models I have seen ignore a grand unification of architectures into a definitive definition. The wikipedia definition sucks in a way that would make vacuum cleaners jealous.
What Robert covered today is the issue of event context within the realm of Complex Event Processing (CEP). The latter is great work, largely spearheaded by David Luckham, professor emeritus at Stanford. I have been working on an idea called IDEA (Intelligence Driven Enterprise Architecture) which combines the best of SOA and EDA. The gist is below.
The idea (pardon the pun) is that EDA can be divided into two major components - the event generation and detection (shown on the left) and the event processing (shown on the right). It makes architectural sense to keep them separate as it leads to more scalability within enterprise architecture.
The core model illustrates how events (instances of one specific event type from the meta event class), are generated and caught. This diagram is high level and leaves out things like the event message dispatch, the event bubble model (usually split into unicast and broadcast via subscription), the event capturing and subscription mechanisms. The causality relationship between events is a core evolution of complex event processing. Causality relationships can be one of many types, however in order to process them more accurately, the event context (the set of specific circumstances in which the instance of the event occurred) is very important to feed to the event processing side (everything to the right of the inference engine).
During Robert's talk today, I had several epiphanies, one of which was that perhaps it is time for some formal standards work in this area.