Oracle Event Processing (OEP) features in SOA Suite 12c

Oracle Event Processing (OEP) 12c is used for design, develop and deploy the complex event processing applications that needs monitoring of real-time streaming events (IoT) providing high throughput and low latency platform. 

Oracle Event Processing consists of the below given components
1. Oracle Event Processing server : where the Oracle Event Processing applications are hosted / deployed
2. Oracle Event Processing Visualizer: web based interface to configure, deploy and manage Oracle Event Processing applications
3. Command-line administrative interface : command line interface to start and stop domains , deploy , resume or uninstall an application on Oracle Event Processing Server.
4. Oracle JDeveloper IDE : enables to design, develop and deploy the Oracle Event Processing applications

An Oracle Event Processing application receives and processes data streaming from an event source. Oracle Event Processing follows the event-driven architecture called SEDA which is comprises of into a set of stages (nodes) connected by queues. Oracle Event Processing application, the channel represents queues, other components are considered as stages in the processing.

The Event Processing Network (EPN) is the combination of stages and queues for processing the data streaming and helps in performing the below execution steps

  1. Input received in EPN is through and adapter.
  2. Adapter converts input into an event
  3. An event is processed from one stage to another stage using channels / queues.
  4. Events are similar to database rows and acts as tuples to execute queries with Oracle Continuous Query Language (Oracle CQL) desinged to execute streaming data.
  5. Each stage can make connections with external components if required for processing logic. Stages also enable to capture multiple processing paths connected with multiple downstream for processing streaming data.

Oracle Event Processing Application development in JDeveloper

Project Templates: Oracle Event Processing applications can be developed using the below provided application templates.

OEP Application Templates OEP Application Template Description
Empty OEP Project  template provides the basic structure for Oracle Event Processing applications
FX Template template useful for simulating a Foreign Currency exchange application  
Hello World Template simple OEP application sending Hello World message to the server
Signal Generation Template template useful for simulating events and generating signal for the change in price or volumes data streaming 

Oracle Event Processing project Options:

Oracle Event Processing project provides the below actions to be performed in the context menu.

OEP context Menu Option OEP context Menu Option Description
Open EPN Diagram

The EPN Diagram provides many features and is used as the Optimised layout. It allows to create Event Types to carry event data using Java Bean or Tulep Event Type and is registered in the Event Type Repository.  It allows to Add Component onto an empty area in the EPN to build the EPN diagram

Configure JDBC Context Allows to create an application context with the instance of Oracle JDBC Data
Configure Spatial Context Allows to to manage large number of moving objects like polygons,circles,3D positioning and spatial clustering
Deploy > oep-profile Allows to deploy Oracle Event Processing  application deployment bundle
Deploy > New Deployment profile Allows to deployment profile for the  Oracle Event Processing application
Encryption Manager
Allows to to encrypt the application

EPN Components:

Oracle Event Processing application comprises of different components to be added in the EPN. These components allows to create Event Types, handling inbound and outbound adapter data streaming , helps in using CQL query code and perform various other operations. 

EPN component  EPN Component Description
Adapter Allows OEP application to connect to External Input or outputdata data for processing
Beans Allows to create Event Beans using Java Spring technology for handling event business logic
Cache Allows to create a Cache System Component in the EPN to create space / area for random access memory (RAM) that holds recently accessed data by an OEP application
Channel Allows to to transfer events from stage to stage in the EPN
Event Bean Allows to create application event logic in Java 
Processor Allows to create CQL query code to read data from big data Hadoop or NoSQL Database.
Table as an external relation source to store events in the database , configured as a listener 

Advanced Adapters in OEP Application:

Below given are the advanced adapters which can be used in the Oracle Event Processing application to connect to External Input or output data data for processing.

