In the morning I had to attend the tutorial that I have co-presented, but in the afternoon I was free to chose among three tutorials. Out of sheer laziness I stayed in the same room and listened to the tutorial given on behalf of the EPTS reference architecture workgroup. The gang of four that presented this tutorial were:
- Paul Vincent (who gave his performance wearing a papillon tie - I hope that somebody took a picture of him, I have put a picture of some papillon tie as a place holder)
Paul was the main presenter, and also presented the TIBCO interpretation and the Oracle one (covering
for Alex Alves who couldn't arrive).
- Adrian Paschke - who presented the Prova interpretation (Prova is an open source that he co-developed)
- Catherine Moxey - who presented the IBM Websphere Operational Decision Management (WODM) intepretation
- Martin Hirzel - who represented IBM Infosphere Streams
I need to review this tutorial carefully in order to comments, but several comments off-hand;
First - I think that the team has done a very thorough work of trying to classify functions, map them to various implementations, they also attempted to map them to the EPIA book that Peter Niblett and myself have composed.
I need to think more carefully about some terminology issues --- first, I am not sure that what they presented are really design patterns as defined in software engineering by the original gang of four. I think that what was done is more classification of functions not really design practices. Their classification is to four major classes: event reaction, complex event detection, event analysis and event preparation.
The complex event detection contain three functions: consolidation, composition and aggregation. I am not really sure that the definitions are intuitive, but I am taking as an action item to look at the definition and right a detailed review of them. There are some other stuff that worth reading and reviewing, including validating the relationships that they made with the EPIA patterns (again in EPIA these are functions and not patterns).
The mapping to the different languages is also very interesting. Work on real best practice of patterns and anti-patterns will be a good next step.