Вы находитесь на странице: 1из 48

<Insert Picture Here>

Introduction to Oracle EDA Suite


Kemal Ülkü, kemal.ulku@oracle.com
Sales Consultancy Team Leader – Oracle Fusion Middleware
Event-Driven Applications
Distributed order orchestration

Asset management
Need to support one or more of:
Algorithmic trading • High volume
Financial Services

• Continuous streaming
Transportation &
Logistics
Telecommunications &
• Sub-millisecond
Services latency
‘Negative Working
Manufacturing
• Disparate sources Capital’ inventory
management
Insurance
• Time window processing
Public Sector & Military
• Intrusion detection systems • Complex pattern matching
• Military asset allocation
Reponses to calamities –
earthquake, flooding
Oracle EDA Suite
Complete Suite for Industrial Event Processing
BAM CEP

REAL-TIME Alerts
Business Monitoring
VISIBILITY
&
PROCESSING Business Event Feeds
Rules Data Streams
Java-based Event
Oracle Service Bus Server
ROUTING &
DATA Routing Transform
SERVICES
Mediation

Adapters
CONNECTIVITY Socket DB File JMS Industry Specific

JRockit VM JRockit RT Coherence


ENTERPRISE
PERFORMANCE
& SCALABILITY J2EE Application Server
(Oracle AS, WebLogic, WebSphere, JBoss)
Oracle SOA and Event Technologies
BPA Suite
REAL-TIME
BAM GOVERNANCE
CEP Enterprise
Manager
VISIBILITY
& PROCESSING
Enterprise Alerts Events System
Modeling Business Monitoring GOVERNANCE
Monitoring
ORCHESTRATIONStreams
Data

BPM Suite BPEL Process Manager Web Services


Manager
Business User Native Business Human WS Policies
Modeling BPEL
ROUTING &Rules Workflow
DATA SERVICES Security

JDeveloper Oracle Service Bus Data Integrator Enterprise


Repository
Application Routing Transform ETL & Data
Development Replication Quality SOA lifecycle
Framework Mediation
CONNECTIVITY governance

Adapters B2B Registry


Apps DB Legacy Partners UDDI

Coherence Cache
Messaging J2EE Application Server JRockit VM & RT
(Oracle AS, WebLogic, WebSphere, JBoss)
EDA Core: A Complex Event Processor
Process Static Data, Events, and Streams

Streams
BA BOEING D 77.575 800 20080305 10:03:02:78

DO DUPONT D 41.575 3000 20080305 10:03:04:12



AA ALCOA INC D 20.125 1000 20080305 10:03:01:55

AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10


 Continuous input, often in high-volume
BA BOEING D 77.575 800 20080305 10:03:02:78

C CITIGROUP D 34.125 2000 20080305 10:03:03:05


 Time ordered
CAT CATERPILLAR D 22.5 600 20080305 10:03:03:46

DO DUPONT D 41.575 3000 20080305 10:03:04:12


 Does not end
AA ALCOA INC D 20.125 1000 20080305 10:03:01:55

AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10


 Impossible to process / analyze in real-
time with traditional relational database
BA BOEING D 77.575 800 20080305 10:03:02:78

C CITIGROUP D 34.125 2000 20080305 10:03:03:05

CAT

DO
CATERPILLAR

DUPONT
D

D
22.5

41.575
600

3000
20080305 10:03:03:46

20080305 10:03:04:12
systems
AA ALCOA INC D 20.125 1000 20080305 10:03:01:55

AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10

BA BOEING D 77.575 800 20080305 10:03:02:78

Event Processing provides a new data


C CITIGROUP D 34.125 2000 20080305 10:03:03:05

CAT CATERPILLAR D 22.5 600 20080305 10:03:03:46

management infrastructure to support and


DO DUPONT D 41.575 3000 20080305 10:03:04:12

AA ALCOA INC D 20.125 1000 20080305 10:03:01:55

analyze Streams in real-time


AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10

BA BOEING D 77.575 800 20080305 10:03:02:78


