A lot more software architects are working these days to get their arms around the concepts of events and event processing. Many people have reams of transaction data they are beginning to think about correlating and tracking. Sometimes the differences between event processing and other types of processing seem simple – but that simplicity can be deceptive.
This comes to mind after a recent conversation with Hub Vandervoort, CTO of SOA Infrastructure Products for Progress Software. He contended that one of the major elements that goes into handling events is a dedicated event processor. That puts it outside the realm of general purpose computing familiar to the broad ranks of developers.
“You have a window of time in which events take place,” he said. Thus, there arises a use for a dedicated processor that can handle things quickly – as they happen. “You can’t use a thread-based model as is found with general-purpose application servers,” he continued.
For Progress’s part, an Apama Correlator based on a HyperTree architecture is specialized for executing event pattern matching logic to take care of a high volume of event data.
Time-oriented language semantics are supported too, this being another differentiator from popular general-purpose approaches. Sounds complex, yet, Progress Apama has forged model-based development methods that allow business power users to help program the event engines.
What do you think? Ready to try CEP? What alternatives are you considering? Let us know.