Skip Headers
Oracle® Complex Event Processing Getting Started
11g Release 1 (11.1.1)

Part Number E14476-03
Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Go to next page
View PDF

1 Overview of Oracle CEP

This section contains information on the following subjects:

1.1 Introduction to Oracle Complex Event Processing

Oracle CEP (formally known as the WebLogic Event Server) is a Java server for the development and deployment of high-performance event driven applications. It is a lightweight Java application container based on Equinox OSGi, with shared services, including the Oracle CEP Service Engine, which provides a rich, declarative environment based on Oracle Continuous Query Language (Oracle CQL) - a query language based on SQL with added constructs that support streaming data - to improve the efficiency and effectiveness of managing business operations. Oracle CEP supports ultra-high throughput and microsecond latency using JRockit Real Time and provides Oracle CEP Visualizer and Oracle CEP IDE for Eclipse developer tooling for a complete real time end-to-end Java Event-Driven Architecture (EDA) development platform.

Oracle CEP has the capability of deploying user Java code (POJOs) which contain the business logic. Running the business logic within Oracle CEP provides a highly tuned framework for time and event driven applications.

1.2 Conceptual Overview of Oracle CEP

Figure 1-1 provides a high level view of an event-driven system.

Figure 1-1 Example Event -Driven System

Description of Figure 1-1 follows
Description of "Figure 1-1 Example Event -Driven System"

An event-driven system is generally comprised of several event sources, the real-time event-driven applications, and event sinks. Oracle CEP server and the Oracle CEP applications you deploy to it comprises the event-driven applications. The event sources generate streams of ordinary event data. The Oracle CEP applications listen to the event streams, process these events, and generate notable events. Event sinks receive the notable events.

Event sources, event-driven applications, and event sinks are de-coupled from each other; one can add or remove any of these components without causing changes to the other components. This is a key attribute of event-driven architectures.

Event-driven applications are rule-driven. In Oracle CEP, rules are expressed as queries using the Oracle Continuous Query Language (Oracle CQL). These queries are persisted to a data store and are used for processing the inbound stream of events and generating the outbound stream of events. Queries typically perform filtering and aggregation functions to discover and extract notable events from the inbound event streams. As a result, the number of outbound events is generally much lower than that of the inbound events.

Oracle CEP is a middleware for the development of event-driven applications. An Oracle CEP application is essentially an event-driven application.

Next, consider the application itself, which is hosted by the Oracle CEP server, a light-weight container as shown in Figure 1-2.

Figure 1-2 Oracle CEP Application

Description of Figure 1-2 follows
Description of "Figure 1-2 Oracle CEP Application"

An Oracle CEP application is typically composed of the following main component types:

1.3 Event Processing Networks

Adapters, channels, processors, and business logic POJOs can be connected arbitrarily to each other, forming event processing networks (EPN). Examples of topologies of EPNs are:

EPNs have two important attributes:

1.4 Use Cases

The use cases for Oracle CEP span a variety of businesses and applications. Just a few of these diverse use cases include:

1.5 Summary of Oracle CEP Features

The following list summarizes the main features of Oracle CEP:

1.6 Supported Platforms

For detailed information on the platforms that Oracle CEP supports, see:

You can find the installation program appropriate for your platform here: For more information, see Section 2.2, "Installation Overview".

1.7 Oracle CEP IDE for Eclipse

Oracle CEP IDE for Eclipse is targeted specifically to programmers that want to develop Oracle CEP applications as Figure 1-3 shows.

Figure 1-3 Oracle CEP IDE for Eclipse

Description of Figure 1-3 follows
Description of "Figure 1-3 Oracle CEP IDE for Eclipse"

The Oracle CEP IDE for Eclipse is a set of plugins for the Eclipse IDE designed to help develop, deploy, and debug Oracle CEP applications.

The key features of Oracle CEP IDE for Eclipse are:

For details, see:

1.8 Oracle CEP Visualizer

Oracle provides an advanced run-time administration console called the Oracle CEP Visualizer as Figure 1-4 shows.

Figure 1-4 Oracle CEP Visualizer

Description of Figure 1-4 follows
Description of "Figure 1-4 Oracle CEP Visualizer"