Event Processing Networks (EPN)
Processor
EDA is composed of several processing steps Rule
Query
intermingled with user logic.

Processor
Rule Listener
Query - POJO

Processor
Event Source Adapter Rule
Processor Query

Query

Query

Data Source Adapter

Processor Processor
Rule Listener
Rule
Query Query - ALSB

This arrangement or network of event processing components is


called an event processing network (EPN).
Event Processing Language (EPL)
Processor

Query

Query
What Is Complex Event Processing?
In-Memory, Continuous Queries
 Event Processing Output
 Filtering CAT

DO
CATERPILLAR

DUPONT
D

D
22.5

41.575
600

3000
20080305 10:03:03:46

20080305 10:03:04:12

 New stream filtered for specific criteria, AA ALCOA INC D 20.125 1000 20080305 10:03:01:55

e.g. stock price > $22


AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10

BA BOEING D 77.575 800 20080305 10:03:02:78

 Correlation & Aggregation


 Scrolling, time-based window metrics, e.g.
average # of stock trades in the last hour
 Pattern Matching EP
 Notification of detected event patterns,
e.g. price changes A, B and C occurred
within 15 minute window

Example: Stock Trading “W” Pattern


Runs In-Memory (not in
Database) Y WZ
*** X
Logic is defined through
Continuous Queries on the
data

minutes
1 9 12 19
Common Concepts

• 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)
Oracle CEP: Sample Queries
In-Memory, Continuous Queries
 Event Processing Output
 Filtering
 New stream filtered for specific criteria, e.g. stock price > $22
 CREATE QUERY f_query AS SELECT * FROM S [Range 10] WHERE S.A > 22;
 Correlation & Aggregation
 CREATE QUERY ca_query AS SELECT AVG(S1.C) FROM
S1 [RANGE 10], S2[RANGE 5] WHERE S1.A = S2.B;
 Pattern Matching – Detect a W Chart Pattern
 CREATE QUERY wp_query AS SELECT MATCH_RECOGNIZE ( MEASURES A.c1 as firstW,
last(Z) as lastZ PATTERN(A W+ X+ Y+ Z+) DEFINE W as W.c2 < prev(W.c2), X as X.c2 > prev(X.c2),
Y as Y.c2 < prev(Y.c2), Z as Z.c2 > prev(Z.c2)) as T;

Example: Stock Trading “W” Pattern


Runs In-Memory
***
Logic is defined through Y WZ
Continuous Query Language X
on the data

minutes
1 9 12 19
Pattern Matching

 Powerful concept PATTERN (X+ Y+)


that allows
identification of
complex event 1 or more X events … … followed by 1 or
patterns more Y events

 Defined as regular
expressions
Pattern Matching Example
Stock Trading “W” Pattern

Z
Y
W
X

days

1 9 12 19
SELECT FIRST(x.time), LAST(z.time)
FROM ticker MATCH_RECOGNIZE (ONE ROW PER MATCH PARTITION BY name
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)))
EDA Foundation: A Specialized Server for CEP
Low Latency, Extreme High Throughput, and Java-based

EDA Java Application Container


Data/Msg.
Data Feed Process Listener/SINK:
Feeds Adapters Events User Code
(CEP) (Plain Java)

Aggregate, correlate, filter data


Can Handle 1,000s of Queries
Incoming Data Streams Resulting Data fed to user
1,000,000 Messages/Sec Latency
Java code
<1K message size < 1 Millisecond Latency (Avg.)
<5% data matches filter
10 Millisecond Latency (Max)
criteria
EDA Foundation: A Specialized Server for CEP
Low Latency, Extreme High Throughput, and Java-based

Average Latency vs. Injection Rate (10 Connections)

80
70
60
Average Latency
(m icroseconds)

50
40
30
20
10
0
0 200000 400000 600000 800000 1000000 1200000
Injection Rate (events/second)

Aggregate, correlate, filter data


