Skip Navigation Links | |
Exit Print View | |
Oracle Java CAPS Intelligent Event Processor (IEP) User's Guide Java CAPS Documentation |
Designing Intelligent Event Processor (IEP) Projects
Intelligent Event Processor Overview
Complex Event Processing and Event Stream Processing
IEP Design-Time and Runtime Components
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
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
IEP Operator Inputs and Outputs
To Create a Relation Aggregator Operator
To Create a Time Based Aggregator Operator
To Create a Tuple Based Aggregator Operator
Correlation and Filter Operators
To Create a Relation Map Operator
To Create a Stream Projection and Filter Operator
To Create a Tuple Serial Correlation Operator
To Create an External Table Polling Stream Operator
To Create a Replay Stream Operator
To Create a Stream Input Operator
To Create a Table Input Operator
To Create a Batched Stream Output Operator
To Create an Invoke Stream Operator
To Create a Relation Output Operator
To Enable the Save Stream Operator Dynamically at Runtime
To Disable the Save Stream Operator Dynamically at Runtime
To Create a Stream Output Operator
To Create a Table Output Operator
To Create a Delete Stream Operator
To Create an Insert Stream Operator
To Create a Notification Stream Operator
To Create a Relation Stream Operator
To Create an Intersect Operator
To Create a Union All Operator
To Create an Attribute Based Window Operator
To Create a Partitioned Window Operator
To Create a Time Based Window Operator
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
Event Process-Specific Database Tables
Operator-Specific Database Tables
Configuring Message Reliability in an IEP Module Project
Sequence operators enable you to order events based on attributes that have sequential order.
The following table lists the input and output for each operator.
|
The Contiguous Order operator defines a stream that consists of events selected by one or more attributes and then placed in sequence sorted by another attribute.
Assume that you have the following scenario:
A server receives a stream of messages from various hardware devices.
For each hardware device, the messages have unique IDs (1, 2, 3, 4, and so on).
Because of an unreliable network, messages may be lost or received in a different order.
For each hardware device, you want to sort the messages by their unique ID.
You could add a Stream Input operator with the following attributes:
deviceID (VARCHAR)
msgID (BIGINT)
msg (VARCHAR)
You could then connect the Stream Input operator to a Contiguous Order operator.
In the property editor of the Contiguous Order operator, set the partition key to the deviceID attribute. This setting divides the input stream into multiple substreams, one per device.
In the property editor of the Contiguous Order operator, set the sort value to the msgID attribute and the start value to 1. For each substream, the Contiguous Order operator sorts the messages by their unique ID.
For example, let's say that the messages from one device arrive in the following order: 3, 2, 5, 1, 7, 4, 4, 6.
When message 1 is received, the Contiguous Order operator will output messages 1, 2, and 3. When message 4 is received, the Contiguous Order operator will output messages 4 and 5. When message 6 is received, the Contiguous Order operator will output messages 6 and 7.
The Contiguous Order operator ignores duplicate events. Therefore, the output stream in the hardware device scenario contains only one instance of message 4.
Note that in the output stream, the output from the multiple substreams is interspersed.
The property editor opens. Notice that the component has inherited the schema of its input stream.
The attribute must have values that can be sorted sequentially.
The Gap Window operator defines a relation that consists of events that are missing from the input stream, based on an attribute that has a sequential order.
Assume that you have the following scenario:
A server receives a stream of messages from various hardware devices.
For each hardware device, the messages have unique IDs (1, 2, 3, 4, and so on).
Because of an unreliable network, messages may be lost or received in a different order.
For each hardware device, you want to sort the messages by their unique ID.
You could add a Stream Input operator with the following attributes:
deviceID (VARCHAR)
msgID (BIGINT)
msg (VARCHAR)
You could then connect the Stream Input operator to a Gap Window operator.
In the property editor of the Gap Window operator, set the partition key to the deviceID attribute. This setting divides the input stream into multiple substreams, one per device.
In the property editor of the Gap Window operator, set the sort value to the msgID attribute and the start value to 1. For each substream, the Gap Window operator creates an output relation that indicates which message is missing at any point in time.
For example, let's say that the messages from one device arrive in the following order: 3, 2, 5, 1, 7, 4, 4, 6.
When message 3 is received, the Gap Window operator will output message 1. When message 1 is received, the Gap Window operator will output message 4. When message 4 is received, the Gap Window operator will output message 6. When message 6 is received, the Gap Window operator will output message 8.
Note that in the output relation, the output from the multiple relations is interspersed.
The property editor opens. Notice that the component has inherited the schema of its input stream.
The attribute must have values that can be sorted sequentially.