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

Posted by

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 Templatetemplate useful for simulating a Foreign Currency exchange application
Hello World Templatesimple OEP application sending Hello World message to the server
Signal Generation Templatetemplate 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 OptionOEP 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 ContextAllows to create an application context with the instance of Oracle JDBC Data
Configure Spatial ContextAllows to to manage large number of moving objects like polygons,circles,3D positioning and spatial clustering
Deploy > oep-profileAllows to deploy Oracle Event Processing  application deployment bundle
Deploy > New Deployment profileAllows 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
AdapterAllows OEP application to connect to External Input or outputdata data for processing
BeansAllows to create Event Beans using Java Spring technology for handling event business logic
CacheAllows 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
ChannelAllows to to transfer events from stage to stage in the EPN
Event BeanAllows to create application event logic in Java
ProcessorAllows to create CQL query code to read data from big data Hadoop or NoSQL Database.
Tableas 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 AdapterAllows to READ data in the form of commaseparated values in the EPN
CVS Outbound AdapterAllows to SEND data in the form of commaseparated values from the EPN
HTTP Publisher AdapterAllows to SEND JavaScript Object Notation (JSON) event data from EPN to a web-based user interface
HTTP Subscriber AdapterAllows to READ JavaScript Object Notation (JSON) event data sent from HTTP Server to EPN.
JMS Inbound AdapterAllows to READ Java Message Service (JMS) topics data in the EPN
JMS Outbound AdapterAllows to SEND Java Message Service (JMS) topics data from the EPN
REST Inbound  AdapterAllows to READ events from HTTP Post requests
REST Outbound  AdapterAllows 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 DatabaseOracle CQL processor executes large data volumes using non-relational data store Hadoop distributed file system (HDFS)
NoSQL DatabaseOracle CQL processor executes large data volumes using Oracle NoSQL Database which stores data in key-value pairs
HBase DatabaseOracle 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 SystemDescription
Coherence Cache SystemOEP provides Coherence Cache System component to maintain the data stored on a shared resource
Local Cache SystemOEP 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 PatternCQL Pattern Description
Averaging RuleThe component helps nin computing an average for the specified number of events (table rows)
Detect Missing Event RuleThe component in identifying the expected event that does not occur
Partitioning RuleThe component performs the event panel partition by an event property and display partitioned events
Select With Subsequent Filtering QueryThe component filter events to populate the view with events that pass the filter criteria.
Select From Multiple StreamsThe component joins two streams to select from correlated events
Select With FromThe component select events from a channel according to the specified properties
Select With Pattern MatchingThe component select events from a channel according to specified property values

WLS Extensions in Oracle Event Processing:

WLS Extension Name WLS Extension Description
RMIInboundThe adapter helps in receiving incoming data sent from Oracle WebLogic Server over the remote method invocation (RMI) protocol
RMIOutboundThe 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
EDNInboundThe adapter helps in receiving incoming data from the Oracle SOA Suite event network

EDNOutboundThe 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