Can Handle 1,000s of Queries
Incoming Data Streams Resulting Data fed to user
1,000,000 Messages/Sec Latency
Java code
<1K message size < 1 Millisecond Latency (Avg.)
<5% data matches filter
10 Millisecond Latency (Max)
criteria
Product Architecture
Oracle CEP 10.3
Advanced Tooling Lightweight Java Application Server
 Full environment for building and running Java
Oracle Complex Event Processing applications
 Services -- Security, Logging, User Mgmt
App
App Frameworks
Frameworks
JDBC High Throughput
POJO Spring
Spring Services
Services
POJO  Hundreds of thousands of events/second

Event
Core
Core Infrastructure
Event
Event Infrastructure
Infrastructure Event Processing infrastructure
 CEP Engine
Latency Analyzer

Oracle Event
Stream
Stream Stream Event
Complex
Complex Event Real
RealTime
Real Time
Time
Management
ManagementProcessor
Processing
Processor Kernel
Kernel
Kernel  Event Processing programming constructs and
services
Extended Event Infrastructure  Time-critical streaming

Data Cluster  Well-known event processing language


Caching Management HTTP
Pub/Sub Easy-to-Use Development Environment
Event Engine
Repository  Spring Framework, POJO

Eclipse-based tooling
Foundation Services
Foundation Services
 Plugins for EDA Application Development
Coherence
Config/ Config/ Logging &
Security Logging
Data
AdminCache Admin Administration Multiple-choice JVM
 JRockit or WebLogic Real Time
JRockit – Real Time/ Real Time - DGC  Unique JVM Tools
Select New Features Delivered in Oracle CEP 10.3
• Instantaneous In-Memory Data Manipulation
• Programmatic access to local caches
• Pre-built integration with Coherence cache for distributed caching
• Integrate cache with EPN components
• Enterprise Server Topology High Availability
• Managed Oracle CEP Cluster
• Web2.0 Web Client push-based infrastructure
• Event server components can subscribe to and publish to channels,
send and receive asynchronous messages over HTTP
• Historical Event Management
• Persist Events, Record/Playback Event activity
• Next Generation Eclipse-based EDA tooling
• Visual EPL and EPN Editing
• Visualizer for Event Data and application Monitoring
Oracle CEP Server Architecture

MODULES
Event Processor Applications

Service Framework
(Spring DM)
Module Framework
( OSGi)

JVM with DGC


Oracle CEP Programming Model

• Event-driven components
• Adapter
• Event source– JMS, File,
Socket, etc.
• Complex Event Processor
• Stream
• Continuous Query Language
• Sink
• Complex event output– POJO
listener, JMS, etc.

• Event types
• Event objects are instances of
event types
• Implemented as Beans, Maps,
or ‘Tuples’
Eclipse plug-ins extend WTP, support OSGI
development
Oracle CEP Visualizer
Simplified Administration and Deployment Management,
Oracle CEP Visualizer
Advanced EDA Event Processing Network Performance Tuning
Oracle CEP Visualizer
Dynamic Event Processing Language Injection
CEP Performance Enhanced by JRockit
JRockit Real-Time Provides High Throughput, Low Latency JVM

• Included in Oracle CEP install


• Works with open hardware x86 hardware
• Addresses the key latency issue with Java
• Unique non-intrusive tooling to identify latency bottlenecks
• Extension of the award winning JRockit JVM

250000

200000

SPECjbb2005 bops
150000
Sun JVM
JRockit JVM
100000

50000

0
2P Opteron 2220 4P Opteron 885 2P Intel X5355
JRockit Real Time Mission Control

Latency Analyzer Tooling


• Visualize thread & transaction execution time lines

• Find sources of latency spikes

• Show Thread Transitions


Oracle CEP Data Caching Framework
Enhanced by Coherence for Highly Available, Distributed Caching

Data Services Data Services

• Pluggable framework for caching and data grid products


• Supports replicated, distributed, multi-tier caching
• Out of the Box integration with Oracle Coherence
• Built-in local cache
• Single process caching with paging
Oracle Business Activity Monitoring
Event-Driven Architecture
Event Sources Event Processors Response Services
event

