Event-Driven Applications: Introduction to Oracle EDA Suite

Last week I was reading IBM’s Real-Time Data Analysis announcement, so this triggered me to ask local Oracle office if they have a similar application. I am pretty aware of the features at database side, thanks to Concepts Guide and tahiti search. But especially within the last years with Oracle’s purchases the features now outside the database Oracle has is an important question mark for me.

And quickly the answer came: Oracle Event Driven Architecture and there Complex Event Processing feature(aka BEA Weblogic Event Server).

Even I am a database guy I really liked the application until now, maybe it is because event processing language(EPL) is very similar to SQL, it is Eclipse based(at least for now), Jrockit JVM can promise deterministic garbage collection, its hot deployment capabilities and its monitor->analyze->act included business activity monitor application(business user oriented dashboards and alerts without writing a single line of code). We planned to do some PoC so maybe I will be sharing some of my experiences with this product later on. To make you more interested here are some concepts of this product:
• Extend the relational model to support “continuous” query
• Construct “windows” over event streams
– Bounded by time or count
– Partitioned based on values
– Processed incrementally or in batches
– Defines a “working set” of events to then apply queries to
• Use relational operators to characterize the event streams
– Filtering, aggregation, and correlation of events
• Add pattern matching
– Supports track-and-trace scenarios (e.g. detecting missing events)

Pattern Matching Example(Defined as regular expressions, In-Memory Continuous Queries): Stock Trading “W” Pattern

	SELECT FIRST(x.time), LAST(z.time)
		PATTERN (X+ Y+ W+ Z+)
			DEFINE X AS (price < PREV(price)) 			
                                   Y AS (price > PREV(price))
			           W AS (price < PREV(price)) 			
                                  Z AS (price > PREV(price)))

So here is an Introduction to Oracle EDA Suite presentation you may want to check for more details.

Conclusions: being aware of a feature you already purchased is very important not to re-invent a dumper wheel and in order to be time to market against competition. So I hope Oracle develops a Concepts Guide for its Fusion Middleware applications soon for people like me :)