Thursday, August 19, 2010

On event processing as a technology and as a business

Philip Howard, an analyst who covers event processing for several years now, has posted a blog entitled: what's happening with event processing, observing that event processing is getting integrated with other areas such as: BPM, data integration and more. This is not a new phenomenon; in the EPIA book, we mention that among the event processing trends is moving from standalone to integrated even embedded, and this trend is evident with the evolution of event processing as a start-up universe, to having bigger software vendors as dominant forces. However - will event processing as technology going to disappear? I don't think so. There is common functionality among event processing utilization in various industries, applications, and hosting technologies, in all of them there are functions of filtering, event transformation, aggregation, pattern detection, and routing. It is not cost-effective to re-invent the wheel for each individual use (although there are variations). This is a similar situation to databases; database can be used for various reasons, and also be embedded with various other technologies and products (e.g. application servers, BPM, system management products, messaging systems - all use databases), while there are also variations, it is not the case that each of these areas develop database technology in an ad-hoc fashion. Thus, I see event processing continuing to evolve as a technology, and having both research and development activities that build generic event processing tools. From the business point of view, there will always be some niche for event processing stand-alone applications, but as Philip writes, most of the market will indeed be in the integrated area, this fact already reflects on the event processing technology in terms of need for standards, interoperability features, and ability to have embeddable collection of building blocks and components. More about this - later.

Tuesday, August 17, 2010

Some lessons learned from students' projects

Spending some time in looking at the projects of the event processing course I have taught in the spring semester. I am going to teach again this course in the winter semester, starting in late October, the first course that will be based on the final version of the EPIA book.

First - it seems that understanding the model based on the seven building blocks - was quite easy for the students that none of them had any previous knowledge of event processing. It seems that the students could study the model in a relatively short time and represent an application using this model. Of course, getting to the next level of detail in contexts and patterns require some learning, but based on some internal courses we made, I believe that with three days course that includes hands-on lab, one can study the model.

However, the students task was not only to model an application but also to implement it, and they were given the freedom to chose how. Some of the students have used existing products and some of them implemented the application in Java. I guess that here is a micro-cosmos of life, and the world is partitioned among people who like to learn software products and use them, and people who prefer to do their own development.

I have asked the group of students who preferred to write their own why they chose to do it, and their answer was that they are very experienced Java programmers, and while it was quite a substantial project to write it in Java, they felt that the project is "in control" and they are not dependent on any third party (i.e. ability to learn and use a product, possible bug handling etc...) but stay on familiar ground; I guess that this type of consideration also reflects what happens in real life. There is indeed an overhead to study a product for a single project, but some teams thoughts it is cost-effective and succeeded to implement it using a product.

It seems that both type of teams thought that modeling the application first using the model has made their life much easier when they came to implementation since it imposed order. We'll try to have some more modeling efforts of event processing applications using this model to gain more experience (and evolve the model). There are already some ideas and activities around extending the model, but I'll leave it for other time.

Sunday, August 15, 2010

First review of the EPIA book on Amazon

Since the book Event Processing in Action became available, I am keep getting Emails from various people about it. The first one who has put a review on Amazon was Jim Odell, a notable person in agent technology, who recently wrote a series of articles about agents and events, hosted in Paul Vincent's TIBCO Blog. The review is entitled: "A true magnum opus". Since Manning publications is doing three reviews during the development process of the book, we got several dozens of reviews throughout the development of the book, many of them included some criticism in various aspects, and responding it required much work, in one case, a major rewrite. Some of the feedback I am getting about the book includes also some ideas for additions -- well, it is still early to think about second edition.