Streams
CEP BAM
event
n s
e latio c V iew
rr s lyti
Co dow a
Applications
win An BAM Dashboards
rn
event a tte ing
P tch
Ma oss n
Databases acr me els e p tio
c
- ti ann Ex rts
event - ch Ae
l
xt t BAM Alerts
onte hmen
C ric d
BPM Processes En g rate
e
Int tions
A c

BPEL Processes
JMS

Messaging
close loop
Oracle Business Activity Monitoring
Event Correlation for Business Users

• Monitor business processes & services in real-time


• Key Performance Indicators (KPIs)
• Service-Level Agreements (SLAs)

• Analyze events as they occur


• Correlate events & KPIs
• Identify trends as they emerge
• Alert users to bottlenecks & solutions

• Act on current conditions


• Event-driven alerts
• Real-time dashboards
• BPEL processes & web services integration
The Oracle BAM Solution
• Enables business operations workers and managers to
• Monitor, analyze and act
• Provides IT with a set of web-based applications to:
• Capture real-time data from any database, message queue or application
• Construct data objects for analysis
• Define metrics, dashboards, alerts & automated actions

BAM Architect &


Administrator
BAM Active Studio

BAM Active Viewer


The Oracle BAM Technical Advantage
• Business User Oriented
• Dashboards and alerts without writing a single line of code
• Web-based AJAX application, with no downloads or installs

• Real-time Active Data


• Applications don’t poll the server for updates
• Streams delta changes on continuous hierarchical queries: Active Data
• Updates are multiplexed over a single server connection for all open queries
• Updates in dimensions create ActiveData in all of the rows of linked fact tables: Active Lookups

• Action Framework
• Business users can access web services integration for actions directly from their
dashboards/alerts

• Event Driven Alerts


• Immediate evaluation when thresholds are crossed, without running periodic queries.
• Alerts on non-events, for example alerts can detect sequences like: event A happened, and then
event B happened, but event C did not happen within 10 minutes.

• Seamless Wireless Recovery


• Automatic recovery from losing internet connectivity, without reloading the dashboard and
without losing any messages

• Scalability
• Supports thousands of events per second and hundreds of users on a 4x4 box
Market Validation of Oracle CEP: Awards

The first time a CEP category has been defined and the first
time this award has been given in the Financial Services
Industry
Market Validation of Oracle CEP: Customer
Testimonials

Tradeweb, a leader in the over-the-counter multi-asset class


online marketplace and a pioneer in the development of pre-
trade liquidity discovery, electronic trading and trade processing,
is using Oracle’s Event-Driven Middleware.

“Oracle CEP 10g R3 is the Cadillac of event-


driven solutions in the market,” said Stephani
Smith, Ph.D, director and vice president Tradeweb
Data Mining Group.

“We recently released SmartIOI, an exciting new product that


utilizes technology based upon the industry's first and only low-
latency deterministic Java container and runtime for EDA.”

http://finance.yahoo.com/news/Oracle-Unveils-New-prnews-13604303.html
Event-Driven Architecture Customers
Select Customer List
Finance/ Banking Telecom High Tech

FXall

Travel/ Transport Public Sector Other


Oracle EDA Suite
Sample Implementations

• Oi
• Largest Brazilian telecommunications company
• Monitor payment processing in real-time with Oracle BAM
• Large throughput with 30,000 event updates per minute

• Australian Vintage
• Second largest vineyard owner and manager in Australia
• Monitor order fulfillment process in real-time with Oracle BAM
• Oracle BAM was the first component in a SOA implementation

• Tradeweb
• Over 2,000 buy-side institutions use for fixed income and derviatives services
• Manage Indication of Interest communications with Oracle CEP/ Event Server
• Process feeds from 200 per second to over 100,000 per second with latencies of under
10 milliseconds

