Tuesday, August 28, 2007

Event Processing - What is all about ?

Hello everybody.

When something becomes a "hype" - people often wonder, is it something new ? is it a buzzword that recycles old stuff ? does it have "beef" inside or is it just a marketing slogan ?

I believe that while there is a hype, and some of the things are not really new, a new paradigm is being developed. N0 - it is far from being mature, but as I believe it will have significant impact on the world of computing, it is fascinating to be engaged in the thinking of how it will be developed - both the macro-level about general theory and engineering practices around it, and in the micro-level, looking at all the building blocks, and unresolved issue on the way... In fact, coming from the database community, I can see an analog to where we have been 40 years ago in the database area -- a few products that have been engineering-lead, no theory underline it, no optimization schemes, abstractions like transactions are still ahead in the future, and of course no standards. The database area went a long way since then, and I like to use this analog, as a good example for where event processing can be, if it will be developed right.

There is a start of a community that deals with these issues, and also a lot of confusion, misconceptions and questions around. I'll spend some time in providing short articles on various issues.

In the next few posts I'll refer to -- common misconceptions, the language issue, observations about pattern usage, discussion about - do we need standards and when, and some micro-level issues as well.

One of the first activities of the community is a glossary: http://complexevents.com/?p=195 which defines event as "something that happens" and event processing as "computing that preforms operations on events".

On first glance, there is nothing new here. The concept of event has existed in early days of computing, e.g. exceptions in operating systems, and there was an ability to attach exception handlers, which is a kind of event processing. Simulation is also a relatively old area, which is all about (simulated) events and their consequences.

So - what is all the hype about?

There are several relatively new things:

(1). Event processing becomes more pervasive as part of main-stream computing. In the past event processing has been done in specialized cases (e.g. specialized environments like simulation languages), or in the main-stream computing as a kind of "patch" that handles exceptions. The availability of many events (e.g. RFID events), and many applications that are event-driven in nature (e.g. monitoring), increases the need for event processing;

(2). The availability of (the first generation of) event processing software, enables to have more cost-effective solution to program event processing, this is similar in the development of the concept of DBMS as a series of abstractions and utilities above file systems. These software tools, besides giving better TCO for applications that are contain non-trivial event processing, also, in some cases, it is too complicated to hand-code the functionality.

(3). The existence of middleware and infrastructures that enable to produce and consume events.

All of these create awareness, getting vendors to invest, and customers to realize it is helpful to them, and provide some of the means to start looking at "event processing" as a phenomenon and wondering - what it really is, and where is it going..

More later...


No comments: