Thursday, July 8, 2010

Announcing the EPTS awards



EPTS has announced on a competition to grant awards of two types:

The innovative application award, in cooperation with OMG Event Processing Community of Practice, will be awarded to an application that have used event processing in an innovative way.

The innovative principles award, will be awarded to a research contribution that had a significant impact on the state-of-the-art in event processing.

The competition is open to everybody. Deadline for nomination submissions is September 30, and the award will be given in November and will publicized in the media.

Full details about the award program can be found on the EPTS external website.

Next week in DEBS we'll hand out a flyer with the announcement and start communicating the award program

Tuesday, July 6, 2010

On Peter's Laws


I have written about the ten commandments of the intrapreneuring, here is something in the same spirit that I came across recently (though it is not new), the Peter's laws (not to be confused with the Peter principle), though they look as a piece of humor, they are indeed quite serious, some of them look to me as if I have written them myself (items 5, 7, 9, 10 in the list below - for example). If you can not read the picture below - here it is again in text form (though they are not totally identical). Enjoy!

  1. If anything can go wrong, Fix it! (To hell with Murphy!)
  2. When given a choice -- Take both!
  3. Multiple projects lead to multiple successes.
  4. Start at the top and work your way up.
  5. Do it by the book...but be the author!
  6. When forced to compromise, ask for more.
  7. If you can't beat them, join them, and then beat them.
  8. If it's worth doing, it's got to be done right now.
  9. If you can't win, change the rules.
  10. If you can't change the rules, ignore them.
  11. When faced without a challenge, make one.
  12. "No" simply means begin again at the next highest level.
  13. Don't walk when you can run.
  14. Bureaucracy is a challenge to the be conquered with a righteous attitude, an intolerance for stupidity, and bulldozer when necessary.
  15. When in doubt: THINK!
  16. Patience is a virtue but persistence to the point of success is a blessing.
  17. The squeaky wheel gets replaced.
  18. The faster you move, the slower time passes, the longer you live.

Thursday, July 1, 2010

On VLDB 2010 -- events and streams related papers

After a few years of missing VLDB, I plan this year to participate in the VLDB conference in Singapore (which will be an opportunity to visit Singapore, I have never been there). I have a tutorial accepted entitled: Event Processing - past, present, future. VLDB is one of the major research conferences of the database community (my original home community).

The list of accepted papers is now on the website -- looking at it there are some papers whose title include either events or streams:

Complex Event Detection at Wire Speed with FPGAs
High-Performance Dynamic Pattern Matching over Disordered Streams
Achieving High Output Quality under Limited Resources through Structure-based Spilling in XML Streams
SECRET: A Model for Analysis of the Execution Semantics of Stream Processing Systems
Recognizing Patterns in Streams with Imprecise Timestamps
On Dense Pattern Mining in Graph Streams
Database-support for Continuous Prediction Queries over Streaming Data
Conditioning and Aggregating Uncertain Data Streams: Going Beyond Expectations
From a Stream of Relational Queries to Distributed Stream Processing
iFlow: An Approach for Fast and Reliable Internet-Scale Stream Processing Utilizing Detouring and Replication

And some demos:
Active Complex Event Processing: Applications in RealTime Health Care
Efficient Event Processing through Reconfigurable Hardware for Algorithmic Trading
Geospatial Stream Query Processing using Microsoft SQL Server StreamInsight


As you can notice - in the database community the term "streams" is more common than the term "events", and I'll go back to the discussion of streams vs. events soon.

IBM will have a substantial presence in VLDB with 9 research papers, 5 industrial papers, 3 demos and 1 tutorial.

More - later.



Tuesday, June 29, 2010

On restful event producers


Another year has passed and yesterday was my birthday; I tend not to celebrate an event that reminds me that I am getting older, so I found on the Web a greeting card that fits my sentiments; however -- this year I got much more birthday greetings than usual. Of course I can be encouraged that all of a sudden I became popular, but the truth is that I filled profile descriptions in some social networks - Facebook, LinkedIn, the family tree site (may be one or two more) - all of them send alerts to people about birthdays...