• FXAll
• Leading provider of automated trading and workflow solutions for foreign exchange and
treasury products
• Provide real-time VWAP service to customers with Oracle CEP/ Event Server
Real World Oracle CEP Deployment
Tradeweb
Tradeweb is a leader in the over-the-counter multi-asset class online
marketplace and a pioneer in the development of pre-trade liquidity
discovery, electronic trading and trade processing. In 2008, strategic
partnership between Thompson and 10 leading global broker dealers
Requirements
• When brokers send out IOIs (Indication Of Interest) identify who may
try to take advantage of that information and attempt engaging in
arbitrage, to the detriment of the originating broker and restrict
accordingly.
• Monitor the Thompson orders feed
• Identify what parties are interested in an IOI for a particular security
• Respond by routing the IOI to only specific parties
• Feed Through-put, Performance
• Filter feed at rate over 100,000/Sec to 200/sec for large IOI’s,
latencies < 10ms

Deployment
• Event Server: IBM 335s with 2 Xeons at 2.8 GHz and 4 GB RAM,
running 32-bit RedHat ES 4.0
Smart IOI

© 2008 Oracle Corporation – Proprietary and Confidential


The Challenge and Requirements

• High volume of incoming data delivered in bursts


• Low latency, high throughput message processing
• Ability to modify processing parameters on-the-fly
• Quickly distribute processing results to other systems
• Java-based, easy to configure and extend
• Minimal number of vendors to develop solution
• Many different applications and processes consuming
the output data
Production Implementation
CEP SERVER 0 JRockit Realtime JVM Container

Oracle CEP
Order Message Feed Distributed
Processing
Cache
• Event Processing Application Server
• Business Logic Manager

Application Server
Message Server

Data Feed Distributed


Queue 1
Cache
Application Server
Data Feed
Queue 2

CEP SERVER 1 JRockit Realtime JVM Container


Application
Server…
Oracle CEP
Order Message Feed Distributed
Processing
Cache
• Event Processing
• Business Logic Manager
The Solution

• JRockit Realtime JVM


• Oracle CEP (Weblogic Event Server 2.0)
• Standard JMS Implementation
• Third-Party Distributed Cache
• Oracle 11g Database
• Red Hat Enterprise Server 5.0 / 64 bit
• 20GB Heap Size
d
r

45
- - -

a
a h
o

i
C

l
l

e l

e i s
c

og

m
e

i
e
r

c
s i

e
a g

t
n

s
n
l
h

e
i
e
r s

r s

o t
m

e
e
s r

me

m
e

m
k
n
o

i
a

c t

i n
g v
l

, g

e i

t
m

o g

n
y

h o
e

o t

e
s
r

n
h e

q i

c
r
a

e
t
k s
i

- - - -

s
n

n E n E n E

a
n

u s u s u s

r r r

e e e

h
a

Taker
Taker
Taker
Taker
Taker
Taker
Taker

Taker
Taker

e
r

n
e

c m

y c

w o

a
n

A Taker would like to Hit a price


ss soon as it becomes available
i t

t
p t

, h

i l
n

c
o

r
v

w o

r
h

i
o

i
n

a
n

a
n
t

h
c

e
o
d

u h
R m

e
OMS

z i

t
FXall

s
FIX Engine

t
Credit Engine

n
o
Accelor(TM)

v i
Matching Engine

Price Distribution

a
n E

n
e

t
Maker
Maker
Maker
Maker
Maker

Market
Market
Market
Market
Market

- - -

M
a

c q

r
ma

a M a M M
o

u
o

r r
e
e r
k

e t

e e
k k
t
s

a
t t b
f

a M
ma
- -
e
r

ma ma

e k

d
q
e

e
k

u
s
e

e e a
k k
r

c t
s

r r
c

i s
e

a
os
e
r

e
r
n
i

s
h

g
i e
r

t n

i
e

c t

i
c

a
i

n r
i a

n i
l

g
i
o n
i

n
t

. t

s
46

o b

r v i

i
c

t
e
n
i
un

o
t

g
d

o
t

:
47
48
49
50
51
54

Вам также может понравиться