JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Java CAPS Intelligent Event Processor (IEP) User's Guide     Java CAPS Documentation
search filter icon
search icon

Document Information

Designing Intelligent Event Processor (IEP) Projects

Intelligent Event Processor Overview

Complex Event Processing and Event Stream Processing

Typical IEP Scenarios

IEP Architecture

IEP Design-Time and Runtime Components

Basic Workflow

Creating an Intelligent Event Processing Module Project

To Create an Intelligent Event Processing Module Project

To Add an Event Processor to the Project

Adding and Configuring IEP Operators

To Add IEP Operators to an Event Processor

To Configure IEP Operators in an Event Processor

Disabling the Generation of Bindings and Services

To Disable the Generation of Bindings and Services

Validating Event Processors

To Validate Event Processors

Creating and Deploying the Composite Application Project

To Create a Composite Application Project

To Add the IEP Module Project to the Composite Application Project

To Define the Binding Components and Connections

To Deploy the Composite Application Project

Introduction to IEP Operators

Understanding Schemas

Understanding Streams

Understanding Relations

Supported Data Types

IEP Operator Inputs and Outputs

Aggregator Operators

Relation Aggregator

To Create a Relation Aggregator Operator

Time Based Aggregator

To Create a Time Based Aggregator Operator

Tuple Based Aggregator

To Create a Tuple Based Aggregator Operator

Correlation and Filter Operators

Relation Map

To Create a Relation Map Operator

Stream Projection and Filter

To Create a Stream Projection and Filter Operator

Tuple Serial Correlation

To Create a Tuple Serial Correlation Operator

Input Operators

External Table Polling Stream

To Create an External Table Polling Stream Operator

Replay Stream

To Create a Replay Stream Operator

Stream Input

To Create a Stream Input Operator

Table Input

To Create a Table Input Operator

Output Operators

Batched Stream Output

To Create a Batched Stream Output Operator

Invoke Stream

To Create an Invoke Stream Operator

Relation Output

To Create a Relation Output Operator

Save Stream

To Enable the Save Stream Operator Dynamically at Runtime

To Disable the Save Stream Operator Dynamically at Runtime

Stream Output

To Create a Stream Output Operator

Table Output

To Create a Table Output Operator

Relation Converter Operators

Delete Stream

To Create a Delete Stream Operator

Insert Stream

To Create an Insert Stream Operator

Notification Stream

To Create a Notification Stream Operator

Relation Stream

To Create a Relation Stream Operator

Relation Operators

Distinct

To Create a Distinct Operator

Intersect

To Create an Intersect Operator

Minus

To Create a Minus Operator

Union

To Create a Union Operator

Union All

To Create a Union All Operator

Sequence Operators

Contiguous Order

To Create a Contiguous Order Operator:

Gap Window

To Create a Gap Window Operator:

Stream Converter Operators

Attribute Based Window

To Create an Attribute Based Window Operator

Partitioned Window

To Create a Partitioned Window Operator

Time Based Window

To Create a Time Based Window Operator

Tuple Based Window

To Create a Tuple Based Window Operator

WSDL Documents in IEP Module Projects

Data Types in the WSDL Document

Message Objects in the WSDL Document

Bindings and Services in the WSDL Document

Generating Concrete WSDL Documents

Generating Abstract WSDL Documents

Understanding the IEP Database

Configuring the IEP Database to Use Oracle

To Create the IEP User in the Oracle Database

To Install the Oracle Database Driver in the Application Server

To Create the Non-XA Connection Pool

To Create the Non-XA JDBC Resource

To Create the XA Connection Pool

To Create the XA JDBC Resource

To Enable Automatic Recovery of XA Transactions

To Configure the IEP Service Engine to Use the JDBC Resources

To Restart the IEP Service Engine and Create the Database Tables

Configuring the IEP Database to Use MySQL

To Create the IEP User in the MySQL Database

To Install the MySQL Database Driver in the Application Server

To Create the Non-XA Connection Pool

To Create the Non-XA JDBC Resource

To Create the XA Connection Pool

To Create the XA JDBC Resource

