I was researching the origin and definition of event-driven architecture (EDA) and came across an article titled The age of events from the InformationAge web site.
According to the article, EDA is yet another TLA from our friends at Gartner, introduced in 2003. Overall, the article struck me as odd. Indeed, the entire notion that EDA is new seems odd to me.
“In recent years, several major developments have made event processing both a viable technology and a strategically important approach in IT…the underlying infrastructure is now available to deliver asynchronous event information – perhaps using some kind of enterprise service bus – in large volumes, in near real time.”
In recent years? One could argue that this stuff has been around for at least a decade. Vitria, TIBCO, ActiveWorks and others introduced the enabling technologies over 10 years ago.
To be fair, complex event processing (CEP) is relatively newer. But still, EDA isn’t just about CEP. Simple event processing falls under the EDA banner too, and that’s been around for a long time.
“Analysts say there is much more work to be done – not least in opening up applications so that they communicate event information better; and in building resilient, scalable systems.”
This statement is reminiscent of statements I remember seeing back in the late 90s. Vivek Ranadive captured this notion in his book “The Power of Now”–back in 1999.
“But as more and more information is communicated in real time, the EDA, even if it doesn’t eventually fly under that flag, will inevitably be widely adopted.”
EDA is at least the 2nd flag, possibly the 3rd. This leads me to wonder, do any of the adoption predictions come true? For example, did the prediction of the adoption of EAI come true? It seems that a prediction of “in 5 years XYZ technology will be mainstream” will ever come true because XYZ won’t be the hot buzzword in 5 years. Rather, it will be reborn under a new name, which will achieve mainstream adoption in yet another 5 years.
How would you characterize EDA? New? Old? Are you following EDA principles in various projects? For integration? For application development? Are you following EDA and SOA principles in your projects or just SOA?