Access and Feeds

SOA: Revolution in Computing — Event Stream Processing

By Dick Weisinger

Oracle proposed a vision of next-generation SOA called SOA 2.0 based on asynchronous events being triggered by alerts and event notifications.  While the Oracle marketing machine faltered with that vision, the idea an SOA architecture with ‘smarter’ events may not be too far off the mark as the next direction of SOA.

Event Stream Processing (ESP) — and sometimes called Complex Event Processing (CEP) — is a technique for processing many streams of events and extracting meaningful information and relationships from event patterns.  ESP isn’t new.  It’s been applied in applications like financial trading, logistics, RFID processing and fraud detection.  Companies like Apama have built complex financial trading platforms on a CEP foundation.

One example of CEP in action is an airline scheduling system that processes constantly changing feeds of flight positions and weather data and that can make scheduling decisions based on that data.

 

 

 

ESP Flight 400
  

   (Image from www.eventstreamprocessing.com)

 

ESP applied to SOA allows causal, temporal and spatial event relationships to be processed.  The result is something that is called ‘stream computing’, an approach that integrates the monitoring of real-time performance indicators into the SOA process.

ESP was developed in the mid-1980’s when researchers concluded that relational databases were good for doing rapid calculations made against data collected in the past but that they weren’t efficient when used to process rapid streams of new data.

Much like SQL, the language of traditional relational databases, ESP has something called EPL, or Event Processing Language, which can be used to query and retrieve data from an event data store.  The event data store typically chronologically caches captured events as well as derived events that may be created while processing other events.

SOA and ESP both involve the processing of current data, and that point is key to understanding the synergies of the two technologies, especially when applied to real-time decision support systems, such as those used for financial transactions.  For those kinds of systems, relational databases take a back-seat role and are used mainly for archival of less time-critical data.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Leave a Reply

Your email address will not be published. Required fields are marked *

*