Using Oracle CEP Visualizer, you can manage, tune, and monitor Oracle CEP server domains and the Oracle CEP applications you deploy to them all from a browser. Oracle CEP Visualizer provides a variety of sophisticated run-time administration tools, including support for Oracle CQL and EPL rule maintenance and creation.

For details, see Oracle CEP Visualizer User's Guide

1.9 New Features in Oracle CEP 11g Release 1 (11.1.1)

This version of Oracle CEP includes the following new features:

1.9.1 High Availability and Scalability

In this release, Oracle CEP provides new high availability input and output adapters that allow you to build Oracle CEP applications with varying high availability quality of service options.


In this release, Oracle CEP provides new scalability components you can use with or without high availability to help scale applications.


1.9.2 Record and Playback of Events

The event repository feature of Oracle CEP allows you to record events flowing through an event processing network (EPN) and store them so you can later play back the events. The event repository is configured per stage, such as a processor or channel.

In this release, Oracle CEP server uses the Berkeley database as the event store.


1.9.3 Oracle CEP IDE for Eclipse

In this release, Oracle CEP IDE for Eclipse provides:

1.9.4 Visualizer Administration Console

In this release, Oracle CEP Visualizer provides:

1.9.5 Oracle Continuous Query Language (Oracle CQL)

Oracle Continuous Query Language (Oracle CQL) is a query language based on SQL with added constructs that support streaming data. Using Oracle CQL, you can express queries on data streams to perform complex event processing (CEP) using Oracle CEP.

In this release, Oracle CQL includes:

  • Data cartridges: see "Introduction to Data Cartridges" in the Oracle CEP CQL Language Reference.

  • Data cartridge TABLE clause: see "Data Cartridge TABLE Query" in the Oracle CEP CQL Language Reference.

  • DIFFERENCE USING clause: see "Detecting Differences in Query Results" in the Oracle CEP CQL Language Reference.

  • ALIASES element: see "Defining Aliases Using the Aliases Element" in the Oracle CEP CQL Language Reference.

  • Complex predicates for queries against external relations (both cache and database): now you can create queries that use logical operators (such as AND, OR, and NOT) in a predicate sub-clause and arithmetic operators on the comparison attributes in a sub-clause.

    For example, the following query is now supported:

    SELECT * FROM S[NOW], MyExternalRelation    WHERE S.C1 + S.C2 = MyExternalRelation.C1 * F(S.C1)

    For a query that joins against a relational database table, Oracle CQL supports all kinds of complex predicates. For more information, see "Configuring an Oracle CQL Processor Table Source" in the Oracle CEP Developer's Guide for Eclipse.

    For a query that joins against a cache, you must observe some restrictions. For more information, see "Creating Joins Against the Cache" in the Oracle CEP CQL Language Reference.

1.9.6 Web Services Support

In this release, the Oracle CEP Developer's Guide for Eclipse includes instructions on how to integrate an Oracle CEP application with Web services.

See "Configuring Web Services" in the Oracle CEP Developer's Guide for Eclipse.

1.9.7 JMS Adapter

In this release, both inbound and outbound JMS adapters can use transacted sessions. That is, you can configure a JMS adapter with a session-transacted child element for both inbound and outbound JMS adapters.

See "Configuring the JMS Adapters" in the Oracle CEP Developer's Guide for Eclipse.

1.9.8 Samples

In this release, Oracle CEP includes a new sample: the Oracle Spatial data cartridge sample.

See Section 3.8, "Oracle Spatial Data Cartridge Example".

1.9.9 Domain Directory Structure Changes

To support clustering and a multi-server environment, the directory structure of the out-of-the-box and sample domains has changed.

Previously, all domain files were located directly under the domain directory, such as ORACLE_CEP_HOME/ocep_11.1/samples/domains/helloworld_domain, where ORACLE_CEP_HOME refers to the top-level installation directory of Oracle CEP.

In this release, the domain directory contains one or more sub-directories that correspond to a single server; this directory contains all the configuration files for that server. For example, the HelloWorld domain contains a single server whose configuration files are located in the following directory: ORACLE_CEP_HOME/ocep_11.1/samples/domains/helloworld_domain/defaultserver.

The new Configuration Wizard for creating domains follows this updated directory structure.


1.10 Next Steps