Adapter Name  Adapter Description
CVS Inbound Adapter Allows to READ data in the form of commaseparated values in the EPN
CVS Outbound Adapter Allows to SEND data in the form of commaseparated values from the EPN
HTTP Publisher Adapter Allows to SEND JavaScript Object Notation (JSON) event data from EPN to a web-based user interface
HTTP Subscriber Adapter Allows to READ JavaScript Object Notation (JSON) event data sent from HTTP Server to EPN.
JMS Inbound Adapter Allows to READ Java Message Service (JMS) topics data in the EPN
JMS Outbound Adapter Allows to SEND Java Message Service (JMS) topics data from the EPN
REST Inbound  Adapter Allows to READ events from HTTP Post requests
REST Outbound  Adapter Allows to SEND events in REST format from EPN

OEP integration with Big Data Extensions: 

The Oracle Event Processing applications handles huge volume of event data which needs to be processed and stored.  The below given are the big data extensions being used with OEP applications for storing huge event data providing  high throughout and low latency.

Database Name  Database Description
Hadoop Database  Oracle CQL processor executes large data volumes using non-relational data store Hadoop distributed file system (HDFS)
NoSQL Database Oracle CQL processor executes large data volumes using Oracle NoSQL Database which stores data in key-value pairs
HBase Database Oracle CQL processor executes large data volumes using HBase Database

Cache system in Oracle Event Processing: OEP provides the below mechanism for providing cache using OEP applications.

Cache System Description
Coherence Cache System OEP provides Coherence Cache System component to maintain the data stored on a shared resource
Local Cache System OEP provides Local Cache System to access data files through network

CQL Patterns in Oracle Event Processing:

Oracle CQL patterns are stored within the context of an Oracle CQL processor and helps in Oracle CQL query formation. 

CQL Pattern CQL Pattern Description
Averaging Rule The component helps nin computing an average for the specified number of events (table rows)
Detect Missing Event Rule The component in identifying the expected event that does not occur
Partitioning Rule The component performs the event panel partition by an event property and display partitioned events
Select With Subsequent Filtering Query The component filter events to populate the view with events that pass the filter criteria.
Select From Multiple Streams The component joins two streams to select from correlated events
Select With From The component select events from a channel according to the specified properties
Select With Pattern Matching The component select events from a channel according to specified property values

WLS Extensions in Oracle Event Processing:

WLS Extension Name  WLS Extension Description
RMIInbound The adapter helps in receiving incoming data sent from Oracle WebLogic Server over the remote method invocation (RMI) protocol
RMIOutbound The adapter helps in sending outgoing data to Oracle WebLogic Server over the remote method invocation (RMI) protocol

EDN Adapters in Oracle Event Processing:

WLS Extension Name  WLS Extension Description
EDNInbound The adapter helps in receiving incoming data from the Oracle SOA Suite event network

EDNOutbound The adapter helps in sending outgoing data to the Oracle SOA Suite event network

 

Points to Consider:

  • EPN components helps in exchanging data with external sources like external databases, caches, HTTP messages, Java Message Service (JMS) messages, files, and big data storage.
  • Event Data is modelled as event types so that it can be accessed by the Oracle Event Processing application.
  • Oracle Continuous Query Language (Oracle CQL) helps in querying the streaming data
    Oracle Event Processing applications supports Spring Framework for writing Java Classes for adding additional logic as Spring beans to retrieve and send event data like other EPN components
  • OSGi (Open Services Gateway initiative) that that implements a complete and dynamic component model in the form of Bundles for deployment and can be installed, started, stopped, updated, and uninstalled remotely. Oracle Event Processing application components are assembled and deployed as OSGi bundles.
  • XML configuration file: Oracle Event Processing configuration files are defined in XML like assembly file which provides mapping between EPN stages and other design-time configurations
  • Hadoop / NoSQL Integration:  Oracle Event Processing can access the data from big data Hadoop or from NOSQL Database using the CQL query code. 
  • REST Adapters: Oracle Event Processing integrates with REST Inbound and Outbound Adapters to consume events from HTTP POST requests to be processed by the EPN.
  • Oracle Business Rules: Oracle Event Processing integrates with Oracle Business Rules to develop custom business logic in OEP applications.

REFERENCES:

Oracle Middleware Event Processing