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
- Input received in EPN is through and adapter.
- Adapter converts input into an event
- An event is processed from one stage to another stage using channels / queues.
- 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.
- 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: