Service-oriented architecture has already proven a disruptive force in the world of IT, but adding complex event processing (CEP) to it could create "a new physics of computing," says John Bates, whose research at Cambridge University in the U.K. helped pioneer the event-driven technology.
Computer applications have been interacting with data since the dawn of business computing, but what CEP and SOA do is turn the traditional model for data processing on its head, the British computer scientist says. What is emerging now is "a new physics of computing." With the traditional database structure, Bates explains, the model was to store and index the data so it could be queried by users and accessed by applications, but in the loosely coupled world of SOA, data is not stored, it's flowing from one process to another with new data constantly coming in on the wings of SOAP.
Where in the traditional system the "data is static and the queries are dynamic," he said. "In event-based systems it's different. The rules that you're using to monitor the data and take action are fairly static, and it's the data that's dynamic. The data is continuously changing. So you have to structure your software to take into account that paradigm shift."
Bates left Cambridge University and started a company to develop CEP software products for applications that handle everything from automated stock trading to tracking special order novels as they arrive at bookstores and send emails to waiting customers. He co-founded a company called Apama in 1999, which has since been purchased by Progress Software Corp., where he is now vice president for Apama products. Because financial transactions are "the killer app for CEP" the original startup company focused on that market, numbering J.P. Morgan & Co. and Deutsche Banke AG among its customers, he said.
Without giving away any intellectual property, he explains how he approached CEP development. "We turned the problem upside down and said, 'Okay, we can structure a system where you specify the queries up front in a complex event processing algebra, an event programming language at the lowest level.' Then we've built tools on top of that. Then you can flow the data through the rules of the queries you created in the event programming language and you've got a completely different paradigm. Rather than storing and querying, you're specifying the queries and then flowing data through it."
That kind of event processing would work in a number of architectures, not just SOA, says Bates colleague Mark Palmer, vice president for event processing at Progress. He says SOA is complimentary to CEP and extends it.
"Looking at SOA from the CEP perspective, we view an SOA infrastructure as a fantastic way to generate events," Palmer said. "Any change of status, any transition of states between parts of an SOA infrastructure that are managed by the process management tool, those are all events to us. The thing CEP adds is the intelligence on top of that."
An example of where CEP can add intelligence within an SOA infrastructure is in business process flow, Palmer said.
"You can set up CEP to alert you when three parts of the flow start to be longer than five minutes," he explained. "So you're adding real-time business intelligence on top of your SOA infrastructure. I think that's the way CEP is a complement to what you're doing with SOA. They are generating events from services and CEP is able to add intelligence on top of that. You can see how your business is running by putting a real-time dashboard on top of it."
Beyond that simple example, Bates sees SOA and CEP evolving into what he calls event-driven architecture.
"This is extending SOA where you're actually going to compose complex distributed systems from components that produce and consume events," he explained. "At the moment, most complex event processing applications are single point applications like algorithmic trading or telecommunications monitoring. We're heading toward a world with SOA whereby you might have multiple different event-based systems cooperating in bigger event-based business processes. This would be something like your trading system is sending events, which may be picked up by your risk management system, which may be picked up by your compliance system."
As an example of how multiple systems within a larger SOA infrastructure might interact with a series of events, Bates goes back to the automated stock trading CEP killer app.
"For example, if you have a trading system that's generating recommendations to do a trade, you might have another system that is a risk management system," he explained "Then you could set it so when the trading systems gets messages to do a trade, you make sure the risk management system monitors those events to ensure, for instance, that your company never holds more than six percent of the actively traded telco market."
Before the automated trading system could exceed the six percent limit, the long arm of the risk management system would send a message to stop the trade, Bates explained.
Palmer adds that the new physics of computing made possible with CEP and SOA operates with current data, where even the most recent information in even the best relational database management system is dated, especially in the world of stock trading where one second equals an eon.
"The fundamental physics difference is this: are you looking at the now or are you looking backwards?" he said. "CEP is happening now.