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

Basic Workflow

This topic describes the basic workflow of IEP.

Creating an Intelligent Event Processing Module Project

You create a new Intelligent Event Processing Module project in the NetBeans IDE. You then add one or more event processors to the project.

The following image shows an IEP Module project that has one event processor.

image:Screen capture of an IEP Module project that has one event processor.

To Create an Intelligent Event Processing Module Project

  1. From the IDE's main menu, choose File -> New Project.

    The New Project wizard opens.

  2. In the Categories list, select the SOA node.
  3. In the Projects list, select the Intelligent Event Processing Module node.
  4. Click Next.
  5. (Optional) In the Project Name field, change the default project name.
  6. Click Finish.

    The new IEP Module project appears in the Projects window. You can now add one or more event processors to the project.

To Add an Event Processor to the Project

  1. Right-click the Processor Files node and choose New -> Intelligent Event Processor.
  2. (Optional) In the File Name field, change the default file name.
  3. Click Finish.

    The event processor is added. The IEP Editor opens in Design view. You can now define the event processing logic by adding and configuring IEP operators.

Adding and Configuring IEP Operators

Once you add an event processor to an IEP Module project, you define the event processing logic by adding and configuring IEP operators. The following rules apply:

The following image 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.

For general information about the IEP operators, see Introduction to IEP Operators.

For specific information about each IEP operator, see the following topics:

To Add IEP Operators to an Event Processor

  1. If the Palette is not visible in the NetBeans IDE, then choose Window -> Palette from the IDE's main menu.
  2. Drag the appropriate IEP operators from the Palette to the Design view.

To Configure IEP Operators in an Event Processor

  1. For each IEP operator that you added, do the following:
    1. Double-click the operator. Alternately, you can click the operator, go to the Properties window, and click the ellipsis.

      The property editor opens.

    2. Edit the appropriate properties. For some operators, you can add or modify attributes.
    3. (Optional) Click the Documentation tab and supply notes on this component.
    4. Click OK.
  2. Connect the operators to each other as appropriate.

    You send the output of one operator to the input of another operator by selecting the output port of the first operator and dragging it to the input port of the second operator.

Disabling the Generation of Bindings and Services

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.

By default, the WSDL documents include concrete information (that is, bindings and services). You might need to manually update the default settings for any binding and service. For example, the default file directory is a Windows path, which would not work correctly on a UNIX system. If you manually update the WSDL document and then save the IEP Module project again, the changes that you made to the WSDL document are overwritten.

You can configure IEP to generate abstract WSDL documents instead. The bindings and services are not included. With this approach, you can define the bindings and services by using the Composite Application Service Assembly (CASA) Editor. These bindings and services are not affected by subsequent changes to the IEP Module project.

To Disable the Generation of Bindings and Services

  1. Go to the location of the IEP Module project and open the project.properties file.
  2. Change the value of the always.generate.abstract.wsdl flag to true.
  3. Save the project.properties file.

Validating Event Processors

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

To Validate Event Processors

  1. In the NetBeans IDE, open the event processor that you want to validate.
  2. Click the Validate XML icon at the top of the Design view.

    The results appear in the Output window.

  3. If you switch to the Source view and click a validation error in the Output window, then the source of the error is highlighted.

Creating and Deploying the Composite Application Project

You deploy an IEP Module project as part of a Composite Application project.

The Composite Application Service Assembly (CASA) Editor provides a visual interface for editing the deployment configuration of a Composite Application project. You can perform such tasks as adding JBI module projects, adding and removing connections between endpoints, and adding concrete WSDL elements.

To Create a Composite Application Project

  1. From the IDE's main menu, choose File -> New Project.

    The New Project wizard opens.

  2. In the Categories list, select the SOA node.
  3. In the Projects list, select the Composite Application node.
  4. Click Next.
  5. (Optional) In the Project Name field, change the default project name.
  6. Click Finish.

    The new Composite Application project appears in the Projects window. In addition, the CASA Editor appears.

To Add the IEP Module Project to the Composite Application Project

  1. In the Projects window, right-click the Composite Application project and choose Add JBI Module.

    The Select Project dialog box appears.

  2. Select the IEP Module project.
  3. Click Add Project JAR Files.

    The IEP Module project is added to the JBI Modules area of the CASA Editor.

To Define the Binding Components and Connections

  1. If you generated an abstract WSDL document, then use the CASA Editor to define the binding components and connections.

    For detailed instructions, see the CASA Editor topics in the NetBeans IDE help.

  2. If you generated a concrete WSDL document, then you can override the generated bindings by deleting the connections and defining the new binding components and connections.

    Caution

    Caution - For both abstract and concrete WSDL documents, do not clone the WSDL document to customize its generated bindings and services. Updates to the generated WSDL documents will not be updated after the cloning. Over time, the cloned and edited WSDL document deployed for the bindings will become inconsistent with the WSDL document deployed for the IEP Service Engine.


To Deploy the Composite Application Project

  1. Right-click the Composite Application project and select Build.
  2. Right-click the Composite Application project and select Deploy.
  3. Wait until the BUILD SUCCESSFUL message appears in the Output window.

    You can now create test cases to ensure that the IEP Module project works as expected.

    If you make additional changes to the IEP Module project, then you must rebuild and redeploy the Composite Application project.