I have written about event producers such as the CICS event producer, that instruments CICS transactions and emits them as events; event producer needs to produce the event by sensing or instrumenting some software/process to create the event, and also needs to communicate the event to the event targets (event processing agents, channels and consumers).

There is a new article on IBM developerWorks dealing with emitting events using REST interface. The word REST has an association with resting, like the Van Gogh famous picture of noon rest - below.


But in this context REST of course means "representational state transfer". The article describe how to use the REST interface of Websphere Business Events to emit events from any application that has access to web protocols. Enjoy!

Monday, June 28, 2010

On event flow and control flow


Teaching another internal course in event processing, one of the questions that was asked by the participants, and is actually a frequently asked question when viewing our notation of event processing network is -- whether we are reinventing workflows.

The answer is -- no.

Viewing control flow and event processing networks (both figures were taken from IBM developerWorks)


The common denominator is that both of them looks as graphs with nodes and edges of various types; but there are also some differences:

In control flow systems the edge typically means that when some task that executes on the node ends the control (conditionally) is passed to the task represented by the predecessor node in the graph. There can be some and/or/xor conditions as seen in the diagram above - and they typically refer to the termination status of the task (success/fail).

In event processing network, the nodes represent EPA (event processing agent), and the edges represent events that flow between these agents. The fact that an EPA emits an event does not necessarily mean that it has been terminated, an EPA can create derived event in an "immediate mode" which might designate that a pattern was matched. The source EPA may still continue to run. Likewise, an event that is sent to a target EPA does not necessarily mean that it is invoked, it may have been there, it does not even indicate that the target EPA will use this event, it may filter it out on entry. If it uses the event, it may not react to it directly, since it is a part of a pattern that has not been completed yet. In general -- all an edge in the graph says that one node sends an event to another, and nothing more.

One cannot represent event processing network using regular workflow, however, a workflow can be represented using event processing network !


Saturday, June 26, 2010

Event Processing in Action - Last mile

This is the image from Amazon, which already reports on some selling of the EPIA (every day its sales ranking is changed). The book will be out in print sometimes in July (more towards the end of July I think). We are now in the last mile, the graphical editor works on redoing many of our figures in a more professional way. Yesterday there has been a new version of the book for the MEAP subscribers, so those of you who subscribed should have received a link to download it. This is the last version of MEAP, next version will be the final e-book. Like computerized systems, books can be improved forever, and I already have a (short) list of possible improvements for the next version (if there will be a next version), but at some point one needs to freeze and let the book be born. Some people have already written reviews on their Blogs:
Marco Sierio - recently and in the past and Hans Gilde in his first and second reviews. Looking in Google, I found that somebody has put it as a reference to the "Complex Event Processing" value in Wikipedia. When the book will be out there will probably be more reviews. The book also has a website hosted by EPTS that includes six implementations to the application example that accompanies the book (no login is needed to access it). More implementations are expected to be added. More -later.

Thursday, June 24, 2010

On high availability in event processing applications


In the EPIA book (now due to be available in late July), we have a discussion about non-functional requirements of event processing applications. There is a variety of such requirements, and different applications require different set of requirements. One of the common requirements we seen nowadays is high availability. Recently an article describing building high availability in Websphere Business Events using IBM middleware was published in IBM developerWorks. This article was written by Chris Ahrendt, who has been until recently working in IBM software services, and currently and currently defines himself in LinkedIn as "Independent at consultant". Chris was one of the first IBM solution architects exposed to the event processing technologies early on, when we did proof of concepts with Amit, and was member of the evaluation committee we have done for the IBM Software Group Architecture Board, that was one of the milestones in the decision to get into this area. Chris' article briefly explains the concept of high availability and describe the specific solution. Enjoy!