To Enable Automatic Recovery of XA Transactions

To Configure the IEP Service Engine to Use the JDBC Resources

To Restart the IEP Service Engine and Create the Database Tables

IEP Service Engine-Specific Database Tables

EMS_PLAN Table

EMS_OUTPUT Table

EMS_ENGINE Table

EMS_TOKEN Table

Event Process-Specific Database Tables

EMS_PROCESSING_STATE_N Tables

EMS_TABLE_USAGE_N Tables

Operator-Specific Database Tables

Configuring Message Reliability in an IEP Module Project

To Disable Message Reliability for Outbound Messages

Index

Intelligent Event Processor Overview

The Intelligent Event Processor (IEP) enables you to perform complex event processing (CEP) and event stream processing (ESP) from within an enterprise service bus.

Complex Event Processing and Event Stream Processing

In the most general sense, the term event refers to anything that happens in a system. For example:

You use IEP to process computerized representations of these events.

These events are generated and sent out by applications. The applications can be located within the enterprise service bus, or they can come from an external system that is connected to the enterprise service bus. The term event stream refers to a continuous set of events. For example, an event stream could contain the password changes made by the users of a web-based application.

Processing an event stream can involve many types of activities. For example:

When you combine multiple events to create a higher level event, the result is called a complex event. An architectural style in which software modules operate in response to the arrival of events is called event driven architecture.

Typical IEP Scenarios

The following table describes typical IEP scenarios.

Scenario
Example
Financial trade auditing and compliance
Examine a stream of stock transactions and find any transactions that are suspicious. Check whether any traders involved in a suspicious transaction also appear in a database table that contains the names of persons of interest.
Network monitoring and traffic engineering
Receive an undifferentiated stream of alerts from various hardware devices, group them by the device, and sort them by the unique ID. For each device, detect any missing alerts and request them to be re-sent.
IT security event correlation
Examine the password changes that have been made to a web-based application. If the number of password changes in a given hour is more than twice the average, then generate a security alert.
Asset management and tracking using RFID
Examine the RFID signals that are regularly emitted by all of the products in a store. Determine whether a product is moving through the exit area without having been purchased. Determine whether a product's RFID emitter is no longer working.

IEP Architecture

The following diagram illustrates the IEP architecture.

image:Diagram shows the IEP Service Engine in the JBI environment.

Within the enterprise service bus, the IEP Service Engine can interact with any Java Business Integration (JBI) service engine or binding component that is also plugged into the bus. The Normalized Message Router takes care of message exchanges between the components.

By default, the IEP Service Engine receives input events from the HTTP Binding Component and sends output to the File Binding Component. The IEP Service Engine uses a database to maintain information about deployed event processors.

IEP Design-Time and Runtime Components

IEP consists of a design-time component and a runtime component.

In the NetBeans IDE, you create an IEP Module project and then add one or more event processors. For each event processor, you drag operators from the palette onto the design canvas. In the palette, the operators are grouped into the following categories: Aggregator, Correlation and Filter, Input, Output, Relation Converter, Relation, Sequence, and Stream Converter.

image:Screen capture of the IEP palette.

An event processor must have at least one input operator and one output operator. You can add any number of operators between the input operator and the output operator. On the design canvas, you connect the operators with each other and use property editors to configure the operators.

The following screen capture shows a set of operators in an event processor. The operator at the left is an input operator. The operator at the right is an output operator.

image:Screen capture of IEP operators combined with each other in the Design view.

Some operators allow you to enter SQL-like statements. For these operators, knowledge of the SQL SELECT statement can be useful.

When you save an IEP Module project, IEP generates a Web Services Description Language (WSDL) document for each event processor. The WSDL documents contain the endpoints for the event processors.

You can run a set of predefined validation rules on an event processor at design time.

To deploy an IEP Module project, you must create and build a Composite Application project. These tasks create a service assembly. The service assembly is a collection of service units intended for the IEP Service Engine and any other required JBI component (such as the HTTP Binding Component and the File Binding Component). When the project is deployed, the IEP Service Engine receives and processes the input events.