Oracle® Fusion Middleware

Visualizer User's Guide for Oracle Event Processing

11g Release 1 (11.1.1.7)

E14302-09

February 2013

Documentation for Oracle Event Processing administrators and developers that describes how to use Oracle Event Processing Visualizer to build, configure, deploy, and manage single- or multi-server event processing applications that incorporate Oracle Continuous Query Language (CQL) and a variety of services.

Oracle Fusion Middleware Visualizer User's Guide for Oracle Event Processing 11g Release 1 (11.1.1.7)

E14302-09

Copyright © 2007, 2013,  Oracle and/or its affiliates. All rights reserved.

Primary Author: Oracle Corporation

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Contents

List of Examples

List of Figures

List of Tables

Preface

- Audience

- Documentation Accessibility

- Related Documents

- Conventions

What's New in This Guide

Part I Introduction

1 Overview of Oracle Event Processing Visualizer

- 1.1 Overview of Using Oracle Event Processing Visualizer

- 1.2 Understanding the Oracle Event Processing Visualizer User Interface

- 1.2.1 Top Pane

- 1.2.2 Left Pane

- 1.2.3 Right Pane

- 1.2.4 Overview of the Oracle Event Processing Visualizer Dashboard

- 1.2.5 Overview of the Stream Visualizer (ViewStream) Panel

- 1.2.6 Overview of the Event Processing Network

- 1.2.6.1 Event Processing Network Context Menu

- 1.2.7 Oracle Event Processing Visualizer Panels that Require Refresh

- 1.3 Understanding Oracle Event Processing Visualizer Administration Tasks

- 1.3.1 Managing Oracle Event Processing Applications

- 1.3.1.1 The com.bea.wlevs.dataservices Application

- 1.3.2 Managing Oracle Event Processing Servers

- 1.3.3 Managing Security

- 1.3.4 Updating Configuration Data

- 1.4 Who Uses Oracle Event Processing Visualizer?

- 1.4.1 Administrators

- 1.4.2 Developers

- 1.4.3 Business Users

- 1.5 National Language Support

- 1.5.1 Configuration File Encoding: UTF-8

- 1.6 Next Steps

2 Using Oracle Event Processing Visualizer

- 2.1 Starting the Oracle Event Processing Visualizer

- 2.1.1 Prerequisites

- 2.1.2 How to Start Oracle Event Processing Visualizer Using a Browser

- 2.1.3 How to Start Oracle Event Processing Visualizer Using Oracle Event Processing IDE for Eclipse

- 2.1.4 How to Start Oracle Event Processing Visualizer in a Multi-Server Domain

- 2.2 Managing User Preferences

- 2.2.1 How to Manage User Preferences

- 2.3 Improving Oracle Event Processing Visualizer Accessibility

Part II Application Tasks

3 Overview of Application Tasks

- 3.1 Event Processing Network (EPN) Management

- 3.2 Application Lifecycle Management

- 3.3 Rules Management

- 3.4 Configuration History Management

- 3.4.1 Enabling and Disabling Configuration History Management

- 3.4.2 Configuring Change Record Purge Behavior

- 3.4.3 Resource Configuration History Management

- 3.4.4 Application Configuration History Management

- 3.4.5 Application Lifecycle and Configuration History Management

- 3.4.6 Multi-Server Domains and Configuration History Management

- 3.4.6.1 Rejoining a Multi-Server Domain

- 3.4.6.2 Simultaneous Updates

4 Managing the Event Processing Network

- 4.1 Viewing the EPN of an Application

- 4.1.1 How to View the EPN of an Application

- 4.2 Viewing and Editing the Configuration of a Stage

- 4.2.1 How to View and Edit the Configuration of a Stage

- 4.2.1.1 Channel Properties

- 4.2.1.2 Channel Properties: Outbound Channel

- 4.2.1.3 Channel Properties: Outbound Channel With Query Selector

- 4.2.1.4 Stream Properties

- 4.2.1.5 Oracle CQL Processor Properties

- 4.2.1.6 EPL Processor Properties

- 4.2.1.7 Adapter Properties

- 4.2.1.8 JMS Adapter Properties

- 4.2.1.9 Oracle Event Processing High Availability Input Adapter Properties

- 4.2.1.10 Oracle Event Processing High Availability Buffering Output Adapter Properties

- 4.2.1.11 Oracle Event Processing High Availability Broadcast Output Adapter Properties

- 4.2.1.12 Oracle Event Processing High Availability Correlating Output Adapter Properties

- 4.2.1.13 Event Bean Properties

- 4.2.1.14 POJO Properties

- 4.2.1.15 Cache Properties: Oracle Coherence Cache

- 4.2.1.16 Cache Properties: Oracle Event Processing Local Cache

- 4.3 Recording and Playing Back Events in the EPN

- 4.3.1 How to Record Events

- 4.3.2 How to Playback Events

- 4.4 Tracing and Injecting Events in the EPN

- 4.4.1 How to Trace Events on a Dynamic Channel

- 4.4.2 How to Inject a Simple Event on an Event Inspector Service Dynamic Channel

- 4.4.3 How to Inject an Event as a JSON String on an Event Inspector Service Dynamic Channel

- 4.5 Monitoring a Channel Stage in the EPN

- 4.5.1 How to Monitor a Channel Stage in the EPN

- 4.6 Monitoring the Throughput and Latency of a Stage or Path in the EPN

- 4.6.1 How to Monitor the Throughput and Latency of a Stage or Path in the EPN

5 Managing Application Lifecycle

- 5.1 Deploying an Application

- 5.1.1 How to Deploy an Application in a Standalone-Server Domain

- 5.1.2 How to Deploy an Application in a Multi-Server Domain

- 5.2 Suspending or Resuming an Application

- 5.2.1 How to Suspend or Resume an Application

- 5.3 Updating an Application

- 5.3.1 How to Update an Application

- 5.4 Uninstalling an Application

- 5.4.1 How to Uninstall an Application

6 Managing Oracle CQL Rules

- 6.1 Using the Query Wizard

- 6.1.1 How to Create a Rule in an Oracle CQL Processor Using the Query Wizard

- 6.1.2 How to Edit a Rule in an Oracle CQL Processor Using the Query Wizard

- 6.1.3 How to Create a Parameterized Rule in an Oracle CQL Processor

- 6.1.4 How to Edit a Parameterized Query in an Oracle CQL Processor

- 6.1.4.1 Adding a Parameter

- 6.1.4.2 Replacing a Parameter

- 6.1.4.3 Deleting a Parameter

- 6.1.4.4 Editing the Query

- 6.1.4.5 Deleting the Query

- 6.1.5 How to Stop and Start a Parameterized Query

- 6.1.6 How to Delete a Rule in an Oracle CQL Processor

- 6.1.7 How to Replace a Rule in an Oracle CQL Processor

- 6.1.8 How to View a Rule in an Oracle CQL Processor

- 6.1.9 How to Configure Query Wizard Oracle CQL Constructs

- 6.1.9.1 Configuring an RSource CQL Construct

- 6.1.9.2 Configuring an SSource CQL Construct

- 6.1.9.3 Configuring a Cache-Table CQL Construct

- 6.1.9.4 Configuring a Pattern CQL Construct

- 6.1.9.5 Configuring a Select CQL Construct

- 6.1.9.6 Configuring a Join CQL Construct Using + Syntax

- 6.1.9.7 Configuring a Join CQL Construct Using LEFT or RIGHT OUTER JOIN

- 6.1.9.8 Configuring a Window CQL Construct

- 6.1.9.9 Configuring a Filter CQL Construct

- 6.1.9.10 Configuring a Union CQL Construct

- 6.1.9.11 Configuring an Intersect CQL Construct

- 6.1.9.12 Configuring a Minus CQL Construct

- 6.1.9.13 Configuring an IStream CQL Construct

- 6.1.9.14 Configuring a DStream CQL Construct

- 6.1.9.15 Configuring an RStream CQL Construct

- 6.1.9.16 Configuring an Output CQL Construct

- 6.1.9.17 Configuring an Expression Using the Expression Builder

- 6.1.10 How to Create an Oracle CQL Template for the Query Wizard

- 6.1.11 Managing the Query Wizard Diagram

- 6.1.11.1 Choose Layout

- 6.1.11.2 Clear Canvas

- 6.1.11.3 Save Query

- 6.1.11.4 Open Query

- 6.1.11.5 Hover

- 6.1.11.6 Zoom In and Zoom Out

- 6.1.11.7 Fit Content

- 6.1.11.8 Toggle Constructs

- 6.1.11.9 Zoom

- 6.2 Using the Query Plan

- 6.2.1 How to View a Query Plan for an Oracle CQL Processor

- 6.2.2 Managing the Query Plan Diagram

- 6.2.2.1 Choose Layout

- 6.2.2.2 Collapse All and Expand All

- 6.2.2.3 Get Statistics and Stop Statistics

- 6.2.2.4 Refresh

- 6.2.2.5 Show Legend

- 6.2.2.6 Preferences

- 6.2.2.7 Fit Content

- 6.2.2.8 Zoom

7 Managing EPL Rules

- 7.1 Creating a Rule in an EPL Processor

- 7.1.1 How to Create a Rule in an EPL Processor

- 7.2 Deleting a Rule From an EPL Processor

- 7.2.1 How to Delete a Rule in an EPL Processor

- 7.3 Replacing a Rule in an EPL Processor

- 7.3.1 How to Replace a Rule in an EPL Processor

- 7.4 Changing the dataservices Application Event Filter Rule Using EPL

- 7.4.1 How to Change the Dataservices Application Event Filter Rule Using EPL

8 Managing Configuration History

- 8.1 Managing Resource Configuration History

- 8.1.1 How to Manage Resource Configuration History

- 8.2 Managing Application Configuration History

- 8.2.1 How to Manage Application Configuration History

Part III Server and Domain Tasks

9 Overview of Server and Domain Tasks

- 9.1 Deployment Management

- 9.2 Jetty Management

- 9.3 JMX Management

- 9.4 Data Source Management

- 9.5 HTTP Publish-Subscribe Server Management

- 9.6 Event Type Repository Management

- 9.7 Persistent Event Store Management

- 9.8 Multi-Server Domain Management

- 9.9 Event Inspector Service Management

- 9.10 Cache Management

- 9.11 Log Management

10 Managing Deployments

- 10.1 Viewing Deployments

- 10.1.1 How to View the Applications Deployed to an Oracle Event Processing Server

- 10.1.2 How to View the Application Libraries Deployed to an Oracle Event Processing Server

- 10.2 Adding or Deleting Deployments

- 10.2.1 How to Add or Delete an Application

- 10.2.2 How to Add or Delete an Application Library

11 Managing Jetty

- 11.1 Managing Jetty Web Server Configuration

- 11.1.1 How to View Jetty Web Server Configuration

- 11.1.2 How to Edit Jetty Web Server Configuration

- 11.2 Managing Work Manager Configuration

- 11.2.1 How to View and Edit Work Manager Configuration

- 11.2.2 How to Create a Work Manager

- 11.2.3 How to Delete a Work Manager

12 Managing JMX

- 12.1 Viewing JMX Configuration

- 12.1.1 How to View JMX Configuration

- 12.2 Editing JMX Configuration

13 Managing Data Sources

- 13.1 Viewing and Editing a Data Source

- 13.1.1 How to View a Data Source Configuration

- 13.1.2 How to Edit Data Source Configuration

- 13.2 Adding a Data Source

- 13.2.1 How to Add a Data Source Configuration

14 Managing HTTP Publish-Subscribe Servers

- 14.1 Viewing HTTP Publish-Subscribe Servers

- 14.1.1 How to View HTTP Publish-Subscribe Server Channels

- 14.2 Adding or Deleting an HTTP Publish-Subscribe Server

- 14.2.1 How to Add an HTTP Publish-Subscribe Server Channel

- 14.2.2 How to Delete an HTTP Publish-Subscribe Server Channel

15 Managing the Event Inspector Service

- 15.1 Configuring the Event Inspector Service HTTP Pub-Sub Server

- 15.1.1 How to Configure the Event Inspector Service HTTP Pub-Sub Server

16 Managing the Event Type Repository

- 16.1 Viewing the Event Type Repository

- 16.1.1 How to View the Event Type Repository

- 16.2 Configuring the Event Type Repository

17 Managing the Persistent Event Store

- 17.1 Viewing the Persistent Event Store

- 17.1.1 How to View the Persistent Event Store

- 17.2 Configuring the Persistent Event Store

18 Managing Multi-Server Domains

- 18.1 Managing Cluster Groups and Topologies

- 18.1.1 How to View Cluster Group Membership

- 18.1.2 How to View all Cluster Topologies

- 18.1.3 How to View Oracle Event Processing High Availability Cluster Topologies

- 18.1.3.1 Visualizing an Oracle High Availability Configuration

- 18.1.3.2 Visualizing an Oracle High Availability and Scalability Configuration

- 18.2 Managing Oracle Coherence

- 18.2.1 How to View Oracle Coherence Cluster Topologies

- 18.2.2 How to Monitor Nodes in an Oracle Coherence Cluster

- 18.2.3 How to Monitor an Oracle Coherence Cache

- 18.2.4 How to Tune Oracle Coherence

- 18.3 Managing the Cluster Topology Diagram

- 18.3.1 Choose Layout

- 18.3.2 Show All Groups

- 18.3.3 Zoom

- 18.3.4 Fit Content

- 18.3.5 Zoom In and Zoom Out

- 18.3.6 Toggle Properties

19 Managing Oracle Event Processing Server Logs

- 19.1 Configuring Logs

- 19.1.1 How to Configure the Oracle Event Processing Server Logging Service

- 19.1.2 How to Configure a Component Logger

- 19.2 Viewing Logs

- 19.2.1 How to Query Logs

- 19.2.2 How to View Console Output

Part IV Security Tasks

20 Overview of Security Tasks

- 20.1 User, Group, and Role Management

- 20.2 HTTP Publish-Subscribe Server Channel Security Management

- 20.3 SSL Management

21 Managing Users

- 21.1 Creating and Editing a User

- 21.1.1 How to Create a User

- 21.1.2 How to Edit a User

- 21.1.3 How to Change the Password of a User

- 21.2 Deleting a User

- 21.2.1 How to Delete a User

22 Managing Groups

- 22.1 Creating and Editing a Group

- 22.1.1 How to Create a Group

- 22.1.2 How to Change the Roles to Which a Group Maps

- 22.1.3 How to Change the Groups to Which a User is Assigned

- 22.2 Deleting a Group

- 22.2.1 How to Delete a Group

23 Managing Roles

- 23.1 Creating an Application Role

- 23.1.1 How to Create an Application Role

- 23.2 Deleting a Role

- 23.2.1 How to Delete a Role

24 Managing HTTP Publish-Subscribe Server Security

- 24.1 Configuring Security for an HTTP Publish-Subscribe Channel

- 24.1.1 How to Configure Security for an HTTP Publish-Subscribe Channel

25 Managing SSL

- 25.1 Viewing SSL Configuration

- 25.1.1 How to View the SSL Configuration for an Oracle Event Processing Server

- 25.2 Editing SSL Configuration

A Oracle CQL Query Wizard Template Schema Reference

List of Examples

- 1-1 UTF-8 Encoding Attribute in Oracle Event Processing Server config.xml

- 4-1 recplay Application Configuration File config.xml: adapter Element

- 4-2 recplay Oracle Event Processing Server Configuration File config.xml: data-source and rdbms-event-store-provider Elements

- 4-3 recplay Application Configuration File config.xml: stream Element

- 4-4 recplay Oracle Event Processing Server Configuration File config.xml: data-source and rdbms-event-store-provider Elements

- 4-5 JSON-Formatted Event String

- 6-1 myTemplate.xml XML File

- 6-2 Rule Element

- 6-3 Rule Element: Operators

- 6-4 Rule Element: Connect Operators

- 6-5 Oracle Event Processing registry.xml File

- A-1 wlevs_queryconstructor_config.xsd

List of Figures

- 1-1 Sample Oracle Event Processing Visualizer Window

- 1-2 Oracle Event Processing Visualizer Dashboard

- 1-3 Oracle Event Processing Visualizer Stream Visualizer (ViewStream)

- 1-4 Event Processing Network Panel

- 1-5 Event Processing Network Tab - Requiring Refresh

- 2-1 Oracle Event Processing Visualizer Logon Screen

- 2-2 The Preference Screen

- 4-1 Event Processing Network Panel

- 4-2 General Tab for Channel Stage: Before Clicking Edit

- 4-3 General Tab for Channel Stage: After Clicking Edit

- 4-4 General Tab for Channel Stage

- 4-5 General Tab Outbound Channel Parameters

- 4-6 General Tab Selectors for Outbound Channel Stage

- 4-7 General Tab for Channel Stage

- 4-8 General Tab for Oracle CQL Processor Stage

- 4-9 General Tab for EPL Processor Stage

- 4-10 General Tab for an Adapter Stage

- 4-11 General Tab for a JMS Adapter Stage

- 4-12 General Tab for an Oracle Event Processing High Availability Input Adapter Stage

- 4-13 General Tab for an Oracle Event Processing High Availability Buffering Output Adapter Stage

- 4-14 General Tab for an Oracle Event Processing High Availability Broadcast Output Adapter Stage

- 4-15 General Tab for an Oracle Event Processing High Availability Correlating Output Adapter Stage

- 4-16 General Tab for Event Bean Stage

- 4-17 General Tab for POJO Stage

- 4-18 Oracle Coherence Cache Stage Properties

- 4-19 Oracle Event Processing Local Cache Stage Properties

- 4-20 Event Processing Network Panel

- 4-21 The Record Tab

- 4-22 Record Schedule Confirmation Dialog

- 4-23 Record Schedule Confirmation Dialog

- 4-24 Event Processing Network Panel

- 4-25 The Playback Tab

- 4-26 Playback Schedule Confirmation Dialog

- 4-27 Playback Schedule Confirmation Dialog

- 4-28 Playback Schedule Confirmation Dialog

- 4-29 Event Processing Network Panel

- 4-30 The Trace Event Tab: Start

- 4-31 Trace Event Confirmation Dialog

- 4-32 Stream Visualizer (ViewStream): Subscribe

- 4-33 The Trace Event Tab: Stop

- 4-34 Trace Event Stop Confirmation Dialog

- 4-35 Event Processing Network Panel

- 4-36 The Inject Event Tab: Start

- 4-37 Inject Event Start Confirmation Dialog

- 4-38 Stream Visualizer (ViewStream): Publishing Simple Events

- 4-39 The Inject Event Tab: Stop

- 4-40 Inject Event Stop Confirmation Dialog

- 4-41 Event Processing Network Panel

- 4-42 The Inject Event Tab: Start

- 4-43 Inject Event Start Confirmation Dialog

- 4-44 Stream Visualizer (ViewStream): Publishing JSON Events

- 4-45 The Inject Event Tab: Stop

- 4-46 Inject Event Stop Confirmation Dialog

- 4-47 Channel Monitor Tab

- 4-48 General Tab for Channel Stage

- 4-49 New Latency Profile Screen - Profile Information Tab

- 4-50 New Latency Profile Screen - Latency Tab

- 4-51 New Latency Profile Screen - Throughput Tab

- 4-52 Left Domain Tree - Mydiagprofile

- 4-53 Oracle Event Processing Visualizer Dashboard With Diagnostic Profiles

- 5-1 The Install Application Screen: Standalone-Server Domain

- 5-2 The Review Deployment Information Screen: Standalone-Server Domain

- 5-3 The Install Application Screen: Multi-Server Domain

- 5-4 The Review Deployment Information Screen: Multi-Server Domain

- 5-5 HelloWorld Application Deployed to All the Servers in Group testgroup

- 6-1 Oracle CQL Processor Panel

- 6-2 Oracle CQL Query Wizard

- 6-3 Valid Connection

- 6-4 Invalid Connection

- 6-5 All Saved Queries Dialog: Saving

- 6-6 Query Save Dialog

- 6-7 All Saved Queries Dialog: Loading

- 6-8 Oracle CQL Processor Panel

- 6-9 CQL Rules Tab

- 6-10 Query Wizard: With Existing Rule

- 6-11 Hovering Over an Oracle CQL Operator

- 6-12 Editor Dialog for Oracle CQL Join Operator

- 6-13 Oracle CQL Processor Panel

- 6-14 CQL Rules Tab

- 6-15 Query Save Dialog

- 6-16 Oracle CQL Processor Panel

- 6-17 CQL Rules Tab: Parameterized Query

- 6-18 CQL Rules Tab: Add Parameter

- 6-19 Add New Binding Dialog

- 6-20 CQL Rules Tab: Add Parameter Complete

- 6-21 CQL Rules Tab: Select Parameter

- 6-22 CQL Rules: Replace Parameter

- 6-23 Update Binding Dialog

- 6-24 CQL Rules Tab: Select Parameter

- 6-25 Delete Binding Dialog

- 6-26 Oracle CQL Processor Panel

- 6-27 CQL Rules Tab

- 6-28 CQL Rules: Filtered by View

- 6-29 Delete Rule Dialog

- 6-30 Delete All Rule Dialog

- 6-31 Oracle CQL Processor Panel

- 6-32 CQL Rules Tab

- 6-33 CQL Rules: Filtered by View

- 6-34 Oracle CQL Processor Panel

- 6-35 CQL Rules Tab

- 6-36 RSource Icon

- 6-37 Query Wizard RSource Editor Dialog

- 6-38 SSource Icon

- 6-39 Query Wizard Source Editor Dialog

- 6-40 Cache-Table Icon

- 6-41 Query Wizard Cache-Table Editor Dialog

- 6-42 Pattern Icon

- 6-43 Query Wizard Pattern Editor Dialog: Pattern Tab

- 6-44 Query Wizard Pattern Editor Dialog: Define Tab

- 6-45 Query Wizard Pattern Editor Dialog: Subset Tab

- 6-46 Query Wizard Pattern Editor Dialog: Measure Tab

- 6-47 Select Icon

- 6-48 Query Wizard Select Editor Dialog: Project Tab

- 6-49 Query Wizard Select Editor Dialog: Group Tab

- 6-50 Query Wizard Select Editor Dialog: Condition Tab

- 6-51 Query Wizard Select Editor Dialog: Order Tab

- 6-52 Join Icon

- 6-53 Query Wizard Join Editor Dialog

- 6-54 Oracle CQL Outer Join

- 6-55 Join Icon

- 6-56 Query Wizard Join Editor Dialog: LEFT or RIGHT OUTER JOIN Syntax

- 6-57 Window Icon

- 6-58 Query Wizard Window Editor Dialog

- 6-59 Filter Icon

- 6-60 Query Wizard Filter Editor Dialog

- 6-61 Union Icon

- 6-62 Query Wizard Union Editor Dialog

- 6-63 Intersect Icon

- 6-64 Query Wizard Intersect Editor Dialog

- 6-65 Minus Icon

- 6-66 Query Wizard Minus Editor Dialog

- 6-67 IStream Icon

- 6-68 Query Wizard IStream Editor Dialog

- 6-69 DStream Icon

- 6-70 Query Wizard DStream Editor Dialog

- 6-71 RStream Icon

- 6-72 Query Wizard RStream Editor Dialog

- 6-73 Output Icon

- 6-74 Query Wizard Output Editor Dialog

- 6-75 Query Wizard Expression Builder

- 6-76 Query Wizard User-defined templates Tab

- 6-77 Query Wizard Tools

- 6-78 Oracle CQL Processor Panel

- 6-79 Query Plan Tab

- 6-80 Query Plan Preference Dialog

- 6-81 Query Plan While Getting Statistics

- 6-82 Query Plan Showing Dependencies

- 6-83 Query Plan Tools

- 7-1 EPL Processor Panel

- 7-2 EPL Rules Tab

- 7-3 Create Rule Dialog

- 7-4 EPL Processor Panel

- 7-5 EPL Rules Tab

- 7-6 Delete Rule Dialog

- 7-7 Delete All Rule Dialog

- 7-8 EPL Processor Panel

- 7-9 EPL Rules Tab

- 7-10 Replace Rule Dialog

- 7-11 EPL Rules Tab

- 8-1 History Tab

- 8-2 Revisions Tab

- 8-3 History Tab

- 8-4 Changes Tab

- 10-1 Applications Tab

- 10-2 Extension Libraries Tab

- 10-3 Libraries Tab

- 11-1 Work Manager Tab

- 12-1 JMX Tab

- 13-1 DataSource Tab

- 13-2 DataSource Tab

- 13-3 Edit Datasource: Data Source Tab

- 13-4 Edit Datasource: Global Tx Protocol Tab

- 13-5 Edit Datasource: Connection Pool Tab

- 13-6 DataSource Tab

- 13-7 New Datasource: Data Source Tab

- 13-8 New Datasource: Global Tx Protocol Tab

- 13-9 New Datasource: Connection Pool Tab

- 14-1 HTTP Publish-Subscribe Server Channel List

- 15-1 Event Inspector Tab

- 17-1 Event Repository Panel

- 18-1 Cluster Groups/Server Tab

- 18-2 Cluster Topology Tab

- 18-3 Primary Server

- 18-4 Group Member Tab

- 18-5 Group Member Tab

- 18-6 Cluster Topology Tab: Oracle Event Processing High Availability

- 18-7 Primary Server

- 18-8 Cluster Topology Tab: Oracle Event Processing High Availability and Scalability

- 18-9 Primary Server

- 18-10 Oracle Coherence Cluster Topology Tab

- 18-11 Multi-Nodes Monitor Tab

- 18-12 Node Detail View Tab

- 18-13 Cache Chart Tab

- 18-14 Tuning Tab: Cache Tuning

- 18-15 Tuning Tab: Node Tuning

- 18-16 Tuning Tab: Service Tuning

- 18-17 Cluster Topology Tools

- 19-1 Logging Services Tab

- 19-2 Component Log Setting Tab

- 19-3 Component Log Setting Tab

- 19-4 Component Log Setting Tab

- 19-5 Component Log Configuration Delete Confirmation

- 19-6 Log Query Screen

- 19-7 Log Query Screen - Logs Displayed

- 19-8 Sample Console Output for HelloWorld Application

- 21-1 User Tab

- 21-2 Add a User Panel

- 21-3 Change User Panel

- 21-4 Selecting a User

- 21-5 Change Password Panel

- 21-6 Selecting a User

- 21-7 Delete User Dialog

- 22-1 Group Tab

- 22-2 Add a Group Panel

- 22-3 Selecting a Group

- 22-4 Change Group Panel

- 22-5 Selecting a Group

- 22-6 Delete Group Dialog

- 23-1 Role Tab

- 23-2 Add Application Role

- 23-3 Selecting a Role

- 23-4 Delete Role Dialog

- 25-1 SSL Tab

List of Tables

- 1-1 Panel Controls

- 1-2 Event Processing Network Context Menu

- 2-1 Oracle Event Processing Visualizer Preferences Attributes

- 4-1 General Tab Properties: Channel

- 4-2 General Tab Properties: Outbound Channel

- 4-3 General Tab Properties: Stream

- 4-4 Properties: Oracle Event Processing Local Cache

- 4-5 Profile Information Attributes

- 4-6 Latency Attributes

- 4-7 Throughput Attributes

- 6-1 Query Wizard RSource Editor Attributes

- 6-2 Query Wizard Source Editor Attributes

- 6-3 Query Wizard Cache-Table Editor Attributes

- 6-4 Query Wizard Pattern Editor Attributes: Pattern Tab

- 6-5 Pattern Quantifiers

- 6-6 Query Wizard Pattern Editor Attributes: Define Tab

- 6-7 Query Wizard Pattern Editor Attributes: Subset Tab

- 6-8 Query Wizard Pattern Editor Attributes: Measure Tab

- 6-9 Query Wizard Select Editor Attributes: Project Tab

- 6-10 Query Wizard Select Editor Attributes: Group Tab

- 6-11 Query Wizard Select Editor Attributes: Condition Tab

- 6-12 Query Wizard Select Editor Attributes: Order Tab

- 6-13 Query Wizard Join Editor Attributes

- 6-14 Query Wizard Window Editor Attributes

- 6-15 Query Wizard Filter Editor Attributes

- 6-16 Query Wizard Union Editor Attributes

- 6-17 Query Wizard Intersect Editor Attributes

- 6-18 Query Wizard Minus Editor Attributes

- 6-19 Query Wizard IStream Editor Attributes

- 6-20 Query Wizard DStream Editor Attributes

- 6-21 Query Wizard RStream Editor Attributes

- 6-22 Query Wizard Output Editor Attributes

- 6-23 Query Wizard Expression Builder Attributes

- 6-24 Query Plan Preference Attributes

- 10-1 Deployed Application Attributes

- 10-2 Application Extension Library Attributes

- 10-3 Application Library Attributes

- 13-1 Edit Datasource: Data Source Parameters

- 13-2 Edit Datasource: Global Tx Protocol Parameters

- 13-3 Edit Datasource: Connection Pool Parameters

- 13-4 New Datasource: Data Source Parameters

- 13-5 New Datasource: Global Tx Protocol Parameters

- 13-6 New Datasource: Connection Pool Parameters

- 15-1 Event Inspector Options

- 17-1 Event Repository Panel Attributes

- 18-1 Properties You Can Watch on the Multi-Nodes Monitor Tab

- 18-2 Properties You Can Watch on the Node Detail View Tab

- 18-3 Columns and Properties for the Cache Chart Tab

- 18-4 Cache Tuning: Properties

- 18-5 Cache Tuning: Operations

- 18-6 Node Tuning: Properties

- 18-7 Node Tuning: Operations

- 18-8 Service Tuning: Properties

- 18-9 Service Tuning: Operations

- 19-1 Logging Services Options

- 19-2 Logging Component Name Constants

- 20-1 Default Oracle Event Processing Task Roles and Groups

- 21-1 Add a User Panel Attributes

- 21-2 Change User Panel Attributes

- 21-3 Change User Panel Attributes

- 22-1 Add a Group Panel Attributes

- 22-2 Change Group Panel Attributes

- 23-1 Add Application Role Panel Attributes

- 25-1 SSL Options

Preface

This document describes how to use the Oracle Event Processing Visualizer to manage Oracle Event Processing applications and servers at runtime.

Oracle Event Processing (formally known as the WebLogic Event Server) is a Java server for the development of high-performance event driven applications. It is a lightweight Java application container based on Equinox OSGi, with shared services, including the Oracle Event Processing 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 Event Processing supports ultra-high throughput and microsecond latency using JRockit Real Time and provides Oracle Event Processing Visualizer and Oracle Event Processing IDE for Eclipse developer tooling for a complete real time end-to-end Java Event-Driven Architecture (EDA) development platform.

Audience

This document is intended for all users of Oracle Event Processing.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documents

For more information, see the following:

- Oracle Event Processing Getting Started

- Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

- Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- Oracle Fusion Middleware Java API Reference for Oracle Event Processing

- Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- Oracle Fusion Middleware EPL Language Reference for Oracle Event Processing

- Oracle Database SQL Language Reference at http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/toc.htm

- SQL99 Specifications (ISO/IEC 9075-1:1999, ISO/IEC 9075-2:1999, ISO/IEC 9075-3:1999, and ISO/IEC 9075-4:1999)

- Oracle Event Processing Forum: http://forums.oracle.com/forums/forum.jspa?forumID=820

- Oracle Event Processing Samples: http://www.oracle.com/technologies/soa/complex-event-processing.html

Conventions

The following text conventions are used in this document:

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

What's New in This Guide

This guide has been updated in several ways. The following table lists the sections that have been added or changed.

For a list of known issues (release notes), see the "Known Issues for for Oracle SOA Products and Oracle AIA Foundation Pack" at http://www.oracle.com/technetwork/middleware/docs/soa-aiafp-knownissuesindex-364630.html.

Sections

Changes Made

February 2013

Entire Guide

Product name changed to Oracle Event Processing

X

Part I

Introduction

Part I contains the following chapters:

- Chapter 1, "Overview of Oracle Event Processing Visualizer"

- Chapter 2, "Using Oracle Event Processing Visualizer"

1 Overview of Oracle Event Processing Visualizer

This chapter introduces Oracle Event Processing Visualizer, a browser-based tool with which you can view, develop, and configure aspects of Oracle Event Processing event-driven applications, including security, Oracle Continuous Query Language (CQL) rules, diagnostics, and more.

This chapter includes the following sections:

- Section 1.1, "Overview of Using Oracle Event Processing Visualizer"

- Section 1.2, "Understanding the Oracle Event Processing Visualizer User Interface"

- Section 1.3, "Understanding Oracle Event Processing Visualizer Administration Tasks"

- Section 1.4, "Who Uses Oracle Event Processing Visualizer?"

- Section 1.5, "National Language Support"

- Section 1.6, "Next Steps"

1.1 Overview of Using Oracle Event Processing Visualizer

Oracle Event Processing Visualizer is a Web 2.0 application that consumes data from Oracle Event Processing, displays it in a useful and intuitive way to system administrators and operators, and, for specified tasks, accepts data that is then passed back to Oracle Event Processing so as to change its configuration.

Oracle Event Processing Visualizer is itself an Oracle Event Processing application that is automatically deployed each time you start a server. You invoke Oracle Event Processing Visualizer in a browser to use it.

In particular, you can use the tool to perform the following tasks:

- View the structure of an Oracle Event Processing domain

- Manage security

- Configure Oracle Event Processing server instances

- Install, uninstall, suspend, resume, and update applications

- View, update, create, and delete Oracle CQL and EPL rules

- View the EPN associated with an application

- Tune application parameters and monitor application status

- Record and playback of events flowing through the EPN.

- Create diagnostic profile to monitor application stage latency and throughput.

- Monitor and perform diagnosis on your CQL Processor with Query Plan.

- Manage and create server wide resources such as HTTP publish-subscribe channels and data sources.

- Dynamically turn server and application logging on and off.

- Manage Oracle Coherence cluster and server instances.

This section describes:

- Section 1.2, "Understanding the Oracle Event Processing Visualizer User Interface"

- Section 1.3, "Understanding Oracle Event Processing Visualizer Administration Tasks"

- Section 1.4, "Who Uses Oracle Event Processing Visualizer?"

1.2 Understanding the Oracle Event Processing Visualizer User Interface

As Figure 1-1 shows, the Oracle Event Processing Visualizer has the following main panes:

- Section 1.2.1, "Top Pane"

- Section 1.2.2, "Left Pane"

- Section 1.2.3, "Right Pane"

Figure 1-1 Sample Oracle Event Processing Visualizer Window

Figure 1-1 shows a domain that contains a single server instance called NonClusteredServer. The server contains four deployed applications: com.bea.wlevs.dataservices, cql, fx, and signalgeneration; the signalgeneration application is currently opened. The right pane contains the configuration of the rules of the processor1 stage; in particular, processor1 has been configured with rules vTrend, trend, percent, and S. The application called com.bea.wlevs.dataservices is associated with Oracle Event Processing Visualizer itself and is always deployed in an Oracle Event Processing server instance. Section 1.3.1.1, "The com.bea.wlevs.dataservices Application" for details.

1.2.1 Top Pane

This pane includes the most used buttons:

- Home button that takes you to the main Oracle Event Processing Visualizer page.

- Security button that takes you to the security page in which you can add or configure users and groups and map users to application roles and task roles; see Chapter 20, "Overview of Security Tasks" for details.

- Dashboard button takes you to the performance management screen that you use to monitor the throughput and latency of a running application and its stages; see Section 1.2.4, "Overview of the Oracle Event Processing Visualizer Dashboard" for more information.

- ViewStream button takes you to a screen from which you can monitor the messages streaming through the configured HTTP publish-subscribe channels; see Section 1.2.5, "Overview of the Stream Visualizer (ViewStream) Panel" for more information.

- Full Screen button fills your entire computer screen with the Oracle Event Processing Visualizer tool; press the Esc key to return to a normal screen.

- Preferences button takes you to a page where you can set user preferences, such as the language and maximum number of open panes, and accessibility settings such as restricting the maximum number of open panes to 1 and disabling Full Screen mode.

- Help button takes you to the task-oriented online-help hosted by the Oracle Event Processing server.

1.2.2 Left Pane

This pane displays a domain tree for the domain that includes all the objects contained in the domain, such as the Oracle Event Processing server instances, the deployed applications and services within each server instance, and domain-level security configuration.

The domain name is determined by the Oracle Event Processing server config.xml file domain element. For example, the domain tree is named mydomain if your config.xml file is like this:

<domain>
<name>mydomain</name>
</domain>

The Open Items box in the lower half of the left pane lists the items that are currently open, making it easy to return to or close the windows after you have navigated away from them. Any open panels that require refresh are marked with a red X in the Open Items list. For more information, see Section 1.2.7, "Oracle Event Processing Visualizer Panels that Require Refresh".

1.2.3 Right Pane

This pane is a multi-document container. When you open multiple documents, the documents are overlaid one on top of the other.

This pane displays information about objects that you have clicked on in the left pane. The format of the information depends on the object; for example, if you click on a deployed application in the domain tree in the left pane, the right pane shows general information about the application (General tab) as well as various visual representations of the event processing network of the application (Event Processing Network tab). If you click on a particular stage of the network, such as a stream or processor, the right pane shows general information about it as well as stage-specific information, such as the rules for a processor. For more information, see Section 1.2.6, "Overview of the Event Processing Network".

Any open panels that require refresh are marked with a red X in the title of the panel. For more information, see Section 1.2.7, "Oracle Event Processing Visualizer Panels that Require Refresh".

Table 1-1 describes the buttons in the top right corner of the right pane that you can use to manage panels. Note that these buttons are not visible if you set the Max Open Panels preference to 1 (see Section 2.2, "Managing User Preferences").

Table 1-1 Panel Controls

Button

Description

Minimize panel.

Maximize panel to full window size.

Maximize panel.

Close all panels.

Close panel.

1.2.4 Overview of the Oracle Event Processing Visualizer Dashboard

Figure 1-2 shows the Oracle Event Processing Visualizer dashboard: a performance management screen that you use to monitor the throughput and latency of a running application and its stages or a path between two stages. You get to the dashboard by clicking the Dashboard button in the top pane.

Figure 1-2 Oracle Event Processing Visualizer Dashboard

The dashboard has two main sections:

- Management Events: the section at the top of the dashboard displays information and warning messages about the incoming monitoring events. Click the Warning bar to view the list of warning messages; click the Information bar to view the list of information messages. The Oracle Event Processing Visualizer monitoring feature defines a set of default EPL rules that specify when these alerts show up in the Management Events table; you can change the EPL rules to customize this behavior; see Section 7.4, "Changing the dataservices Application Event Filter Rule Using EPL".

- Performance Monitoring: the latency and throughput graphs display the amount of time it takes an event to pass through the specified stage or path in the EPN or the number of events passing through, respectively. The stage or path is defined in the diagnostic profile. The table at the bottom lists the available diagnostic profiles; when you click on a particular profile, the corresponding latency and throughput information is displayed in the graphs. See Section 4.6, "Monitoring the Throughput and Latency of a Stage or Path in the EPN" for details.

For detailed instructions on how to use this monitoring feature, see Section 4.6, "Monitoring the Throughput and Latency of a Stage or Path in the EPN".

1.2.5 Overview of the Stream Visualizer (ViewStream) Panel

The main purpose of the ViewStream panel is to allow users to watch events being published to a given HTTP publish-subscribe channel without any additional work. This is useful for debugging your application or just monitoring events flowing through the EPN.

Click the ViewStream button in the top panel of Oracle Event Processing Visualizer, to display the Stream Visualizer panel as Figure 1-3 shows.

Figure 1-3 Oracle Event Processing Visualizer Stream Visualizer (ViewStream)

The Pub/Sub Server URL text box displays the HTTP pub-sub server URL included with Oracle Event Processing. Click the Initialize Client button to start the process. You can either subscribe or publish a message to a channel using the options mentioned in this panel.

You can subscribe to a user or internal channel and view the events on it or you can publish to a user or internal channel.

For more information, see:

- Section 4.4, "Tracing and Injecting Events in the EPN"

- Chapter 14, "Managing HTTP Publish-Subscribe Servers"

1.2.6 Overview of the Event Processing Network

The main purpose of the Event Processing Network (EPN) panel is to give users an overall view of the stages in an Oracle Event Processing application and the various event types they produce and consume.

In the left pane, navigate to and expand the Applications node, select an application, and in the right pane, click the Event Processing Network tab to view the EPN as Figure 1-4 shows.

Figure 1-4 Event Processing Network Panel

1.2.6.1 Event Processing Network Context Menu

You can right-click any stage in the Event Processing Network and select one of the options from the Event Processing Network context menu that Table 1-2 describes.

Table 1-2 Event Processing Network Context Menu

Option

Description

Open Panel

Opens the General tab for the selected stage.

See Section 4.2, "Viewing and Editing the Configuration of a Stage".

Record Event

Opens the Record tab for the selected stage.

See Section 4.3.1, "How to Record Events".

Playback Event

Opens the Playback tab for the selected stage.

See Section 4.3.2, "How to Playback Events".

Trace Event

Opens the Trace Event tab for the selected stage.

See Section 4.4.1, "How to Trace Events on a Dynamic Channel".

Inject Event

Opens the Inject Event tab for the selected stage.

See:

- Section 4.4.2, "How to Inject a Simple Event on an Event Inspector Service Dynamic Channel"

- Section 4.4.3, "How to Inject an Event as a JSON String on an Event Inspector Service Dynamic Channel"

1.2.7 Oracle Event Processing Visualizer Panels that Require Refresh

Some operations, such as uninstalling and redeploying an application, will require you to refresh open panels.

When CEPVIS receives a notification for application re-deployment, it goes though all the affected panels that are still opened and marks the title of the panel with a red X to indicate that this panel is obsolete. To refresh such a panel, close and then re-open the panel.

For example, Figure 1-5 shows the Event Processing Network tab for an application that has been redeployed.

Figure 1-5 Event Processing Network Tab - Requiring Refresh

1.3 Understanding Oracle Event Processing Visualizer Administration Tasks

This section describes the principle administration tasks you can perform using the Oracle Event Processing Visualizer, including:

- Section 1.3.1, "Managing Oracle Event Processing Applications"

- Section 1.3.2, "Managing Oracle Event Processing Servers"

- Section 1.3.3, "Managing Security"

- Section 1.3.4, "Updating Configuration Data"

1.3.1 Managing Oracle Event Processing Applications

Using Oracle Event Processing Visualizer, you can monitor and configure applications you develop and deploy as well as applications that Oracle Event Processing server deploys such as the com.bea.wlevs.dataservices application. You can monitor and configure the Event Processing Network (EPN), application lifecycle, and Oracle CQL and EPL rules.

For more information, see:

- Chapter 3, "Overview of Application Tasks"

- Section 1.3.1.1, "The com.bea.wlevs.dataservices Application"

1.3.1.1 The com.bea.wlevs.dataservices Application

The com.bea.wlevs.dataservices application, called dataservices for short, is internal to Oracle Event Processing Visualizer and is automatically deployed every time you start an Oracle Event Processing server instance. You are not allowed to uninstall the dataservices application.

The purpose of this application is to provide a filter for diagnostic monitoring metrics. The application is itself an Oracle Event Processing application made up of adapters, streams, and a processor. The processor includes the following default EPL rule used to filter the metrics; this rule determines which event show up in the Diagnostics dashboard. The rule is as follows:

SELECT * FROM DSMonitorEvent RETAIN 1 EVENT WHERE metric > 10000

You can change this rule if you want to customize the filtering of events. See Section 7.4, "Changing the dataservices Application Event Filter Rule Using EPL" for details.

1.3.2 Managing Oracle Event Processing Servers

Using Oracle Event Processing Visualizer, you can manage Oracle Event Processing server instances and the services they provide such as JMX, data sources, Jetty Web server, work managers, the persistent event store, event type repository, HTTP publish-subscribe server, and logs.

For more information, see Chapter 9, "Overview of Server and Domain Tasks".

1.3.3 Managing Security

Using Oracle Event Processing Visualizer, you can manage Oracle Event Processing server and application security including users, groups, and roles, SSL, and HTTP publish-subscribe server access.

For more information, see Chapter 20, "Overview of Security Tasks".

1.3.4 Updating Configuration Data

Although you can update much of the configuration of an Oracle Event Processing instance and its deployed applications, not all fields can be updated. The following rules determine what fields can be updated:

- Information in the EPN assembly file is static and thus read-only. Examples of this type of information include the stages of the EPN and how they are wired together.

- Information in the component configuration files can be modified, although not typically added to or deleted from; the next bullet lists the two exceptions. Examples of this type of information include the maximum size and threads of a stream.
When you are allowed to update fields on a Oracle Event Processing Visualizer window, you will see three buttons: Edit, Save, and Cancel. Click the Edit button to modify the fields, then click Save to commit the changes to the server or Cancel to cancel.

- The Oracle CQL and EPL rules associated with a processor and the channels associated with an HTTP publish-subscribe server cannot be modified, but you can add or delete to the existing list of rules or channels.
For these two scenarios you will see buttons for adding and deleting rules or channels; the Modify button will not be provided.

- Some information in the Oracle Event Processing server's configuration file (config.xml) can be modified, although much of it is read-only. An example of this type of information includes the configuration of work managers, the logging service, and user-defined channels of the HTTP publish-subscribe server.

Note:

Do not modify or delete the internal channels of the HTTP publish-subscribe server. If you modify or delete these internal channels, Oracle Event Processing Visualizer will not function properly

Server configuration updates also use the three buttons: Edit, Save, and Cancel.

Note:

The preceding rules assume that you have logged onto Oracle Event Processing Visualizer with the required authentication credentials for performing the desired update task.

For more information, see Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

1.4 Who Uses Oracle Event Processing Visualizer?

Oracle Event Processing Visualizer provides valuable services to a variety of Oracle Event Processing users, including:

- Section 1.4.1, "Administrators"

- Section 1.4.2, "Developers"

- Section 1.4.3, "Business Users"

1.4.1 Administrators

Administrators who use Oracle Event Processing Visualizer to connect to an Oracle Event Processing instance use role-based authorization to gain access. Users that successfully authenticate themselves when using Oracle Event Processing Visualizer are assigned roles based on their group membership, and then subsequent access to administrative functions is restricted according to the roles held by the user. Anonymous users (non-authenticated users) will not have any access to Oracle Event Processing Visualizer.

When an administrator uses the Configuration Wizard to create a new domain, they enter an administrator user that will be part of the wlevsAdministrators group. By default, this information is stored in a file-based provider filestore. The password is hashed using the SHA-256 algorithm. Once the domain has been created, the administrator can create new groups using Oracle Event Processing Visualizer, assign roles to them, and then create new users and assign them to groups.

For more information, see Section 20.1, "User, Group, and Role Management".

Note:

The security features of Oracle Event Processing Visualizer work only if you have security enabled for Oracle Event Processing server. If you disable Oracle Event Processing server security, then:

- Oracle Event Processing Visualizer does not provide default users, groups, and roles.

- You cannot create new users, groups, and roles.

- There is still a login page when first entering Oracle Event Processing Visualizer but you may enter anything for user and password.

- Anonymous users may access the Oracle Event Processing Visualizer.

For more information, see "Enabling and Disabling Security" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

1.4.2 Developers

Developers can use Oracle Event Processing Visualizer to view server resources (such as data sources), perform event record and playback, and trouble shoot performance issues by turning on latency and throughput statistics.

1.4.3 Business Users

Business users can use the Oracle Event Processing Visualizer Query Wizard to create and modify queries within a given processor. This allows rule experts to manage Oracle CQL queries and views with minimal development assistance.

1.5 National Language Support

Oracle Event Processing Visualizer observes Java localization and supports the use of double-byte characters in all configuration files and Oracle Event Processing Visualizer text entry fields.

This section describes topics of interest when using Oracle Event Processing Visualizer with double-byte locales, including:

- Section 1.5.1, "Configuration File Encoding: UTF-8"

Note:

By default, Oracle Event Processing Visualizer ships with an English resource bundle that supplies all the text that appears in the Oracle Event Processing Visualizer user interface.

1.5.1 Configuration File Encoding: UTF-8

Oracle Event Processing server encodes all configuration XML files using UTF-8 encoding. This encoding is specified in the header of all Oracle Event Processing configuration XML files. Example 1-1 shows the encoding specified in the config.xml file.

Example 1-1 UTF-8 Encoding Attribute in Oracle Event Processing Server config.xml

<?xml version="1.0" encoding="UTF-8"?>
<n1:config xsi:schemaLocation="http://www.bea.com/ns/wlevs/config/server wlevs_server_config.xsd"
xmlns:n1="http://www.bea.com/ns/wlevs/config/server"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<domain>
<name>WLEventServerDomain</name>
</domain>

<netio>
<name>NetIO</name>
<port>9002</port>
</netio>

...
</config>

When manually editing an Oracle Event Processing configuration XML file, be sure to save the file in UTF-8 encoding. Some editors will automatically save configuration XML files in the correct encoding based on the encoding attribute. However, some editors will not automatically save configuration XML files in the correct encoding. In this case, you must ensure that you select UTF-8 encoding when you save an Oracle Event Processing configuration XML file.

You can enter double-byte characters in any Oracle Event Processing Visualizer text field. The Oracle Event Processing Visualizer and Oracle Event Processing server will always write configuration XML files in the correct UTF-8 encoding.

1.6 Next Steps

For more information, see:

- Chapter 2, "Using Oracle Event Processing Visualizer"

- Part II, "Application Tasks"

- Part III, "Server and Domain Tasks"

- Part IV, "Security Tasks"

2 Using Oracle Event Processing Visualizer

This chapter describes how to start and set preferences for Oracle Event Processing Visualizer, an application management tool provided with Oracle Event Processing.

This chapter includes the following sections:

- Section 2.1, "Starting the Oracle Event Processing Visualizer"

- Section 2.2, "Managing User Preferences"

- Section 2.3, "Improving Oracle Event Processing Visualizer Accessibility"

For more information, see Chapter 1, "Overview of Oracle Event Processing Visualizer".

2.1 Starting the Oracle Event Processing Visualizer

Before you start Oracle Event Processing Visualizer, ensure that your system meets the minimum prerequisites as Section 2.1.1, "Prerequisites" describes.

Choose how you want to start Oracle Event Processing Visualizer:

- Section 2.1.2, "How to Start Oracle Event Processing Visualizer Using a Browser"

- Section 2.1.3, "How to Start Oracle Event Processing Visualizer Using Oracle Event Processing IDE for Eclipse"

- Section 2.1.4, "How to Start Oracle Event Processing Visualizer in a Multi-Server Domain"

After you start Oracle Event Processing Visualizer, you are ready to begin using Oracle Event Processing Visualizer to manage, configure, and monitor Oracle Event Processing instances and the applications deployed to the server instances. For information on typical tasks, see:

- Part II, "Application Tasks"

- Part III, "Server and Domain Tasks"

- Part IV, "Security Tasks"

2.1.1 Prerequisites

Before starting Oracle Event Processing Visualizer, the following prerequisites must be met:

- For best performance, install version 10,0,22,87 of the Adobe Flash Player.
For instructions on testing the current version of Flash Player installed on your computer, see the Version test for Adobe Flash Player Web site: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_15507.

For more information, see http://www.adobe.com/products/flashplayer/.

- You must configure your computer display for a resolution of 1024x768 or higher.

- Oracle recommends that you use Internet Explorer 7 or higher.

- For some Oracle Event Processing Visualizer tasks, you must log into Oracle Event Processing Visualizer using an Oracle Event Processing server account configured for the administrator role. For more information, see Section 20.1, "User, Group, and Role Management".

2.1.2 How to Start Oracle Event Processing Visualizer Using a Browser

You can start the Oracle Event Processing Visualizer using any browser that meets the minimum perquisites as Section 2.1.1, "Prerequisites" describes.

To start Oracle Event Processing Visualizer using a browser:

1. Confirm that your browser meets the necessary requirements.
See Section 2.1.1, "Prerequisites".

2. Invoke the following URL in your browser:

http://host:port/wlevs

where host refers to the name of the computer on which Oracle Event Processing is running and port refers to the Jetty NetIO port configured for the server (default value 9002).

The port number is configured in the config.xml file in the ORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername/config directory, where ORACLE_CEP_HOME refers to the Oracle Event Processing installation directory (such as d:/oracle_cep), DOMAIN_DIR refers to the domain directory (such as my_domain), and servername refers to the server instance directory (such as server1). The port number is the value of the port child element of the netio object configured for the Jetty server, as shown in the following example (only relevant parts shown):

<netio>
<name>NetIO</name>
<port>9002</port>
</netio>
...
<jetty>
<name>JettyServer</name>
<network-io-name>NetIO</network-io-name>
...
</jetty>

For example, if your browser is running on the same computer as Oracle Event Processing and you are using the default port, invoke the following URL:

http://localhost:9002/wlevs

If you want to use HTTPS to connect to Oracle Event Processing Visualizer, specify the SSL port number. This is the port assigned to the netio element referenced by the secure-network-io-name Jetty element. The default value is 9003.

For example, if you have the following configuration (only relevant parts shown):

<netio>
<name>sslNetIo</name>
...
<port>9003</port>
</netio>
<jetty>
...
<secure-network-io-name>sslNetIo</secure-network-io-name>
</jetty>

use the following URL:

https://localhost:9003/wlevs

The Logon screen appears as Figure 2-1 shows.

Figure 2-1 Oracle Event Processing Visualizer Logon Screen

3. In the Logon screen, enter the name and password of the administrator user you configured when you created the domain.

Note:

The security features of Oracle Event Processing Visualizer work only if you have security enabled for Oracle Event Processing server. If you disable Oracle Event Processing server security, then:

- Oracle Event Processing Visualizer does not provide default users, groups, and roles.

- You cannot create new users, groups, and roles.

- There is no login page when first entering Oracle Event Processing Visualizer.

For more information, see "Enabling and Disabling Security" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

4. Click Logon.
Note that if you stop the server while Oracle Event Processing Visualizer is running, you might see informational messages about the service proxy. These are typically not errors.

2.1.3 How to Start Oracle Event Processing Visualizer Using Oracle Event Processing IDE for Eclipse

Oracle provides an IDE targeted specifically to programmers that want to develop Oracle Event Processing applications. Oracle Event Processing IDE for Eclipse is a set of plugins for the Eclipse IDE designed to help develop, deploy, and debug applications for Oracle Event Processing. You can start the Oracle Event Processing Visualizer from within the Oracle Event Processing IDE for Eclipse to make using Oracle Event Processing Visualizer a seamless part of Oracle Event Processing application development.

For more information, see "How to Start the Oracle Event Processing Visualizer from Oracle Event Processing IDE for Eclipse" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

2.1.4 How to Start Oracle Event Processing Visualizer in a Multi-Server Domain

You can use Oracle Event Processing Visualizer to administer a multi-server domain. As described in Section 2.1.2, "How to Start Oracle Event Processing Visualizer Using a Browser," Oracle Event Processing Visualizer works by connecting to one particular Oracle Event Processing server, based on its host and port.

In the case of a multi-server domain, you connect to one Oracle Event Processing server in the domain and then access the other servers from that server. All servers in a multi-server domain are candidates to host Oracle Event Processing Visualizer, from which you administer all the other servers in the domain. However, considering the performance factor, it is recommended that you select one server to host Oracle Event Processing Visualizer and disable Oracle Event Processing Visualizer access from all servers except for one in the multi-server domain.

To avoid a single point of failure, consider enabling Oracle Event Processing Visualizer on a small subset of n machines in the domain.

When using Oracle Event Processing Visualizer in a multi-server domain, the navigation tree in the left pane is automatically refreshed to reflect changes in the domain. For example, when a new server joins the domain, it automatically shows up in the navigation tree. Conversely, if the server leaves the domain, the server automatically disappears from the navigation tree.

Note:

The server-host-name element is mandatory if one or more Oracle Event Processing servers in your multi-server domain are on different hosts and you plan to manage the multi-server domain using the Oracle Event Processing Visualizer. It is also mandatory if a server is deployed on a host machine that has multiple IP addresses configured (whether in a multi-server or standalone-server environment). You must configure cluster element child element server-host-name in the config.xml of each Oracle Event Processing server.

For more information, see "Introduction to Multi-Server Domains" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

You can perform configuration management, of both the servers and applications, and operation management (such as diagnostics and event record and playback) on all servers in the multi-server domain.

To start Oracle Event Processing Visualizer in a multi-server domain:

1. Create a multi-server domain.
For example, assume you have a multi-server domain with three servers (defaultserver, server1, and server2). Each server directory is a child directory of the domain directory, which is /oracle_cep/user_projects/domains/myDomain.

For more information, see "Multi-Server Domain Directory Structure" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

2. Configure SSL to secure communication between the servers in the multi-server domain.
For more information, see "Securing the Messages Sent Between Servers in a Multi-Server Domain" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

3. Choose one Oracle Event Processing server in the multi-server domain to host Oracle Event Processing Visualizer access.
In this example, defaultserver will host Oracle Event Processing Visualizer access.

4. Specify the -disablevisualizer flag when you start the other servers in the multi-server domain that will not provide access to Oracle Event Processing Visualizer.
You want the defaultserver to host Oracle Event Processing Visualizer and thus must disable access to Oracle Event Processing Visualizer from the other two servers. In this case, you would start each server as follows:

prompt> cd /oracle_cep/user_projects/domains/myDomain/defaultserver
prompt> startwlevs
prompt> cd ../server1
prompt> startwlevs -disablevisualizer
prompt> cd ../server2
prompt> startwlevs -disablevisualizer

5. Configure SSL to secure communication between Oracle Event Processing Visualizer and defaultserver.
For more information, see "How to Configure SSL in a Multi-Server Domain for Oracle Event Processing Visualizer" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

6. Start Oracle Event Processing Visualizer.
For more information, see:

- Section 2.1.2, "How to Start Oracle Event Processing Visualizer Using a Browser"

- Section 2.1.3, "How to Start Oracle Event Processing Visualizer Using Oracle Event Processing IDE for Eclipse"

2.2 Managing User Preferences

Oracle Event Processing Visualizer allows you to customize its behavior using user preferences.

2.2.1 How to Manage User Preferences

You can use Oracle Event Processing Visualizer to manage user preferences.

To manage user preferences:

1. Click the Preference button at the top-right corner of any Oracle Event Processing Visualizer screen. The Preference screen appears in the right panel, as shown in Figure 2-2.

Figure 2-2 The Preference Screen

2. Update the preferences as Table 2-1 describes:

Table 2-1 Oracle Event Processing Visualizer Preferences Attributes

Attribute

Description

Select Language

Select the language that Oracle Event Processing Visualizer uses.

Default: English.

For more information, see Section 1.5, "National Language Support".

Client Idle Timeout: (Minutes)

Set the time, in minutes, after which the client (browser) times out and automatically logs you out.

Default value is 20 minutes, maximum 30.

Max Opened Panels

Set the maximum number of open items that will appear in the Open Items frame in the lower left corner.

Default value is 5; maximum value is 10.

NOTE: For users that require accessibility, set the maximum open items to 1 to make keyboard navigation easier to use. For more information, see Section 2.3, "Improving Oracle Event Processing Visualizer Accessibility".

Expand All Tree Nodes at Start

Click whether you want the domain tree in the left panel to be fully expanded every time you start Oracle Event Processing Visualizer

Enable Fullscreen

Click whether you want to enable the full screen function in Oracle Event Processing Visualizer.

NOTE: For users that require accessibility, uncheck this item. For more information, see Section 2.3, "Improving Oracle Event Processing Visualizer Accessibility"

3. Click Save.
When the preferences have been successfully modified, a confirmation message appears momentarily.

2.3 Improving Oracle Event Processing Visualizer Accessibility

Oracle Event Processing Visualizer is a Web application that uses Adobe Flex. This section describes how to improve the accessibility of Oracle Event Processing Visualizer when using a screen reader like JAWS.

For more information, see:

- "Documentation Accessibility"

- http://www.adobe.com/accessibility/products/flex/jaws.html

To improve Oracle Event Processing Visualizer accessibility:

1. Open the Oracle Event Processing Visualizer preferences panel.
See Section 2.2, "Managing User Preferences".

2. Set the Max Opened Panels option to 1.

3. Uncheck the Enable Fullscreen option.

4. Click Save.

Part II

Application Tasks

Part II contains the following chapters:

- Chapter 3, "Overview of Application Tasks"

- Chapter 4, "Managing the Event Processing Network"

- Chapter 5, "Managing Application Lifecycle"

- Chapter 6, "Managing Oracle CQL Rules"

- Chapter 7, "Managing EPL Rules"

- Chapter 8, "Managing Configuration History"

3 Overview of Application Tasks

This chapter introduces the typical application tasks you can perform with Oracle Event Processing Visualizer, including managing event processing networks (EPNs), application lifecycle, Oracle Continuous Query Language (CQL) rules, and configuration history.

This chapter includes the following sections:

- Section 3.1, "Event Processing Network (EPN) Management"

- Section 3.2, "Application Lifecycle Management"

- Section 3.3, "Rules Management"

- Section 3.4, "Configuration History Management"

3.1 Event Processing Network (EPN) Management

The Oracle Event Processing Event Processing Network (EPN) represents the interconnections between the various Oracle Event Processing components of an Oracle Event Processing application. Using Oracle Event Processing Visualizer, you can manage the EPN, including viewing and changing the configuration of a stage, recording and playing back events, and monitoring the throughput and latency of a stage or path. Right-click a stage to select common stage-related functions from a convenient context menu.

For more information, see:

- Chapter 4, "Managing the Event Processing Network"

- Section 1.2.6.1, "Event Processing Network Context Menu"

- "Components of the Oracle Event Processing Event Processing Network" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

3.2 Application Lifecycle Management

You can manage the full application lifecycle including uploading an application, deploying it, suspending and resuming the application, and undeploying the application.

For more information, see:

- Chapter 5, "Managing Application Lifecycle"

- "Oracle Event Processing Application Lifecycle" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

3.3 Rules Management

You can create, replace, and delete the rules in the Oracle CQL and EPL processors of Oracle Event Processing applications you develop and deploy as well as applications that Oracle Event Processing server deploys.

It is important to note that Oracle Event Processing Visualizer will update your configuration file on the server with any queries that you create. However, you will not see this take effect in your application from within the Oracle Event Processing IDE for Eclipse, in order to make the change there you will need to copy and paste the query from Oracle Event Processing Visualizer into your application.

For more information, see:

- Chapter 6, "Managing Oracle CQL Rules"

- Chapter 7, "Managing EPL Rules"

3.4 Configuration History Management

Using the Oracle Event Processing Visualizer, you can manage the configuration changes you make to Oracle Event Processing components. You can review change history and you can undo (roll back) changes to an earlier version. You can perform these operations on a given resource or application in both standalone-server and multi-server domains.

Alternatively, you can manage configuration history using the wlevs.Admin command-line tool.

For more information, see:

- Section 3.4.1, "Enabling and Disabling Configuration History Management"

- Section 3.4.2, "Configuring Change Record Purge Behavior"

- Section 3.4.3, "Resource Configuration History Management"

- Section 3.4.4, "Application Configuration History Management"

- Section 3.4.5, "Application Lifecycle and Configuration History Management"

- Section 3.4.6, "Multi-Server Domains and Configuration History Management"

- Chapter 8, "Managing Configuration History"

- "Commands for Managing Configuration History" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

3.4.1 Enabling and Disabling Configuration History Management

By default, Oracle Event Processing provides resource and application configuration history management.

Optionally, you can disable this feature by editing the CEP_SERVER/startwlevs.cmd/sh file and adding the com.oracle.ocep.config.version.enabled system property to the last line (in practice, the command should be on one line):

"$JAVA_HOME/bin/java" $JVM_ARGS $DEBUG_ARGS -Dwlevs.home="$USER_INSTALL_DIR"
-Dcom.oracle.ocep.config.version.enabled=false -Dbea.home="$BEA_HOME"
-jar "${USER_INSTALL_DIR}/bin/wlevs.jar" $ARGS

If you disable this feature, Oracle Event Processing cannot propagate rules among the Oracle Event Processing servers in a multi-server domain. In this case, to propagate rule changes, you must manually update the rules in all the servers of a multi-server domain.

If you disable this feature and then wish to re-enable it, you must do so as follows:

1. Undeploy your Oracle Event Processing application.

2. Shut down the Oracle Event Processing server.

3. Edit the startwlevs.cmd/sh file to either remove the -Dcom.oracle.ocep.config.version.enabled system property or set it to true.

4. Start the Oracle Event Processing server.

5. Deploy your Oracle Event Processing application.
Failure to do so may cause rule propagation to fail in a multi-server domain and may prevent the Oracle Event Processing Visualizer from maintaining a consistent view of the Oracle Event Processing servers in a multi-server domain.

3.4.2 Configuring Change Record Purge Behavior

You can set how often change records in the configuration history are purged, along with how many records are retained on each purge (in other words, records not purged). You might use these settings for enhancing performance. Purging more often and retaining fewer records might improve performance in some cases, such as when your application makes a large number of configuration changes dynamically at run time.

You configure these settings with system properties that you pass when starting the Oracle Event Processing server. The system properties are as follows:

- com.oracle.ocep.config.version.changeRecordsPurgeFrequency -- Amount of time, in seconds, between each purge. Default value is 3600 (one hour).

- com.oracle.ocep.config.version.numSavedChangeRecords -- Number of change records that will be saved when purging old change records. Default value is 25.

To make these settings, edit the CEP_SERVER/startwlevs.cmd/sh file, adding the system property to the last line (in actual practice, the command should be on one line).

For example, to set the purge frequency to 10 minutes and retain 50 records, you could use a command such as the following:

"$JAVA_HOME/bin/java" $JVM_ARGS $DEBUG_ARGS -Dwlevs.home="$USER_INSTALL_DIR"
-Dcom.oracle.ocep.config.version.changeRecordsPurgeFrequency=600
-Dcom.oracle.ocep.config.version.numSaveChangeRecords=50
-Dbea.home="$BEA_HOME"
-jar "${USER_INSTALL_DIR}/bin/wlevs.jar" $ARGS

You must restart the Oracle Event Processing server to have your changes take affect.

3.4.3 Resource Configuration History Management

You can manage the configuration history of the following Oracle Event Processing resources:

- Oracle Event Processing high availability adapters

- Oracle CQL rules

For more information, see Section 8.1, "Managing Resource Configuration History".

3.4.4 Application Configuration History Management

You can manage the configuration history for a given application. This allows you to see a summary of all the configuration changes made to all resources of a given application.

For more information, see Section 8.2, "Managing Application Configuration History".

3.4.5 Application Lifecycle and Configuration History Management

When you deploy an application, the Oracle Event Processing server creates a new configuration history for the application.

When you update an application, the Oracle Event Processing server erases the existing configuration history and creates a new configuration history for the application.

When you uninstall an application, the Oracle Event Processing server erases the configuration history for the application.

For more information, see Section 3.2, "Application Lifecycle Management".

3.4.6 Multi-Server Domains and Configuration History Management

When you deploy an application to a multi-server domain, consider the following configuration history management restrictions:

- Section 3.4.6.1, "Rejoining a Multi-Server Domain"

- Section 3.4.6.2, "Simultaneous Updates"

For more information, see Section 9.8, "Multi-Server Domain Management".

3.4.6.1 Rejoining a Multi-Server Domain

When an Oracle Event Processing server joins (or rejoins) a multi-server domain, the server's existing configuration history records (if any) are deleted and replaced with the current multi-server domain configuration history when the Oracle Event Processing server has synchronized with the primary.

3.4.6.2 Simultaneous Updates

Oracle Event Processing does not support simultaneous configuration updates from more than one Oracle Event Processing server in a multi-server domain.

Make configuration changes from one Oracle Event Processing Visualizer instance on one node in the multi-server domain.

4 Managing the Event Processing Network

This chapter describes how you can use Oracle Event Processing Visualizer to manage the event processing networks (EPNs) of a deployed Oracle Event Processing application. It includes information on viewing the EPN graphically, recording and playing back event flow for debugging, tracing and injecting events, and monitoring channels and throughput.

This chapter includes the following sections:

- Section 4.1, "Viewing the EPN of an Application"

- Section 4.2, "Viewing and Editing the Configuration of a Stage"

- Section 4.3, "Recording and Playing Back Events in the EPN"

- Section 4.4, "Tracing and Injecting Events in the EPN"

- Section 4.5, "Monitoring a Channel Stage in the EPN"

- Section 4.6, "Monitoring the Throughput and Latency of a Stage or Path in the EPN"

For more information, see Section 3.1, "Event Processing Network (EPN) Management".

4.1 Viewing the EPN of an Application

Using the Oracle Event Processing Visualizer, you can view the EPN of a deployed application.

4.1.1 How to View the EPN of an Application

You can use the Oracle Event Processing Visualizer to view the EPN of a deployed application.

To view the EPN of an application:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application whose EPN you want to view.

3. In the right pane, click the Event Processing Network tab.
The Event Processor Network panel is displayed as Figure 4-1 shows.

Figure 4-1 Event Processing Network Panel

The name of a stage appears above the stage in black text. For example, there is an Oracle CQL processor called FindCrossRates and the name of its inbound channel is FxQuoteStream.

The name of the event type transmitted on a given channel is shown below the connecting line in blue text. For example, the event type transmitted on the FxQuoteStream is CrossRateEvent.

4. To navigate to areas of the EPN that are off the screen, click in the miniature EPN view, and drag.

5. To change the layout of the EPN, select a layout option from the Layout menu:

- organic

- tree

- hierarchic (default)

- balloon

- orthogonal

6. To change the way the EPN fits in the browser window:

1. Click on the Zoom slider and drag to the right to increase the zoom level; drag left to decrease the zoom level.

2. Click the Fit Content button to automatically adjust the zoom level to make all of the EPN visible in the browser window; click the Actual Size button to reset the zoom level to zero.

3. Click the Zoom Out (+) button or Zoom In (-) button.

4.2 Viewing and Editing the Configuration of a Stage

Using Oracle Event Processing Visualizer, you can view the configuration of any stage and change the configuration for some stages.

Note:

Any changes to rules and Oracle high availability adapters are propagated to the other servers in the same group. That is, all rule and and Oracle high availability adapter configurations is automatically synchronized. Other configuration changes are not synchronized. For example, if you change record/playback or JMS adapter configuration on one server in a multi-server domain, then these changes are not synchronized with the other servers in the same group. For more information, see Chapter 18, "Managing Multi-Server Domains"

4.2.1 How to View and Edit the Configuration of a Stage

You can view and change the configuration of a stage using the Oracle Event Processing Visualizer.

To view and edit the configuration of a stage:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want.

3. Select the stage you wish to view and configure:

1. To use the EPN diagram:

- Click the Event Processing Network tab.

- Double-click the stage you wish to view or Right-click the stage and select Open Panel.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to view.

- Click the stage you wish to view.

- In the right pane, click the General tab

The stage's configuration appears.

For example, Figure 4-2 shows the General tab for a channel.

Figure 4-2 General Tab for Channel Stage: Before Clicking Edit

Note:

Not all stage's configuration can be updated by Oracle Event Processing Visualizer. An Edit button will appear if the configuration can be updated.

For a description of the configuration properties for each possible stage, see:

- Section 4.2.1.1, "Channel Properties"

- Section 4.2.1.2, "Channel Properties: Outbound Channel"

- Section 4.2.1.3, "Channel Properties: Outbound Channel With Query Selector"

- Section 4.2.1.4, "Stream Properties"

- Section 4.2.1.5, "Oracle CQL Processor Properties"

- Section 4.2.1.6, "EPL Processor Properties"

- Section 4.2.1.7, "Adapter Properties"

- Section 4.2.1.8, "JMS Adapter Properties"

- Section 4.2.1.9, "Oracle Event Processing High Availability Input Adapter Properties"

- Section 4.2.1.10, "Oracle Event Processing High Availability Buffering Output Adapter Properties"

- Section 4.2.1.11, "Oracle Event Processing High Availability Broadcast Output Adapter Properties"

- Section 4.2.1.12, "Oracle Event Processing High Availability Correlating Output Adapter Properties"

- Section 4.2.1.13, "Event Bean Properties"

- Section 4.2.1.14, "POJO Properties"

- Section 4.2.1.15, "Cache Properties: Oracle Coherence Cache"

- Section 4.2.1.16, "Cache Properties: Oracle Event Processing Local Cache"

4. Click the Edit button, if present.
Modifiable attributes become editable as Figure 4-3 shows.

Figure 4-3 General Tab for Channel Stage: After Clicking Edit

5. Enter new values for editable fields.
For example, for the Max Size and Max Threads fields in Figure 4-3.

6. To commit your changes, click Save.

7. To leave the configuration unchanged, click Cancel.

4.2.1.1 Channel Properties

Figure 4-4 shows the General tab for a channel stage.

Figure 4-4 General Tab for Channel Stage

After you click Edit, you can modify the attributes that are not shaded grey. Table 4-1 describes all the attributes on the General tab for this stage.

Table 4-1 General Tab Properties: Channel

Attribute

Description

Channel Type

Stream or Relation.

For more information, see "Channels Representing Streams and Relations" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

Max Size

Specifies the maximum size of the channel. Zero-size channels synchronously pass-through events. Non-zero size channels process events asynchronously, buffering events by the requested size. The default value is 1024.

Max Threads

Specifies the maximum number of threads that will be used to process events for this channel.

You can change Max Threads from 0 to a positive integer (that is, from a pass-through to multiple threads) without redeploying. However, if you change Max Threads from a positive integer to 0 (that is, from multiple threads to a pass-through), then you must redeploy your application.

If the Max Size attribute is 0, then setting a value for Max Threads has no effect.

The default value for this attribute is 1.

Event Type Name

The name of the event type that this channel carries.

Timestamp Type

Use this element to specify whether or not the channel is application timestamped, that is, if the application is responsible for assigning a timestamp to each event, using any time domain. Valid values are:

- SYSTEM-TIME (default)

- APPLICATION-TIME

For more information, see child element application-timestamped in "wlevs:channel" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

Automatic HeartBeat

For system timestamped relations or streams, time is dependent upon the arrival of data on the relation or stream data source. Oracle Event Processing generates a heartbeat on a system timestamped relation or stream if there is no activity (no data arriving on the stream or relation's source) for more than this number of nanoseconds. Either the relation or stream is populated by its specified source or Oracle Event Processing generates a heartbeat every Automatic HeartBeat number of nanoseconds.

Note: This attribute is only applicable when a non-streaming source is connected to the channel.

For more information, see "heartbeat" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

For more information, see:

- "channel" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- Section 4.2.1.2, "Channel Properties: Outbound Channel"

- Section 4.2.1.3, "Channel Properties: Outbound Channel With Query Selector"

4.2.1.2 Channel Properties: Outbound Channel

Figure 4-5 shows the General tab for an outbound channel stage with an upstream Oracle CQL processor. The Channel Parameter accordion tab is selected.

Figure 4-5 General Tab Outbound Channel Parameters

After you click Edit, you can modify the attributes that are not shaded grey. Table 4-2 describes all the attributes on the General tab for this stage.

Table 4-2 General Tab Properties: Outbound Channel

Attribute

Description

Channel Type

Stream or Relation.

For more information, see "Channels Representing Streams and Relations" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

Max Size

Specifies the maximum size of the channel. Zero-size channels synchronously pass-through events. Non-zero size channels process events asynchronously, buffering events by the requested size. The default value is 1024.

Max Threads

Specifies the maximum number of threads that will be used to process events for this channel.

You can change Max Threads from 0 to a positive integer (that is, from a pass-through to multiple threads) without redeploying. However, if you change Max Threads from a positive integer to 0 (that is, from multiple threads to a pass-through), then you must redeploy your application.

If the Max Size attribute is 0, then setting a value for Max Threads has no effect.

The default value for this attribute is 1.

Event Type Name

The name of the event type that this channel carries.

For more information, see:

- "channel" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- Section 4.2.1.1, "Channel Properties"

- Section 4.2.1.3, "Channel Properties: Outbound Channel With Query Selector"

4.2.1.3 Channel Properties: Outbound Channel With Query Selector

Figure 4-6 shows the General tab for a channel stage with an upstream Oracle CQL processor. The Selectors accordion tab is selected.

Figure 4-6 General Tab Selectors for Outbound Channel Stage

The Selector tab is only applicable if the up-stream node is an Oracle CQL processor.

After you click Edit, use the Selector tab, you can specify which up-stream Oracle CQL processor queries are permitted to output their results to the channel:

1. Select an up-stream Oracle CQL processor from the Processor pull-down menu.
The available Oracle CQL rules associated with the selected processor are listed below the pull-down menu.

2. Use the left and right-pointing arrow buttons to move one or more rules to the Selected Queries list.
Only rules in the Selected Queries list will output events to the channel.

Note:

You must add a query to the upstream Oracle CQL processor before you can add the query name to the channel selector. For more information, see Section 6.1.1, "How to Create a Rule in an Oracle CQL Processor Using the Query Wizard".

For more information, see:

- "Controlling Which Queries Output to a Downstream Channel" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- Section 4.2.1.1, "Channel Properties"

- Section 4.2.1.2, "Channel Properties: Outbound Channel"

4.2.1.4 Stream Properties

Figure 4-7 shows the General tab for a stream stage.

Figure 4-7 General Tab for Channel Stage

After you click Edit, you can modify the attributes that are not shaded grey. Table 4-3 describes all the attributes on the General tab for this stage.

Table 4-3 General Tab Properties: Stream

Attribute

Description

Max Size

Specifies the maximum size of the stream. Zero-size streams synchronously pass-through events. Non-zero size streams process events asynchronously, buffering events by the requested size. The default value is 1024.

Max Threads

Specifies the maximum number of threads that will be used to process events for this stream.

You can change Max Threads from 0 to a positive integer (that is, from a pass-through to multiple threads) without redeploying. However, if you change Max Threads from a positive integer to 0 (that is, from multiple threads to a pass-through), then you must redeploy your application.

If the Max Size attribute is 0, then setting a value for Max Threads has no effect.

The default value for this attribute is 1.

4.2.1.5 Oracle CQL Processor Properties

Table 4-3 shows the General tab for an Oracle CQL processor stage.

Figure 4-8 General Tab for Oracle CQL Processor Stage

There are no editable properties for this type of stage.

For more information, see "processor (Oracle CQL)" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

4.2.1.6 EPL Processor Properties

Figure 4-9 shows the General tab for an EPL processor stage.

Figure 4-9 General Tab for EPL Processor Stage

There are no editable properties for this type of stage.

For more information, see "processor (EPL)" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

4.2.1.7 Adapter Properties

Figure 4-10 shows the General tab for an adapter stage.

Figure 4-10 General Tab for an Adapter Stage

There are no editable properties for this type of stage.

For more information, see "adapter" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

4.2.1.8 JMS Adapter Properties

Figure 4-16 shows the General tab for a JMS adapter.

Figure 4-11 General Tab for a JMS Adapter Stage

There are no editable properties for this type of stage.

For more information, see "adapter" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

4.2.1.9 Oracle Event Processing High Availability Input Adapter Properties

Figure 4-12 shows the General tab for an Oracle Event Processing high availability input adapter.

Figure 4-12 General Tab for an Oracle Event Processing High Availability Input Adapter Stage

There are no editable properties for this type of stage.

For more information, see "How to Configure the High Availability Input Adapter" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

4.2.1.10 Oracle Event Processing High Availability Buffering Output Adapter Properties

Figure 4-13 shows the General tab for an Oracle Event Processing high availability buffering output adapter.

Figure 4-13 General Tab for an Oracle Event Processing High Availability Buffering Output Adapter Stage

There are no editable properties for this type of stage.

For more information, see "How to Configure the Buffering Output Adapter" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

4.2.1.11 Oracle Event Processing High Availability Broadcast Output Adapter Properties

Figure 4-14 shows the General tab for an Oracle Event Processing high availability broadcast output adapter.

Figure 4-14 General Tab for an Oracle Event Processing High Availability Broadcast Output Adapter Stage

There are no editable properties for this type of stage.

For more information, see "How to Configure the Broadcast Output Adapter" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

4.2.1.12 Oracle Event Processing High Availability Correlating Output Adapter Properties

Figure 4-15 shows the General tab for an Oracle Event Processing high availability correlating output adapter.

Figure 4-15 General Tab for an Oracle Event Processing High Availability Correlating Output Adapter Stage

There are no editable properties for this type of stage.

For more information, see "How to Configure the Correlating Output Adapter" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

4.2.1.13 Event Bean Properties

Figure 4-16 shows the General tab for an event bean stage.

Figure 4-16 General Tab for Event Bean Stage

There are no editable properties for this type of stage.

For more information, see "event-bean" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

4.2.1.14 POJO Properties

Figure 4-17 shows the General tab for a Plain Old Java Object (POJO) stage.

Figure 4-17 General Tab for POJO Stage

There are no editable properties for this type of stage.

4.2.1.15 Cache Properties: Oracle Coherence Cache

Figure 4-18 shows the properties for an Oracle Coherence Cache stage.

Figure 4-18 Oracle Coherence Cache Stage Properties

There are no editable properties for this type of stage.

For more information, see:

- Section 18.2, "Managing Oracle Coherence"

- "coherence-cache-config" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

4.2.1.16 Cache Properties: Oracle Event Processing Local Cache

Figure 4-19 shows the properties for an Oracle Event Processing Local Cache stage.

Figure 4-19 Oracle Event Processing Local Cache Stage Properties

After you click Edit, you can modify the attributes that are not shaded grey. Table 4-4 describes all the attributes on the General tab for this stage.

Table 4-4 Properties: Oracle Event Processing Local Cache

Attribute

Description

Max Size

Specifies the max-size element to define the number of cache elements in memory after which eviction or paging occurs. Currently, the maximum cache size is 2^31-1 entries. This element may be changed dynamically.

Idle Time

Specifies the number of milliseconds a cache entry may not be accessed before being actively removed from the cache. By default, there is no idle-time set. This element may be changed dynamically.

Write Policy

Specifies how Oracle Event Processing server writes information into the cache. Valid values are:

- WriteNone: Specifies no writes to a cache store. This is the default write policy. This element may be changed dynamically. For more information, see "write-none" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- WriteThrough: Specifies synchronous writes to the cache store. As soon as an entry is created or updated the write occurs. This element may be changed dynamically. For more information, see "write-through" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

- WriteBehind: Specifies asynchronous writes to the cache store. The cache store is invoked from a separate thread after a create or update of a cache entry. This element may be changed dynamically. For more information, see "write-behind" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

Eviction Policy

Use this element to define the eviction policy the cache uses when Max Size is reached.

Valid values are:

- FIFO: first in, first out.

- LRU: least recently used

- LFU: least frequently used (default)

- NRU: not recently used

Time To Live

Specifies the maximum amount of time, in milliseconds, that an entry is cached. Default value is 0 (which means infinite).

For more information, see "cache" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

4.3 Recording and Playing Back Events in the EPN

The event repository feature of Oracle Event Processing allows you to record events flowing through an event processing network (EPN) and store them so you can later play back the events. You configure the recording and playing back of events per stage, such as a processor or stream. Additionally, only events coming out of an event source can be recorded, and playback is possible only on event sinks (events are played back to the inbound side of the event sink stage.)

The only configuration options of record and playback that you can control using Oracle Event Processing Visualizer are event type, time, and speed.

For detailed information about how event and record playback works and how to configure a component, see "Configuring Event Record and Playback" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

For an example, see "Event Record and Playback Example" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

Alternatively, you can trace and inject events as Section 4.4, "Tracing and Injecting Events in the EPN" describes.

This section describes:

- Section 4.3.1, "How to Record Events"

- Section 4.3.2, "How to Playback Events"

4.3.1 How to Record Events

Using Oracle Event Processing Visualizer you can record events for a selected stage. Later, you can playback these events (see Section 4.3.2, "How to Playback Events").

To record events:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to record and playback events with.

3. In the right pane, click the Event Processing Network tab.
The Event Processor Network panel is displayed as Figure 4-20 shows.

Figure 4-20 Event Processing Network Panel

4. Select the stage for which you wish to record an event:

1. To use the EPN diagram:

- Right-click the stage for which you wish to record an event and select Record Event.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to record and playback events with.

- Click the stage for which you wish to record an event.

- In the right pane, click the Record tab

The Record panel appears as shown in Figure 4-21.

Figure 4-21 The Record Tab

The Record tab in Oracle Event Processing Visualizer for a particular stage is divided into the following sections:

- Recording Current Status: displays the current status of a recording. When the system has begun a recording session, then this field displays a blinking Recording message and it changes back to blank when the recording sessions ends. This section is read-only.

- Recording Parameters: specifies the name of the database schema (Dataset name) and the provider information. You must pre-configure the provider for the event repository.
For more information, see:

- "Storing Events in the Persistent Event Store" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- Chapter 17, "Managing the Persistent Event Store"

- Event Type List: contains the Event Type List pane that displays the list of event types that are associated with a selected stage of the Oracle Event Processing application. Choose one or more events to record.

- Record Schedule Entry: entries in this table displays the recording start time and end time for an event type. The fields in this table are disabled by default. Click Update Record to enable the fields in this table. The start and end time entries are optional fields, to start recording immediately, click the Start Recording button at the bottom of the panel.

- Change Recording Schedule: allows you to change some of the properties of your existing recording entry. Certain properties, such as the event type, cannot be changed using Oracle Event Processing Visualizer. Use the calendar and clock controls to specify or change an existing start and end time for recording events.

5. Decide what you want to do:

1. To add a new record schedule entry, click Add.

2. To modify an existing record schedule entry, select the entry in the Record Schedule Entry table and click Edit.

3. To delete an existing record schedule entry, select the entry in the Record Schedule Entry table and click Delete.

6. Configure the Recording Parameters:

- DataSet Name: the value of the record-parameters child element dataset-name element from the simpleEventSource adapter application configuration file MIDDLEWARE_HOME\ocep_11.1\samples\domains\recplay_domain\defaultserver\applications\recplay\config.xml as Example 4-1 shows.

Example 4-1 recplay Application Configuration File config.xml: adapter Element

<adapter>
<name>simpleEventSource</name>
<record-parameters>
<dataset-name>recplay_sample</dataset-name>
<event-type-list>
<event-type>SimpleEvent</event-type>
</event-type-list>
<provider-name>test-rdbms-provider</provider-name>
<batch-size>1</batch-size>
<batch-time-out>10</batch-time-out>
</record-parameters>
</adapter>

- Provider Name: the value of the rdbms-event-store-provider child element name which corresponds to the data-source child element name as Example 4-2 shows.
When using the default Berkeley database provider, select default provider.

Example 4-2 recplay Oracle Event Processing Server Configuration File config.xml: data-source and rdbms-event-store-provider Elements

<data-source>
<name>derby1</name>
<connection-pool-params>
<initial-capacity>15</initial-capacity>
<max-capacity>50</max-capacity>
</connection-pool-params>
<driver-params>
<url>jdbc:derby:dbtest1;create=true</url>
<driver-name>org.apache.derby.jdbc.EmbeddedDriver</driver-name>
</driver-params>
</data-source>
<rdbms-event-store-provider>
<name>test-rdbms-provider</name>
<data-source-name>derby1</data-source-name>
</rdbms-event-store-provider>

For more information, see Chapter 13, "Managing Data Sources".

7. Configure the Event type list:
Use the left and right-pointing arrow buttons to move the events you want recorded from the Available event list to the Recorded event list.

For more information, see Chapter 16, "Managing the Event Type Repository".

8. Decide when you want recording to start and end:

1. If you want to schedule a record start and end time:

- Click the calendar and clock controls to add a start time and end time.

- Click Save.
An alert dialog appears as Figure 4-22 shows.

Figure 4-22 Record Schedule Confirmation Dialog

- Click OK.

2. If you want to record events immediately:

- Click Save.
An alert dialog appears as Figure 4-22 shows.

Figure 4-23 Record Schedule Confirmation Dialog

- Click OK.

- Click Start.

Oracle Event Processing Visualizer keeps track of whether a particular stage is currently recording or playing back events; based on this information, the Start and End buttons may be enabled or disabled as appropriate.

When you start recording using Oracle Event Processing Visualizer, Oracle Event Processing uses the event type information from your record entry and begins recording immediately; the pre-scheduled time, if any, remains unchanged. Use the End button to stop recording of your session immediately.

9. Decide when you want to stop recording:

1. If you scheduled a stop time, event recording will stop at that time.

2. If you want to stop event recording immediately, click Stop.

4.3.2 How to Playback Events

Using Oracle Event Processing Visualizer you can playback previously recorded events (see Section 4.3.2, "How to Playback Events") for a selected stage.

To playback events:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to record and playback events with.

3. In the right pane, click the Event Processing Network tab.
The Event Processor Network panel is displayed as Figure 4-24 shows.

Figure 4-24 Event Processing Network Panel

4. Select the stage for which you wish to playback an event:

1. To use the EPN diagram:

- Right-click the stage for which you wish to playback an event and select Playback Event.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to record and playback events with.

- Click the stage for which you wish to playback an event.

- In the right pane, click the Playback tab

The Record panel appears as shown in Figure 4-25.

Figure 4-25 The Playback Tab

The Playback tab in Oracle Event Processing Visualizer for a particular stage is divided into the following sections:

- Playback Current Status: displays the current status of playback. When the system has begun playing back a session, then this field displays a blinking Playback message and it changes back to blank when the playback session ends. This section is read-only.

- Playback Parameters: specifies the name of the database schema (Dataset name) and the provider information. You must pre-configure the provider for the event repository.
For more information, see:

- "Storing Events in the Persistent Event Store" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- Chapter 17, "Managing the Persistent Event Store"

- Event Type List: contains the Event Type List pane that displays the list of event types that are associated with a selected stage of the Oracle Event Processing application. Choose one or more events to playback.

- Playback Filter Entry: specify a set of filters using the clock and time controls, to run a playback for an event type in event type repository. Only events that were recorded during the start and end times you specify here will be played back.

- Playback Schedule Entry: entries in this table displays the playback start time and end time for an event type. The fields in this table are disabled by default. Click Update Playback to enable the fields in this table. The start and end time entries are optional fields, to start recording immediately, click the Start Playback button at the bottom of the panel.

- Change Playback Filter Parameters: allows you to change some of the properties of the selected playback filter entry.

- Change Playback Schedule Parameters: allows you to change some of the properties of the selected playback schedule entry. Use the calendar and clock controls to specify or change an existing start and end time for playing back events.

5. Configure the Playback Parameters:

- DataSet Name: the value of the record-parameters child element dataset-name element from the simpleEventSource adapter application configuration file MIDDLEWARE_HOME\ocep_11.1\samples\domains\recplay_domain\defaultserver\applications\recplay\config.xml as Example 4-3 shows.

Example 4-3 recplay Application Configuration File config.xml: stream Element

<stream>
<name>eventStream</name>
<playback-parameters>
<dataset-name>recplay_sample</dataset-name>
<event-type-list>
<event-type>SimpleEvent</event-type>
</event-type-list>
<provider-name>test-rdbms-provider</provider-name>
</playback-parameters>
<max-size>10000</max-size>
<max-threads>2</max-threads>
</stream>

- Provider Name: the value of the rdbms-event-store-provider child element name which corresponds to the data-source child element name as Example 4-4 shows.
When using the default Berkeley database provider, select default provider.

Example 4-4 recplay Oracle Event Processing Server Configuration File config.xml: data-source and rdbms-event-store-provider Elements

<data-source>
<name>derby1</name>
<connection-pool-params>
<initial-capacity>15</initial-capacity>
<max-capacity>50</max-capacity>
</connection-pool-params>
<driver-params>
<url>jdbc:derby:dbtest1;create=true</url>
<driver-name>org.apache.derby.jdbc.EmbeddedDriver</driver-name>
</driver-params>
</data-source>
<rdbms-event-store-provider>
<name>test-rdbms-provider</name>
<data-source-name>derby1</data-source-name>
</rdbms-event-store-provider>

For more information, see Chapter 13, "Managing Data Sources".

6. Configure the Event type list:
Use the left and right-pointing arrow buttons to move the events you want played back from the Available event list to the Playback event list.

For more information, see Chapter 16, "Managing the Event Type Repository".

7. Decide what you want to do:

1. To add a new playback schedule entry, click Add.

2. To modify an existing playback filter entry, select the entry in the Playback Filter Entry table and click Edit.

3. To modify an existing playback schedule entry, select the entry in the Playback Schedule Entry table and click Edit.

4. To delete an existing playback filter or schedule entry, select the entry in the appropriate table and click Delete.

8. Decide when you want playback to start and end:

1. If you want to create a new playback filter entry:

- Click the calendar and clock controls in the Change Playback Filter Parameters area to add a start time and end time.

- Click Save.
An alert dialog appears as Figure 4-26 shows.

Figure 4-26 Playback Schedule Confirmation Dialog

- Click OK.

2. If you want to create a new playback schedule entry:

- Click the calendar and clock controls in the Change Playback Schedule Parameters area to add a start time and end time and to specify a speed and repeat mode.
Speed: the default speed value is 1, which corresponds to normal speed. A value of 2 means that events will be played back 2 times faster than the original record speed. Similarly, a value of 0.5 means that events will be played back at half the speed.

Repeat: set this to true to repeat playback until the scheduled end time or until you stop playback manually; set this to false to playback only once.

- Click Save.
An alert dialog appears as Figure 4-27 shows.

Figure 4-27 Playback Schedule Confirmation Dialog

- Click OK.

3. If you want to playback events immediately:

- Click Save.
An alert dialog appears as Figure 4-22 shows.

Figure 4-28 Playback Schedule Confirmation Dialog

- Click OK.

- Click Start.

Oracle Event Processing Visualizer keeps track of whether a particular stage is currently recording or playing back events; based on this information, the Start and End buttons may be enabled or disabled as appropriate.

When you start playback using Oracle Event Processing Visualizer, Oracle Event Processing uses the event type information from your playback entry and begins playback immediately; the pre-scheduled time, if any, remains unchanged. Use the End button to stop playback session immediately.

9. Decide when you want to stop playback:

1. If you scheduled a stop time, event playback will stop at that time.

2. If you want to stop event playback immediately, click Stop.

4.4 Tracing and Injecting Events in the EPN

Using the Event Inspector service and the stream visualizer, you can:

- Trace events on any HTTP pub-sub server channel.

- Trace events on any stage in the EPN on the Event Inspector service dynamic HTTP pub-sub server channel.

- Inject events to any HTTP pub-sub server channel

- Inject events into any stage in the EPN using the Event Inspector service dynamic HTTP pub-sub server channel.

Note:

The Event Inspector service is not for use on a production Oracle Event Processing server. It is for use only during development.

This section describes:

- Section 4.4.1, "How to Trace Events on a Dynamic Channel"

- Section 4.4.2, "How to Inject a Simple Event on an Event Inspector Service Dynamic Channel"

- Section 4.4.3, "How to Inject an Event as a JSON String on an Event Inspector Service Dynamic Channel"

For more information, see:

- Chapter 15, "Managing the Event Inspector Service"

- Chapter 14, "Managing HTTP Publish-Subscribe Servers"

- Section 4.5, "Monitoring a Channel Stage in the EPN"

- "Testing Applications With the Event Inspector" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

Alternatively, you can record and playback events as Section 4.3, "Recording and Playing Back Events in the EPN" describes.

4.4.1 How to Trace Events on a Dynamic Channel

You can use Oracle Event Processing Visualizer to view the messages that are currently being published to a static channel.

For more information, see Section 9.5, "HTTP Publish-Subscribe Server Management".

To trace events on a dynamic channel:

1. Optionally, configure the HTTP pub-sub server to use to trace events.
See Chapter 15, "Managing the Event Inspector Service".

2. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

3. Select appname, where appname is the name of the application in which you want to trace and inject events.

4. In the right pane, click the Event Processing Network tab.
The Event Processor Network panel is displayed as Figure 4-24 shows.

Figure 4-29 Event Processing Network Panel

5. Select the stage for which you wish to trace events:

1. To use the EPN diagram:

- Right-click the stage for which you wish to trace events and select Trace Event.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application in which you want to trace events.

- Click the stage for which you wish to trace an event.

- In the right pane, click the Trace Event tab

The Trace Event panel appears as shown in Figure 4-30.

Figure 4-30 The Trace Event Tab: Start

6. Click Start.
An alert dialog appears as Figure 4-31 shows.

Figure 4-31 Trace Event Confirmation Dialog

7. Click OK.
The Status field reads ON.

The Channel Name field shows the dynamic channel on which events passing through this stage are written. The Event Inspector service HTTP pub-sub channel is named:

/SERVERNAME/APPLICATIONNAME/STAGENAME/output

Where:

- SERVERNAME: the name of the Oracle Event Processing server on which the application and stage you want to trace are executing.

- APPLICATIONNAME: the name of the Oracle Event Processing application that owns the stage you want to trace.

- STAGENAME: the name of the Oracle Event Processing application stage you want to trace.

For example: /NonClusteredServer/cql/orderCSVAdapter/output.

8. In the top pane, click ViewStream.
The Stream Visualizer panel appears as Figure 4-32 shows.

Figure 4-32 Stream Visualizer (ViewStream): Subscribe

9. In the PubSub Server Name pull down menu, select the name of the HTTP pub-sub server to use to trace events.

10. Click Initialize Client.

11. Select the Subscribe tab.

12. Click Refresh.
The Subscribe tab is refreshed to show the dynamic channel for your stage.

13. Click the radio button next to the name of the channel to which the Oracle Event Processing server is publishing messages.
For example: /NonClusteredServer/cql/orderCSVAdapter/output.

14. Click Subscribe.
The Output messages received from subscription text box displays events being published to the channel.

Note:

If the Oracle Event Processing Visualizer fails to subscribe to the channel and displays an error in the Debug Messages area such as:

14:25:54 GMT-0400: httpFaultHandler(): [RPC Fault faultString="Error #2096" faultCode="InvokeFailed" faultDetail="null"]

Then, confirm the following:

- Have you met the Oracle Event Processing Visualizer Adobe Flash and browser prerequisites? See Section 2.1.1, "Prerequisites".

15. To clear the Output messages received from subscription text, click Clear Text.

16. To unsubscribe from the channel, click Unsubscribe.

17. To stop event trace, select the stage you configured to trace events:

1. To use the EPN diagram:

- Right-click the stage for which you wish to trace an event and select Trace Event.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application in which you want to trace and inject events.

- Click the stage for which you wish to trace an event.

- In the right pane, click the Trace Event tab

The Trace Event panel appears as shown in Figure 4-30.

Figure 4-33 The Trace Event Tab: Stop

18. Click Stop.
An alert dialog appears as Figure 4-34 shows.

Figure 4-34 Trace Event Stop Confirmation Dialog

19. Click OK.
The Status field reads OFF.

The Channel Name field is blank.

4.4.2 How to Inject a Simple Event on an Event Inspector Service Dynamic Channel

You can inject a single, simple event by type into any stage in the EPN using the Event Inspector service dynamic channel.

The Oracle Event Processing Visualizer only supports simple event types whose properties are all simple Java types without nested Java objects. Event properties must be restricted to the following types:

- primitive Java types

- Java array or collection with simple Java type values

- Date

- BigDecimal

- BigInteger

Alternatively, you can inject an event with more complex properties by specifying the event as a JSON message. For more information, see Section 4.4.3, "How to Inject an Event as a JSON String on an Event Inspector Service Dynamic Channel".

Note:

The Event Inspector service is not for use on a production Oracle Event Processing server. It is for use only during development.

To inject a simple event on an Event Inspector service dynamic channel:

1. Optionally, configure the HTTP pub-sub server to use to trace events.
See Chapter 15, "Managing the Event Inspector Service".

2. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

3. Select appname, where appname is the name of the application in which you want to trace and inject events.

4. In the right pane, click the Event Processing Network tab.
The Event Processor Network panel is displayed as Figure 4-24 shows.

Figure 4-35 Event Processing Network Panel

5. Select the stage for which you wish to inject events:

1. To use the EPN diagram:

- Right-click the stage for which you wish to inject an event and select Inject Event.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application in which you want to trace and inject events.

- Click the stage for which you wish to inject an event.

- In the right pane, click the Inject Event tab

The Inject Event panel appears as shown in Figure 4-30.

Figure 4-36 The Inject Event Tab: Start

6. Click Start.
An alert dialog appears as Figure 4-31 shows.

Figure 4-37 Inject Event Start Confirmation Dialog

7. Click OK.
The Status field reads ON.

The Channel Name field shows the dynamic channel on which events passing through this stage are injected. The Event Inspector service HTTP pub-sub channel is named:

/SERVERNAME/APPLICATIONNAME/STAGENAME/input

Where:

- SERVERNAME: the name of the Oracle Event Processing server on which the application and stage you want to trace are executing.

- APPLICATIONNAME: the name of the Oracle Event Processing application that owns the stage you want to trace.

- STAGENAME: the name of the Oracle Event Processing application stage you want to trace.

For example: /NonClusteredServer/cql/orderCSVAdapter/input.

8. In the top pane, click ViewStream.
The Stream Visualizer panel appears as Figure 4-38 shows.

Figure 4-38 Stream Visualizer (ViewStream): Publishing Simple Events

9. In the PubSub Server Name pull down menu, select the name of the HTTP pub-sub server to use to trace events.

10. Click Initialize Client.

11. Select the Publish tab.

12. Click Refresh.
The Publish tab is refreshed to show the dynamic channel for your stage.

13. Click the radio button next to the name of the channel to which the Oracle Event Processing server will inject messages.
For example: /NonClusteredServer/cql/orderCSVAdapter/output.

14. From the Input Method radio button group, select Form Based Event.

15. From the Event Type pull down menu, select an event type.
The View Stream panel updates to list the attributes of the event type you select.

For example, Figure 4-38 shows the attributes for the DataStockTick event, which include:

- Price

- Symbol

- PercChange

- Volume

- LastPrice

Note:

The View Stream Event Type pull down menu lists all the events defined in the event type repository that meet the restrictions that Section 4.4.2, "How to Inject a Simple Event on an Event Inspector Service Dynamic Channel" describes. To inject a more complex events, see Section 4.4.3, "How to Inject an Event as a JSON String on an Event Inspector Service Dynamic Channel".

16. Configure the attributes for the event type you selected.
Hover your mouse over an attribute field to display a tool tip that indicates the data type for the attribute.

17. Click Publish.
Oracle Event Processing Visualizer publishes the event on the Event Inspector service dynamic channel and it is received and processed by the stage that the channel identifies.

18. To stop event injection, select the stage you configured for event injection:

1. To use the EPN diagram:

- Right-click the stage for which you wish to inject an event and select Inject Event.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application in which you want to trace and inject events.

- Click the stage for which you wish to inject an event.

- In the right pane, click the Inject Event tab

The Inject Event panel appears as shown in Figure 4-39.

Figure 4-39 The Inject Event Tab: Stop

19. Click Stop.
An alert dialog appears as Figure 4-31 shows.

Figure 4-40 Inject Event Stop Confirmation Dialog

20. Click OK.
The Status field reads OFF.

The Channel Name field is blank.

4.4.3 How to Inject an Event as a JSON String on an Event Inspector Service Dynamic Channel

You can inject a single event directly to the HTTP pub-sub channel as a JSON-formatted character string.

You can use any event property that JSON can represent.

For details on the Event Inspector service JSON event structure and mandatory attributes, see "Event Inspector Event Types" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

Alternatively, you can inject a simple, pre-existing event. For more information, see Section 4.4.2, "How to Inject a Simple Event on an Event Inspector Service Dynamic Channel".

Note:

The Event Inspector service is not for use on a production Oracle Event Processing server. It is for use only during development.

To inject an event as a JSON string on an Event Inspector service dynamic channel:

1. Optionally, configure the HTTP pub-sub server to use to trace events.
See Chapter 15, "Managing the Event Inspector Service".

2. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

3. Select appname, where appname is the name of the application in which you want to trace and inject events.

4. In the right pane, click the Event Processing Network tab.
The Event Processor Network panel is displayed as Figure 4-24 shows.

Figure 4-41 Event Processing Network Panel

5. Select the stage for which you wish to inject events:

1. To use the EPN diagram:

- Right-click the stage for which you wish to inject an event and select Inject Event.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application in which you want to trace and inject events.

- Click the stage for which you wish to inject an event.

- In the right pane, click the Inject Event tab

The Inject Event panel appears as shown in Figure 4-30.

Figure 4-42 The Inject Event Tab: Start

6. Click Start.
An alert dialog appears as Figure 4-31 shows.

Figure 4-43 Inject Event Start Confirmation Dialog

7. Click OK.
The Status field reads ON.

The Channel Name field shows the dynamic channel on which events passing through this stage are injected. The Event Inspector service HTTP pub-sub channel is named:

/SERVERNAME/APPLICATIONNAME/STAGENAME/input

Where:

- SERVERNAME: the name of the Oracle Event Processing server on which the application and stage you want to trace are executing.

- APPLICATIONNAME: the name of the Oracle Event Processing application that owns the stage you want to trace.

- STAGENAME: the name of the Oracle Event Processing application stage you want to trace.

For example: /NonClusteredServer/cql/orderCSVAdapter/input.

8. In the top pane, click ViewStream.
The Stream Visualizer panel appears as Figure 4-44 shows.

Figure 4-44 Stream Visualizer (ViewStream): Publishing JSON Events

9. In the PubSub Server Name pull down menu, select the name of the HTTP pub-sub server to use to trace events.

10. Click Initialize Client.

11. Select the Publish tab.

12. Click Refresh.
The Publish tab is refreshed to show the dynamic channel for your stage.

13. Click the radio button next to the name of the channel to which the Oracle Event Processing server will inject messages.
For example: /NonClusteredServer/cql/orderCSVAdapter/output.

14. From the Input Method radio button group, select Json String.

15. Enter a JSON-formatted string in the text field as Example 4-5 shows.

Example 4-5 JSON-Formatted Event String

{
"event-type": "myEventType",
"operation": "insert",
"binding": "outbound",
"value":{
"firstname": "Jane",
"lastname": "Doe",
"phone": {
"code": 12345,
"number": "office"
},
}
}

For complete details on the Event Inspector service JSON event structure and mandatory attributes, see "Event Inspector Event Types" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

16. Click Publish.
Oracle Event Processing Visualizer publishes the event on the Event Inspector service dynamic channel and it is received and processed by the stage that the channel identifies.

17. To stop event injection, select the stage you configured for event injection:

1. To use the EPN diagram:

- Right-click the stage for which you wish to inject an event and select Inject Event.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application in which you want to trace and inject events.

- Click the stage for which you wish to inject an event.

- In the right pane, click the Inject Event tab

The Inject Event panel appears as shown in Figure 4-39.

Figure 4-45 The Inject Event Tab: Stop

18. Click Stop.
An alert dialog appears as Figure 4-31 shows.

Figure 4-46 Inject Event Stop Confirmation Dialog

19. Click OK.
The Status field reads OFF.

The Channel Name field is blank.

4.5 Monitoring a Channel Stage in the EPN

You can use Oracle Event Processing Visualizer to monitor any channel stage (stream) of the event processing network (EPN) of an application.

Oracle Event Processing defines the following metrics that you can monitor for each channel:

- size: the number of events in the channel's queue.

4.5.1 How to Monitor a Channel Stage in the EPN

You can monitor a channel stage in the EPN using the Oracle Event Processing Visualizer.

To monitor a channel in the EPN:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to monitor.

3. In the right pane, click the Channel Monitor tab.
The Channel Monitor tab appears as Figure 4-47 shows.

Figure 4-47 Channel Monitor Tab

4. To monitor a channel, click on a channel in the All Channels list and drag and drop it onto one of the four graphs in the Channel Monitor tab.
The channel name is added to a color-coded legend below the graph. The color corresponds to the channel's line in the graph.

The channel name is also added to the Monitored Channels list.

You can display all channels on one graph or distribute channels amongst the four graphs in any combination.

5. To change the scale of the graphs, click on the slider to the left of the vertical axis and drag it up or down.

6. To stop monitoring a channel, click the Remove button associated with it in the Monitored Channels list.

4.6 Monitoring the Throughput and Latency of a Stage or Path in the EPN

You can use Oracle Event Processing Visualizer to monitor the entry and exit points of a stage, or a specified path, of the event processing network (EPN) of an application. Oracle Event Processing defines the following metrics that you can monitor for each stage or path:

- Throughput: The number of events processed by the stage.

- Average Latency: The average amount of time it takes an event to pass through a specified path of the EPN, or latency.

- Maximum Latency: The maximum amount of time it takes an event to pass through a specified path of the EPN.

- Average Latency Threshold: Calculates the average latency values greater than the specified threshold value for specified start and end points.

The Oracle Event Processing Visualizer monitoring feature is itself implemented as an Oracle Event Processing application; this means that the diagnostic information can be viewed as an event, and the application uses EPL rules to process these diagnostic events.

4.6.1 How to Monitor the Throughput and Latency of a Stage or Path in the EPN

You can monitor the throughput and latency of a stage or path in the EPN using the Oracle Event Processing Visualizer.

To monitor the throughput and latency of a stage or path in the EPN:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application for which you want to monitor throughput and latency.

3. Select the stage you wish to view and configure:

1. To use the EPN diagram:

- Click the Event Processing Network tab.

- Double-click the stage you wish to monitor or the first stage in the path that you want to monitor.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to monitor.

- Click the stage you wish to monitor or the first stage in the path that you want to monitor.

- In the right pane, click the General tab

The stage's General tab appears. For example, Figure 4-48 shows the General tab for a channel.

Figure 4-48 General Tab for Channel Stage

4. Click the Create Diagnostics button.
A New Latency Profile accordion menu appears as shown in Figure 4-49. It contains the following tabs:

- Profile Information

- Latency

- Throughput

5. Click the Profile Information tab in the accordion menu as shown in Figure 4-49 and enter the information that Table 4-5 lists.

Figure 4-49 New Latency Profile Screen - Profile Information Tab

Table 4-5 Profile Information Attributes

Attribute

Description

Profile Name

The name of the diagnostic profile that you want to create.

State

Select On if you want to enable the profile for immediate use.

Select Off if you do not want to enable the profile for immediate use.

6. Click the Latency tab in the accordion menu as shown in Figure 4-50 and enter the information that Table 4-6 lists.

Figure 4-50 New Latency Profile Screen - Latency Tab

Table 4-6 Latency Attributes

Attribute

Description

Max Latency Metric

Specifies that you want to monitor the maximum amount of time it takes for events to flow through a stage or a subset of the event processing network (path).

Average Latency Metric

Specifies that you want to monitor the average amount of time it takes for events to flow through a stage or a subset of the event processing network (path)

Average Collection Interval

Specifies the time interval for which you want to gather diagnostic data. In other words, the sliding window across which the Average Latency Metric is computed.

This value is enabled only if you specify Max Latency Metric.

Threshold

Specify a value if you are interested in only receiving latency metrics that exceed a certain value. For example, if you would like to know when the latency exceeds 250 ms, specify a Threshold value of 250 ms.

This value is enabled only if you specify Average Latency Metric.

Start Stage Name

Specifies the name that you have provided for the start stage.

If you want to monitor just the current stage, rather than a path in the EPN, then set the Start Stage Name and End Stage Name to the name of the current stage.

Select Entry for the Start Stage Name option and Exit for the End Stage Name.

End Stage Name

Specifies the name that you have provided for the end stage.

If you want to monitor a path in the EPN, Oracle Event Processing Visualizer assumes that the current stage is the start of the path, and thus automatically selects it for the Start Stage Name field.

Specify whether the start of the path should be the Entry or Exit of the current stage. Then, select the End Stage Name, or the end of the path you want to monitor, and specify whether the end of the path should be the Entry or Exit of the stage

7. Click the Latency tab in the accordion menu as shown in Figure 4-50 and enter the information that Table 4-6 lists.

Figure 4-51 New Latency Profile Screen - Throughput Tab

Table 4-7 Throughput Attributes

Attribute

Description

Average Throughput Metric

Specifies that you want to monitor the average throughput of events flowing through the stage.

Stage Name

Specify whether you want to monitor the throughput at the entry or exit of the stage

Throughput Interval

Specifies the period of time for which the throughput is calculated.

For example, if you specify a Throughput Interval of 1 second, the number of events passing through the stage in 1 second will be calculated. This will be averaged over the Average Interval you specify.

Specify the time unit as Second, Millisecond, or Microsecond.

Average Interval

Specifies the interval for gathering the average throughput.

For example, if you specify a Throughput Interval of 1 second, the number of events passing through the stage in 1 second will be calculated. This will be averaged over the Average Interval you specify.

Specify the time unit as Second, Millisecond, or Microsecond.

8. Click Save.
A pop-up confirmation dialog appears in the lower-right corner of the panel.

The saved diagnostic profile appears in the left domain tree, under the stage from which you created it, as shown in Figure 4-52.

Figure 4-52 Left Domain Tree - Mydiagprofile

Note:

You can now restart a server or undeploy an application without losing the diagnostic profile you created.

9. Click OK.

10. Add the diagnostic profile to the Oracle Event Processing Visualizer Dashboard:

1. Select the diagnostic profile in the left domain tree and click the Add to Dashboard button.

2. Click the Dashboard link at the top of Oracle Event Processing Visualizer and drag and drop the diagnostic profile you created from the domain tree in the left pane to the table at the bottom of the right pane.

11. Click the Dashboard link at the top of Oracle Event Processing Visualizer.

The Dashboard screen is displayed with the Management Events and Performance Monitoring panes as Figure 4-53 shows.

12. Click the name of the diagnostic profile in the table.

The latency and throughput information is displayed in the graphs in the middle of the dashboard as Figure 4-53 shows.

Figure 4-53 Oracle Event Processing Visualizer Dashboard With Diagnostic Profiles

13. To expand the performance monitoring graphs to fill the screen, click Expand Chart.

14. To restore the performance monitoring graphs to their original size, click Restore Chart.

The Management Events section at the top of the Dashboard displays alerts about the incoming monitoring events. The Oracle Event Processing monitoring feature defines a set of default EPL rules that specify when these alerts show up in the Management Events table. You can change the EPL rules to customize this behavior, as described in Section 7.4, "Changing the dataservices Application Event Filter Rule Using EPL."

5 Managing Application Lifecycle

This chapter describes how you can use Oracle Event Processing Visualizer to deploy, suspend, update, and uninstall Oracle Event Processing applications.

This chapter includes the following sections:

- Section 5.1, "Deploying an Application"

- Section 5.2, "Suspending or Resuming an Application"

- Section 5.3, "Updating an Application"

- Section 5.4, "Uninstalling an Application"

For more information, see:

- Section 3.2, "Application Lifecycle Management"

- Chapter 10, "Managing Deployments"

5.1 Deploying an Application

Deploying an application refers to uploading to the server the JAR file that contains the application and then installing it, which makes it available to clients.

Oracle Event Processing internally deploys an application as a two step processes. The first step involves starting the application bundle inside the OSGi container. The second step involves starting and initializing the application. Because the second step is asynchronous in nature, Oracle Event Processing Visualizer does not wait for the completion of the second operation. As soon as the application has successfully started, the Oracle Event Processing Visualizer navigation tree is updated automatically with the new deployment and a successful message will be sent to the dashboard. However, if the application fails to start, you must check for errors on the server side because no messages/updates will occur on the Oracle Event Processing Visualizer.

When you deploy an application, the Oracle Event Processing server starts a new configuration history for it. See Section 3.4, "Configuration History Management".

Note:

You may only deploy to a group if the target Oracle Event Processing server is part of a multi-server domain (that is, if clustering is enabled). You may not deploy to a group if the target Oracle Event Processing server is part of a standalone-server domain (that is, if clustering is disabled). For more information, see "Overview of Oracle Event Processing Multi-Server Domain Administration" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

This section describes:

- Section 5.1.1, "How to Deploy an Application in a Standalone-Server Domain"

- Section 5.1.2, "How to Deploy an Application in a Multi-Server Domain"

5.1.1 How to Deploy an Application in a Standalone-Server Domain

This section describes how to deploy an application to a standalone-server domain. For information on deploying an application in a multi-server domain, see Section 5.1.2, "How to Deploy an Application in a Multi-Server Domain".

Note:

Uploading an application JAR file via Oracle Event Processing Visualizer running in the Firefox browser over HTTPS is not supported. For uploading over HTTPS, use Internet Explorer.

To deploy an application in a standalone-server domain:

1. In the left pane, navigate to and select the Deployment node.
The Deployed Applications table is displayed in the Deployment screen on the right pane.

2. Click the Install button.
The Install Application screen is displayed.

3. Click the Upload tab.

4. Click the ... button to open a file browsing window.

5. Browse to the local directory that contains the JAR file of the application you want to install and click Open.

6. Click Upload.
In the Install Application tab, the JAR file appears in the table of uploaded files, as shown in Figure 5-1.

Figure 5-1 The Install Application Screen: Standalone-Server Domain

7. If you want the application JAR file removed from the Oracle Event Processing server after deploying, check the Remove file after deploy check box.
In this case, you must upload the application JAR file again if you want to redeploy this application.

8. Select your application in the table and click Deploy.
The Review Deployment Information screen is displayed, as shown in Figure 5-2.

Figure 5-2 The Review Deployment Information Screen: Standalone-Server Domain

9. Click OK.
Your application is deployed and ready for use.

5.1.2 How to Deploy an Application in a Multi-Server Domain

This section describes how to deploy an application to a multi-server domain. For information on deploying an application in a standalone-server domain, see Section 5.1.1, "How to Deploy an Application in a Standalone-Server Domain".

For more information, see Chapter 18, "Managing Multi-Server Domains".

Note:

Uploading an application JAR file via Oracle Event Processing Visualizer running in the Firefox browser over HTTPS is not supported. For uploading over HTTPS, use Internet Explorer.

To deploy an application in a multi-server domain:

1. In the left pane, navigate to and select the Deployment node.
The Deployed Applications table is displayed in the Deployment screen on the right pane.

2. Click the Install button.
The Install Application screen is displayed.

3. Click the Upload tab.

4. Click the ... button to open a file browsing window.

5. Browse to the local directory that contains the JAR file of the application you want to install and click Open.

6. Click Upload.
In the Install Application tab, the JAR file appears in the table of uploaded files, as shown in Figure 5-3.

Figure 5-3 The Install Application Screen: Multi-Server Domain

7. Configure the Select Target Group to Deploy field.
The group name appears in the Target Group to Deploy field.

To unselect this selection, click the Clear Group button.

8. Select your application in the table and click Deploy.
The Review Deployment Information screen is displayed, as shown in Figure 5-4.

Figure 5-4 The Review Deployment Information Screen: Multi-Server Domain

9. Click OK.
Oracle Event Processing Visualizer deploys your application to all servers in the selected target group as Figure 5-5 shows.

Figure 5-5 HelloWorld Application Deployed to All the Servers in Group testgroup

5.2 Suspending or Resuming an Application

You can temporarily suspend an application from running and resume the operation using the Suspend and Resume operations in the Deployment screen.

5.2.1 How to Suspend or Resume an Application

You can suspend or resume an application using the Oracle Event Processing Visualizer.

To suspend or resume an application:

1. In the left pane, navigate to Deployment node. The Deployed Applications table is displayed in the Deployment screen on the right pane.

2. Select the application you want to suspend or resume by checking the box to the left of its name.

3. Click Suspend to suspend the application or Resume to resume a suspended application.

5.3 Updating an Application

You can update your currently existing application with your latest application using the Update operation in the Deployment screen.

When you update an application, the Oracle Event Processing server erases the application's existing configuration history and starts a new configuration history for it. See Section 3.4, "Configuration History Management".

5.3.1 How to Update an Application

You can update an application using the Oracle Event Processing Visualizer.

Note:

Uploading an application JAR file via Oracle Event Processing Visualizer running in the Firefox browser over HTTPS is not supported. For uploading over HTTPS, use Internet Explorer.

To update an application:

1. In the left pane, navigate to Deployment node. The Deployed Applications table is displayed in the Deployment screen on the right pane.

2. Select the application you want to update by checking the box to the left of its name.

3. Click Update. The Update application screen is displayed.

4. Click the Upload tab.

5. Click on the "..." button to invoke a file browsing window, browse to the directory that contains the JAR file of application, and click Open.

6. Click Upload. In the Update Application tab, the JAR file appears in the table of uploaded files.

7. Select your application in the table and click OK.
The existing application is updated with the latest application.

5.4 Uninstalling an Application

When you uninstall an application, you completely remove it from the server so that you can no longer access it.

When you uninstall an application, the Oracle Event Processing server erases the application's existing configuration history. See Section 3.4, "Configuration History Management".

5.4.1 How to Uninstall an Application

You can uninstall an application using the Oracle Event Processing Visualizer.

To uninstall an application:

1. In the left pane, navigate to Deployment node. The Deployed Applications table is displayed in the Deployment screen on the right pane.

2. Select the application you want to uninstall by checking the box to the left of its name.

3. Click Uninstall.
You have undeployed the application successfully.

6 Managing Oracle CQL Rules

This chapter describes how you can use Oracle Event Processing Visualizer to develop and manage Oracle Continuous Query Language (CQL) rules, which you can use to select events as they pass through an event processing network (EPN).

This chapter includes the following sections:

- Section 6.1, "Using the Query Wizard"

- Section 6.2, "Using the Query Plan"

For more information, see:

- Section 3.3, "Rules Management"

- Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle Continuous Query Language (CQL) Example" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

6.1 Using the Query Wizard

Using the Oracle Event Processing Visualizer, you can manage the Oracle CQL rules in the Oracle CQL processors of an Oracle Event Processing application.

This section describes the following topics:

- Section 6.1.1, "How to Create a Rule in an Oracle CQL Processor Using the Query Wizard"

- Section 6.1.2, "How to Edit a Rule in an Oracle CQL Processor Using the Query Wizard"

- Section 6.1.4, "How to Edit a Parameterized Query in an Oracle CQL Processor"

- Section 6.1.6, "How to Delete a Rule in an Oracle CQL Processor"

- Section 6.1.7, "How to Replace a Rule in an Oracle CQL Processor"

- Section 6.1.8, "How to View a Rule in an Oracle CQL Processor"

- Section 6.1.9, "How to Configure Query Wizard Oracle CQL Constructs"

- Section 6.1.10, "How to Create an Oracle CQL Template for the Query Wizard"

6.1.1 How to Create a Rule in an Oracle CQL Processor Using the Query Wizard

Oracle Event Processing Visualizer provides a sophisticated Query Wizard to simplify Oracle CQL view and query construction. You can drag and drop Oracle CQL elements to construct a view or query or you can drag and drop a complete Oracle CQL view or query template and customize it to suit your needs. The Oracle CQL Query Wizard is designed to allow business users to efficiently create syntactically correct Oracle CQL views and queries and apply them immediately to a deployed Oracle Event Processing application.

Using the Query Wizard, you can create Oracle CQL views and query. You cannot create Oracle CQL streams and relations. Your deployed Oracle Event Processing application must provide the streams and relations. For more information, see Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

Note:

An Oracle CQL query will immediately begin outputting events if its input channels provide input events. If you plan to use a query selector on a channel with an upstream Oracle CQL processor, you may observe unwanted query results on the downstream channel between the time you add the query to the upstream Oracle CQL processor and the time you configure the query selector on the downstream channel. For more information, see Section 4.2.1.3, "Channel Properties: Outbound Channel With Query Selector".

Alternatively, you can modify an existing Oracle CQL view or query; see Section 6.1.2, "How to Edit a Rule in an Oracle CQL Processor Using the Query Wizard".

To create a rule in an Oracle CQL processor using the Query Wizard:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to use.

3. Select the Oracle CQL processor you wish to use:

1. To use the EPN diagram:

- Click the Event Processing Network tab.

- Double-click the Oracle CQL processor you wish to use.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to use.

- Click the Oracle CQL processor you wish to use.

- In the right pane, click the General tab

The Processor panel is displayed as Figure 6-1 shows.

Figure 6-1 Oracle CQL Processor Panel

4. Click the Query Wizard tab.
The Query Wizard tab appears as Figure 6-2 shows.

Figure 6-2 Oracle CQL Query Wizard

For information on the various tools along the top of the Query Wizard canvas, see Section 6.1.11, "Managing the Query Wizard Diagram".

5. Decide how you want to create the Oracle CQL statement:

1. To construct the query based on an existing Oracle Event Processing server template:

- Click the Templates tab.

- Select a template and drag and drop it into the canvas.

2. To construct the query based on an existing user-defined template:

- Click the User defined templates tab.

- Select a template and drag and drop it into the canvas.

Note:

For more information about adding user-defined Oracle CQL statement templates, see Section 6.1.10, "How to Create an Oracle CQL Template for the Query Wizard".

3. To construct the query one operator at a time or to add additional operators to a template-based Oracle CQL statement:

- Click the CQL Constructs tab.

- Select a construct and drag and drop it into the canvas.

- Repeat until you have added the required constructs to the canvas.

6. Configure the connections between constructs:

1. To connect constructs, click on a source construct and drag to a destination construct.
Oracle Event Processing Visualizer only allows interconnections that conform to Oracle CQL syntax.

Figure 6-3 shows a valid interconnection.

Figure 6-3 Valid Connection

Figure 6-4 shows an invalid interconnection.

Figure 6-4 Invalid Connection

For more information about valid Oracle CQL syntax, see "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

2. To abandon a connection attempt, click the Esc key on your keyboard.

3. To delete an existing connection, click on the connection to select it and then click the Delete key on your keyboard.

7. Configure each construct by double-clicking the construct and using the editor dialog that appears.
A construct icon without a green check mark is not configured.

A construct icon with a green check mark is configured.

For more information, see:

- Section 6.1.9.1, "Configuring an RSource CQL Construct"

- Section 6.1.9.2, "Configuring an SSource CQL Construct"

- Section 6.1.9.3, "Configuring a Cache-Table CQL Construct"

- Section 6.1.9.4, "Configuring a Pattern CQL Construct"

- Section 6.1.9.5, "Configuring a Select CQL Construct"

- Section 6.1.9.6, "Configuring a Join CQL Construct Using + Syntax"

- Section 6.1.9.7, "Configuring a Join CQL Construct Using LEFT or RIGHT OUTER JOIN"

- Section 6.1.9.8, "Configuring a Window CQL Construct"

- Section 6.1.9.9, "Configuring a Filter CQL Construct"

- Section 6.1.9.10, "Configuring a Union CQL Construct"

- Section 6.1.9.11, "Configuring an Intersect CQL Construct"

- Section 6.1.9.12, "Configuring a Minus CQL Construct"

- Section 6.1.9.13, "Configuring an IStream CQL Construct"

- Section 6.1.9.14, "Configuring a DStream CQL Construct"

- Section 6.1.9.15, "Configuring an RStream CQL Construct"

- Section 6.1.9.16, "Configuring an Output CQL Construct"

8. To save your Oracle CQL statement at any time, click the Save Query button.
The All Saved Queries dialog appears as Figure 6-5 shows.

The All Saved Queries dialog lists any saved queries for the processor you are configuring.

Figure 6-5 All Saved Queries Dialog: Saving

9. Enter a query name in the Query Id field and click Save.
A confirmation dialog appears as Figure 6-6 shows.

Figure 6-6 Query Save Dialog

10. Click OK.
Your query is saved to the local disk of the computer you are currently using. To reload your query, you must access the Oracle Event Processing Visualizer from the same local host.

11. To reload your Oracle CQL statement after saving, click the Open Query button.
The All Saved Queries dialog appears as Figure 6-7 shows.

Figure 6-7 All Saved Queries Dialog: Loading

12. Select your query and click Load CQL.
The Oracle CQL statement is loaded to the canvas.

13. To inject your Oracle CQL statement into the Oracle CQL processor, edit the Output CQL construct and click Inject Rule.
The rule now appears on the CQL Rules tab.

For more information, see Section 6.1.9.16, "Configuring an Output CQL Construct".

14. After you create a query, update the selector for the outbound channel (the channel down-stream from the Oracle CQL processor you created your query on). This will only work with pre-existing event types.
For more information, see Section 4.2.1.2, "Channel Properties: Outbound Channel".

6.1.2 How to Edit a Rule in an Oracle CQL Processor Using the Query Wizard

Oracle Event Processing Visualizer provides a sophisticated Query Wizard to simplify Oracle CQL query construction. You can select an existing query on the CQL Query tab and edit the query in the Query Wizard. The Oracle CQL Query Wizard is designed to allow business users to efficiently create syntactically correct Oracle CQL queries and apply them to a deployed Oracle Event Processing application.

Query Wizard will import a given rule and display it graphically as a set of Oracle CQL operators. You can go into an individual operator and make changes (for example, to change the select expression) without affecting other parts of the Oracle CQL statement.

You can edit existing Oracle CQL queries and views. You cannot edit Oracle CQL streams and relations. Your deployed Oracle Event Processing application must provide the streams and relations. For more information, see Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

To edit a rule in an Oracle CQL processor using the Query Wizard:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to use.

3. Select the Oracle CQL processor you wish to use:

1. To use the EPN diagram:

- Click the Event Processing Network tab.

- Double-click the Oracle CQL processor you wish to use.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to use.

- Click the Oracle CQL processor you wish to use.

- In the right pane, click the General tab

The Processor panel is displayed as Figure 6-1 shows.

Figure 6-8 Oracle CQL Processor Panel

4. Click the CQL Rules tab.
The CQL Rules tab appears as Figure 6-32 shows.

Figure 6-9 CQL Rules Tab

5. Select the rule you want to edit and click the Query Wizard button.
The Query Wizard opens with the selected rule on the canvas as Figure 6-10 shows.

Figure 6-10 Query Wizard: With Existing Rule

For information on the various tools along the top of the Query Wizard canvas, see Section 6.1.11, "Managing the Query Wizard Diagram".

6. To view the Oracle CQL statements associated with any operator:

- Ensure that the Hover check box is checked.

- Hover the mouse pointer over an operator.

The Oracle CQL statement appears as Figure 6-11 shows.

Figure 6-11 Hovering Over an Oracle CQL Operator

7. To modify the Oracle CQL statements associated with any operator, double click the operator.
The corresponding editor dialog appears.

Figure 6-12 shows the editor dialog after double clicking the Join operator.

Figure 6-12 Editor Dialog for Oracle CQL Join Operator

8. Use the editor dialog to modify the operator.
For information on configuring all the Query Wizard editor dialogs, see Section 6.1.9, "How to Configure Query Wizard Oracle CQL Constructs".

9. Click the Add Join button to apply your changes to the generated Oracle CQL statement.

10. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

11. Click Save to save your changes.
Your query is saved in memory.

12. Double click your query's Output operator.

13. Click Replace Rule.
The Oracle CQL rule is now changed and the new version appears in the CQL Rules tab.

14. Close the Output construct.

6.1.3 How to Create a Parameterized Rule in an Oracle CQL Processor

You can create a parameterized Oracle CQL query.

Note:

You cannot delete a parameterized query and you cannot edit the Oracle CQL query using the Query Wizard.

For more information, see:

- Section 6.1.4, "How to Edit a Parameterized Query in an Oracle CQL Processor"

- "Paramaterized Queries" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To create a parameterized rule in an Oracle CQL processor:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to use.

3. Select the Oracle CQL processor you wish to use:

1. To use the EPN diagram:

- Click the Event Processing Network tab.

- Double-click the Oracle CQL processor you wish to use.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to use.

- Click the Oracle CQL processor you wish to use.

- In the right pane, click the General tab

The Processor panel is displayed as Figure 6-1 shows.

Figure 6-13 Oracle CQL Processor Panel

4. Click the CQL Rules tab.
The CQL Rules tab appears as Figure 6-32 shows.

Figure 6-14 CQL Rules Tab

5. Click the Query radio button.

6. Click Add Query.

7. Enter a query name in the Query Id field.

8. Enter the Oracle CQL query in the Query field.
Use placeholder characters (:n) to specify parameterized values.

9. Configure the Enable option:

1. To enable the query as soon as it is saved, click true.

2. To keep the query disabled after it is saved, click false.

10. Click Save.
A confirmation dialog appears as Figure 6-15 shows.

Figure 6-15 Query Save Dialog

11. Click OK.
Your query is saved to the local disk of the computer you are currently using. To reload your query, you must access the Oracle Event Processing Visualizer from the same local host.

12. Edit the parameterized query to add parameter values as Section 6.1.4, "How to Edit a Parameterized Query in an Oracle CQL Processor" describes.

13. After you create a query, update the selector for the outbound channel (the channel down-stream from the Oracle CQL processor you created your query on). This will only work with pre-existing event types.
For more information, see Section 4.2.1.2, "Channel Properties: Outbound Channel".

6.1.4 How to Edit a Parameterized Query in an Oracle CQL Processor

You can edit the parameter values of an existing Oracle CQL parameterized query. You can add a new list of parameter values, modify an existing list of parameter values, or delete an existing list of parameter values.

Note:

You cannot add or remove placeholder characters (:n) nor can you edit the Oracle CQL query using the Query Wizard.

For more information, see:

- Section 6.1.3, "How to Create a Parameterized Rule in an Oracle CQL Processor"

- "Paramaterized Queries" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To edit a parameterized query in an Oracle CQL processor:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to use.

3. Select the Oracle CQL processor you wish to use:

1. To use the EPN diagram:

- Click the Event Processing Network tab.

- Double-click the Oracle CQL processor you wish to use.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to use.

- Click the Oracle CQL processor you wish to use.

- In the right pane, click the General tab

The Processor panel is displayed as Figure 6-1 shows.

Figure 6-16 Oracle CQL Processor Panel

4. Click the CQL Rules tab.
The CQL Rules tab appears as Figure 6-32 shows.

Figure 6-17 CQL Rules Tab: Parameterized Query

Note:

The Query Wizard button is not available for parameterized queries.

5. Select the parameterized query.

6. Use the CQL Rules tab to modify the paramaterized query:

- Section 6.1.4.1, "Adding a Parameter"

- Section 6.1.4.2, "Replacing a Parameter"

- Section 6.1.4.3, "Deleting a Parameter"

- Section 6.1.4.4, "Editing the Query"

- Section 6.1.4.5, "Deleting the Query"

6.1.4.1 Adding a Parameter

To add a parameter to a parameterized query:

1. Click the Add Parameter button.
The CQL Rules tab changes as Figure 6-18 shows.

Figure 6-18 CQL Rules Tab: Add Parameter

2. Enter a binding name in the Binding Name field.

3. Enter the new parameter values as a comma-separated list of values in the Binding Values field.

4. Click Save.
The Add New Binding Dialog appears as Figure 6-19 shows.

Figure 6-19 Add New Binding Dialog

5. Click OK.
The CQL Rules tab updates to list the new parameter as Figure 6-20 shows.

Figure 6-20 CQL Rules Tab: Add Parameter Complete

6.1.4.2 Replacing a Parameter

To replace a parameter in a paramaterized query:

1. Select an existing parameter as Figure 6-21 shows.

Figure 6-21 CQL Rules Tab: Select Parameter

2. Click Replace Parameter.

3. The CQL Rules tab changes as Figure 6-22 shows.

Figure 6-22 CQL Rules: Replace Parameter

4. Edit the Binding Values field.

5. Click Save.
The Update Binding Dialog appears as Figure 6-23 shows.

Figure 6-23 Update Binding Dialog

6. Click OK.

6.1.4.3 Deleting a Parameter

To delete a parameter in a parametrized query:

1. Select an existing parameter as Figure 6-24 shows.

Figure 6-24 CQL Rules Tab: Select Parameter

2. Click Delete Parameter.
The Delete Binding Dialog appears as Figure 6-23 shows.

Figure 6-25 Delete Binding Dialog

3. Click OK.

6.1.4.4 Editing the Query

To edit a parameterized query, you must first delete all query parameters before the Edit Query button is available. For information on deleting parameters, see Section 6.1.4.3, "Deleting a Parameter."

6.1.4.5 Deleting the Query

To delete a parameterized query, you must first delete all query parameters before the Delete Query button is available. For more information, see Section 6.1.4.3, "Deleting a Parameter."

6.1.5 How to Stop and Start a Parameterized Query

When you stop or start a parameterized query, all bindings associated with the parameterized query are stopped or started.

To stop or start a parameterized query, select the query on the CQL Rules tab and click the Stop or Start button.

6.1.6 How to Delete a Rule in an Oracle CQL Processor

You can delete an existing Oracle CQL view or query or delete all Oracle CQL views or queries in an Oracle CQL processor.

To delete a rule in an Oracle CQL processor:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to use.

3. Select the Oracle CQL processor you wish to use:

1. To use the EPN diagram:

- Click the Event Processing Network tab.

- Double-click the Oracle CQL processor you wish to use.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to use.

- Click the Oracle CQL processor you wish to use.

- In the right pane, click the General tab

The Processor panel is displayed as Figure 6-26 shows.

Figure 6-26 Oracle CQL Processor Panel

4. Click the CQL Rules tab.
The CQL Rules tab appears as Figure 6-32 shows.

Figure 6-27 CQL Rules Tab

5. Filter the list of rules to show only the type of rule you want to delete:

1. Select View to see only view rules.

2. Select Query to see only query views.

Note:

You cannot add, delete, or modify a single rule if you select All Rules. You must select a particular view or query to add, delete, or modify a single rule. To make changes to either views or queries, you must select View or Query. The All Rules page is a read-only panel.

Also note that you can turn off a query dynamically using the Enable radio buttons.

The Delete All Views or Delete All Queries button is active as Figure 6-28 shows.

Figure 6-28 CQL Rules: Filtered by View

6. Decide what rules you want to delete:

1. To delete a single rule:

- Select the rule you want to delete.

- Click Delete View or Delete Query.
A confirmation dialog appears as Figure 6-29 shows.

Figure 6-29 Delete Rule Dialog

2. To delete all rules:

- Click Cancel to unselect any rules that may be currently selected.

- Click Delete All Views or Delete All Queries.
A confirmation dialog appears as Figure 6-30 shows.

Figure 6-30 Delete All Rule Dialog

7. Click OK.

6.1.7 How to Replace a Rule in an Oracle CQL Processor

Using Oracle Event Processing Visualizer, you can replace an existing view or query by either editing the Oracle CQL statement directly or using the Query Wizard.

To replace a rule in an Oracle CQL processor:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to use.

3. Select the Oracle CQL processor you wish to use:

1. To use the EPN diagram:

- Click the Event Processing Network tab.

- Double-click the Oracle CQL processor you wish to use.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to use.

- Click the Oracle CQL processor you wish to use.

- In the right pane, click the General tab

The Processor panel is displayed as Figure 6-31 shows.

Figure 6-31 Oracle CQL Processor Panel

4. Click the CQL Rules tab.
The CQL Rules tab appears as Figure 6-32 shows.

Figure 6-32 CQL Rules Tab

5. Filter the list of rules to show only the type of rule you want to replace:

1. Select View to see only view rules.

2. Select Query to see only query views.

6. Select the rule you wish to replace.
The View or Query field is now editable and the Replace Rule button is active as Figure 6-33 shows.

Figure 6-33 CQL Rules: Filtered by View

7. Edit the Oracle CQL statement by doing one of the following:

1. Directly edit the Oracle CQL statement in the View or Query field.

2. Click the Query Wizard button to edit the rule in the Query Wizard.
For more information, see Section 6.1.2, "How to Edit a Rule in an Oracle CQL Processor Using the Query Wizard".

8. Commit your changes:

1. If you directly edited the Oracle CQL statement in the View or Query field, click Replace View or Replace Query.

2. If you edited the Oracle CQL statement using the Query Wizard, you commit your changes in the Query Wizard.
For more information, see Section 6.1.2, "How to Edit a Rule in an Oracle CQL Processor Using the Query Wizard".

6.1.8 How to View a Rule in an Oracle CQL Processor

Using Oracle Event Processing Visualizer, you can view the existing rules defined on an Oracle CQL processor.

To view a rule in an Oracle CQL processor:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to use.

3. Select the Oracle CQL processor you wish to use:

1. To use the EPN diagram:

- Click the Event Processing Network tab.

- Double-click the Oracle CQL processor you wish to use.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to use.

- Click the Oracle CQL processor you wish to use.

- In the right pane, click the General tab

The Processor panel is displayed as Figure 6-1 shows.

Figure 6-34 Oracle CQL Processor Panel

4. Click the CQL Rules tab.
The CQL Rules tab appears as Figure 6-32 shows.

Figure 6-35 CQL Rules Tab

6.1.9 How to Configure Query Wizard Oracle CQL Constructs

This section describes how to configure the various Oracle CQL constructs that the Query Wizard provides, including:

- Section 6.1.9.1, "Configuring an RSource CQL Construct"

- Section 6.1.9.2, "Configuring an SSource CQL Construct"

- Section 6.1.9.3, "Configuring a Cache-Table CQL Construct"

- Section 6.1.9.4, "Configuring a Pattern CQL Construct"

- Section 6.1.9.5, "Configuring a Select CQL Construct"

- Section 6.1.9.6, "Configuring a Join CQL Construct Using + Syntax"

- Section 6.1.9.7, "Configuring a Join CQL Construct Using LEFT or RIGHT OUTER JOIN"

- Section 6.1.9.8, "Configuring a Window CQL Construct"

- Section 6.1.9.9, "Configuring a Filter CQL Construct"

- Section 6.1.9.10, "Configuring a Union CQL Construct"

- Section 6.1.9.11, "Configuring an Intersect CQL Construct"

- Section 6.1.9.12, "Configuring a Minus CQL Construct"

- Section 6.1.9.13, "Configuring an IStream CQL Construct"

- Section 6.1.9.14, "Configuring a DStream CQL Construct"

- Section 6.1.9.15, "Configuring an RStream CQL Construct"

- Section 6.1.9.16, "Configuring an Output CQL Construct"

- Section 6.1.9.17, "Configuring an Expression Using the Expression Builder"

6.1.9.1 Configuring an RSource CQL Construct

The RSource Oracle CQL construct represents an Oracle CQL relation that your Oracle Event Processing application provides or a relation type of view that you create. To create a stream type of source, an SSource, see Section 6.1.9.2, "Configuring an SSource CQL Construct".

For more information and detailed syntax, see:

- "Streams and Relations" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Queries, Views, and Joins" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure an RSource CQL construct:

1. Double click the RSource icon as Figure 6-36 shows.

Figure 6-36 RSource Icon

The RSource editor dialog appears as Figure 6-37 shows.

Figure 6-37 Query Wizard RSource Editor Dialog

2. Edit the dialog as Table 6-1 describes.

Table 6-1 Query Wizard RSource Editor Attributes

Attribute

Description

Type

Select the type of source:

- Relation: select this option to process events offered by a relation (query) currently running on this Oracle CQL processor.

- View: select this option to process events offered by a view currently running on this Oracle CQL processor.

Select a source

Select the relation or view to use as the source of events.

As

Optionally specify an alias for this source.

Source Properties

Read-only list of the properties of the event offered by this source.

Generated CQL Statement

Read-only Oracle CQL fragment associated with this CQL Construct.

3. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

4. Click Save.
The RSource icon displays a green check mark to indicate that it is configured.

6.1.9.2 Configuring an SSource CQL Construct

The SSource Oracle CQL construct represents an Oracle CQL stream that your Oracle Event Processing application provides or a stream type of view you create. To create a relation type of source, an RSource, see Section 6.1.9.1, "Configuring an RSource CQL Construct".

For more information and detailed syntax, see:

- "Streams and Relations" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Queries, Views, and Joins" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure an SSource CQL construct:

1. Double click the SSource icon as Figure 6-36 shows.

Figure 6-38 SSource Icon

The SSource editor dialog appears as Figure 6-37 shows.

Figure 6-39 Query Wizard Source Editor Dialog

2. Edit the dialog as Table 6-1 describes.

Table 6-2 Query Wizard Source Editor Attributes

Attribute

Description

Type

Select the type of source:

- Stream: select this option to process events offered by a stream provided by your Oracle Event Processing application.

- View: select this option to process events offered by a view currently running on this Oracle CQL processor.

Select a source

Select the stream or view to use as the source of events.

As

Optionally specify an alias for this source.

Source Properties

Read-only list of the properties of the event offered by this source.

Generated CQL Statement

Read-only Oracle CQL fragment associated with this CQL Construct.

3. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

4. Click Save.
The Source icon displays a green check mark to indicate that it is configured.

6.1.9.3 Configuring a Cache-Table CQL Construct

The Cache-Table CQL construct represents an external relation, usually a pull data source, that a cache or relational database table provides. The only operation that is allowed on the Cache-Table CQL construct is a join with another stream source using the Now window.

For more information, see:

- "Configuring Access to a Relational Database" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

- "Configuring an Oracle CQL Processor Table Source" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- "Configuring Caching" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- "Configuring an Oracle CQL Processor Cache Source" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- "Oracle Continuous Query Language (CQL) Example" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- Section 6.1.9.6, "Configuring a Join CQL Construct Using + Syntax"

- Section 6.1.9.8, "Configuring a Window CQL Construct"

To configure a Cache-Table CQL construct:

1. Double click the Cache-Table icon as Figure 6-40 shows.

Figure 6-40 Cache-Table Icon

The Cache-Table editor dialog appears as Figure 6-41 shows.

Figure 6-41 Query Wizard Cache-Table Editor Dialog

2. Edit the dialog as Table 6-3 describes.

Table 6-3 Query Wizard Cache-Table Editor Attributes

Attribute

Description

Select a source

Select the cache to use as the source of events.

As

Optionally specify an alias for this source.

Source Properties

Read-only list of the properties of the event offered by this source.

Generated CQL Statement

Read-only Oracle CQL fragment associated with this CQL Construct.

3. Click Save.
The Cache-Table icon displays a green check mark to indicate that it is configured.

6.1.9.4 Configuring a Pattern CQL Construct

The Pattern Oracle CQL construct represents the Oracle CQL MATCH_RECOGNIZE condition. The MATCH_RECOGNIZE condition is the principle means of performing event processing. Using its various clauses, you can succinctly express complex conditions among stream elements to perform advanced comparisons optimized for data streams.

The Pattern Oracle CQL construct editor provides a tab for each of the following MATCH_RECOGNIZE sub-clauses:

- PATTERN: Use this clause to specify quantifiers that constrain and control when conditions in the DEFINE clause match.
See Figure 6-43, "Query Wizard Pattern Editor Dialog: Pattern Tab".

- DEFINE: Use this clause to specify one or more conditions. Specify one or more patterns made up of a pattern identifier, the AS operator, and a condition. The condition can use any stream elements in the schema of the stream, view, or sliding window specified by the identifier you used in your query or view select statement.
See Figure 6-44, "Query Wizard Pattern Editor Dialog: Define Tab".

- SUBSET: Using this clause, you can bind a name to the stream elements that one or more patterns select. You can use this named subset in the MEASURE and DEFINE clauses.
See Figure 6-45, "Query Wizard Pattern Editor Dialog: Subset Tab".

- MEASURE: Use this clause to define expressions in a MATCH_RECOGNIZE condition and to bind stream elements that match conditions in the DEFINE clause to arguments that you can include in the select statement of a query. You can use any of the Oracle CQL built-in or user-defined functions.
See Figure 6-46, "Query Wizard Pattern Editor Dialog: Measure Tab".

For more information and detailed syntax, see:

- "MATCH_RECOGNIZE Condition" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "PATTERN Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "DEFINE Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "SUBSET Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "MEASURES Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Functions" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure a Pattern CQL construct:

1. Double click the Pattern icon as Figure 6-42 shows.

Figure 6-42 Pattern Icon

The Pattern editor dialog appears as Figure 6-43 shows.

Figure 6-43 Query Wizard Pattern Editor Dialog: Pattern Tab

2. Edit the Pattern tab as Table 6-4 describes.

Table 6-4 Query Wizard Pattern Editor Attributes: Pattern Tab

Attribute

Description

Pattern Expression

Use this clause to specify quantifiers that constrain and control when conditions in the DEFINE clause match. For example:

(A B* C)

Table 6-5 lists the pattern quantifiers Oracle CQL supports. Use the pattern quantifiers to specify the allowed range of pattern matches. The one-character pattern quantifiers are maximal or "greedy"; they will attempt to match the biggest quantity first. The two-character pattern quantifiers are minimal or "reluctant"; they will attempt to match the smallest quantity first.

For more information, see "PATTERN Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

Duration

By default, Oracle Event Processing updates the output relation at the time it recognizes a pattern match. Enter a duration value to specify a time delay between when Oracle Event Processing recognizes a pattern match and when it updates the output relation. You can use either of the following:

- When you specify a duration like 10, each time Oracle Event Processing recognizes a pattern match, it delays the specified time interval before updating the output relation. If no input matches the pattern, Oracle Event Processing does not update the output relation

- When you specify a duration like MULTIPLES OF 10, each time Oracle Event Processing recognizes a pattern match, it delays the specified time interval before updating the output relation. If no input matches the pattern or if no input is received, Oracle Event Processing still updates the output relation. In this case, some terms in the selection may be null and aggregate values may be reset.

For more information, see "DURATION Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

Partition By

Use this optional clause to specify the stream elements by which a MATCH_RECOGNIZE clause should partition its results. You can reference any stream elements in the schema of the stream, view, or sliding window specified by the identifier you used in the query or view select statement.

To add a stream element to the partition by list, select a stream element from the pull-down menu and click the Add button.

To remove a stream element from the partition by list, click the Undo button.

For more information, see "PARTITION BY Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

Pattern Alias

Specifies the relation_variable clause AS operator to define an alias to label the immediately preceding expression in the select list so that you can reference the result by that name. The alias effectively renames the select list item for the duration of the query.

Specifying a pattern alias of its would correspond to the following example:

<query id="detectPerish"><![CDATA[
select its.itemId as badItem from ItemTempStream
MATCH_RECOGNIZE (
PARTITION BY ...
MEASURES ...
PATTERN ...
DEFINE ...
) as its
]]></query>

For more information, see "Aliases in the relation_variable Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

All Matches

Check this option to configure Oracle Event Processing to match overlapping patterns.

Uncheck this option to configure Oracle Event Processing to match only one pattern.

For more information, see "ALL MATCHES Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

Table 6-5 Pattern Quantifiers

Maximal

Minimal

Description

*

*?

0 or more times

+

+?

1 or more times.

?

??

0 or 1 time.

For more information, see "PATTERN Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

3. Click the Define tab.
The Define tab appears as Figure 6-44 shows.

Figure 6-44 Query Wizard Pattern Editor Dialog: Define Tab

4. Edit the Define tab as Table 6-5 describes.

Table 6-6 Query Wizard Pattern Editor Attributes: Define Tab

Attribute

Description

Object Name

Enter an object name as you specified in the Pattern Expression attribute of the Pattern tab (see Table 6-4). For example, if the pattern expression is:

(A B* C)

Then create a definition for each of A, B, and C.

AS

Define an expression by clicking the Expression Builder button.

For example:

A AS  (A.temp >= 25)
B  AS  ((B.temp >= 25) and
(B.element_time - A.element_time < INTERVAL "0 00:00:05:00" DAY TO SECOND))
C  AS  (C.element_time - A.element_time >= INTERVAL "0 00:00:05:00" DAY TO SECOND)

For more information, see Section 6.1.9.17, "Configuring an Expression Using the Expression Builder".

Object List

A list of the definitions you specify.

To add a definition to the Object List, click the Add button.

To remove a definition from the Object List, click the Delete button.

Generated CQL Statement

Read-only Oracle CQL fragment associated with this CQL Construct.

For more information, see "DEFINE Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

5. Click the Subset tab.
The Subset tab appears as Figure 6-45 shows.

Figure 6-45 Query Wizard Pattern Editor Dialog: Subset Tab

6. Edit the Subset tab as Table 6-7 describes.

Table 6-7 Query Wizard Pattern Editor Attributes: Subset Tab

Attribute

Description

Subset name

Enter a name for the subset.

AS

Enter a list of the object names as you specified in the Pattern Expression attribute of the Pattern tab (see Table 6-4). For example, given the following pattern:

(A W+ X+ Y+ Z+)

You could define subsets such as:

S1 AS (Z)
S2 AS (A)
S3 AS (A,W,Y)

Subset List

A list of the subsets you specify.

To add a subset to the Subset List, click the Add button.

To remove a subset from the Subset List, click the Delete button.

Generated CQL Statement

Read-only Oracle CQL fragment associated with this CQL Construct.

For more information, see "SUBSET Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

7. Click the Measure tab.
The Measure tab appears as Figure 6-46 shows.

Figure 6-46 Query Wizard Pattern Editor Dialog: Measure Tab

8. Edit the Measure tab as Table 6-8 describes.

Table 6-8 Query Wizard Pattern Editor Attributes: Measure Tab

Attribute

Description

Object Name

Enter an object name as you specified in the Pattern Expression attribute of the Pattern tab (see Table 6-4) or Subset name attribute of the Subset tab (see Figure 6-45).

For example, if the pattern expression is:

(A B* C)

Then you could create a measure for any of A, B, and C.

If you define subsets:

S1 AS (Z)
S2 AS (A)
S3 AS (A,W,Y)

Then you could create a measure for any of S1, S2, and S3.

AS

Define an expression by clicking the Expression Builder button.

For example:

sumDecrArm as sum(S3.c2)

For more information, see Section 6.1.9.17, "Configuring an Expression Using the Expression Builder".

Measure List

A list of the measures you specify.

To add a measure to the Properties list, click the Add button.

To remove a measure from the Properties list, click the Delete button.

Generated CQL Statement

Read-only Oracle CQL fragment associated with this CQL Construct.

For more information, see "MEASURES Clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

9. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

10. Click Save.
The Pattern icon displays a green check mark to indicate that it is configured.

6.1.9.5 Configuring a Select CQL Construct

The Select Oracle CQL construct represents the Oracle CQL SELECT clause. For information on representing the WHERE clause, see Section 6.1.9.9, "Configuring a Filter CQL Construct".

The Select Oracle CQL construct editor provides a tab for each of the following sub-clauses:

- select_clause: Use this clause to specify the stream elements to select from the stream or view you specify.
See Figure 6-48, "Query Wizard Select Editor Dialog: Project Tab".

- opt_group_by_clause: Use this clause to specify optional grouping conditions your query applies to its results.
See Figure 6-49, "Query Wizard Select Editor Dialog: Group Tab".

- opt_having_clause:Use this clause to restrict the groups of returned stream elements to those groups for which the specified condition is TRUE. If you omit this clause, then Oracle Event Processing returns summary results for all groups.
See Figure 6-50, "Query Wizard Select Editor Dialog: Condition Tab".

- order_by_clause: Use this clause to specify optional ordering conditions your query applies to its results.
See Figure 6-51, "Query Wizard Select Editor Dialog: Order Tab".

For more information, see:

- "Select, From, Where Block" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "select_clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "opt_group_by_clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "opt_having_clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "order_by_clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure a Select CQL construct:

1. Double click the Select icon as Figure 6-47 shows.

Figure 6-47 Select Icon

The Select editor dialog appears as Figure 6-48 shows.

Figure 6-48 Query Wizard Select Editor Dialog: Project Tab

2. Edit the Project tab as Table 6-9 describes.
The general procedure is:

1. Select a Source.

2. Select a Target event type.

3. Double click a property in the Properties list to add the property to the Project expression field.

4. Click the Expression Builder button and create a Project expression.

5. In the AS field, enter an alias for the project expression result or select one of the Target event type attributes.

6. Click the Add button.
To remove a project expression, select it in the Project predicates list and click Delete.

7. Optionally, check Distinct.

Table 6-9 Query Wizard Select Editor Attributes: Project Tab

Attribute

Description

Distinct

Check this option if you want Oracle Event Processing to return only one copy of each set of duplicate tuples selected.

Uncheck this option if you want Oracle Event Processing to return all tuples selected, including duplicates.

Duplicate tuples are those with matching values for each expression in the select list. Oracle Event Processing does not support nested aggregations.

Target event type

Select or input the name of the event expected by the down-stream channel you connected to this Oracle CQL processor.

For more information, see "Defining and Using Event Types" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

Source

Select the name of the stream, relation, or view Source CQL Construct that you connected to this Project CQL construct.

For more information, see Section 6.1.9.1, "Configuring an RSource CQL Construct".

Properties

Read-only list of the properties of the event offered by this source.

For more information, see Section 6.1.9.1, "Configuring an RSource CQL Construct".

Project Predicates

A list of the project expressions you define.

To add a project expression to the Project Predicates list, click the Add button.

To remove a project expression from the Project Predicates list, select the project expression in the Project Predicates list and click the Delete button.

Project Expressions

Define an expression by clicking the Expression Builder button.

For example:

LENGTH( FxQuoteStream.symbol < 100 )

For more information, see Section 6.1.9.17, "Configuring an Expression Using the Expression Builder".

AS

Enter an alias for the project expression result or select one of the Target event type attributes.

Generated CQL Statement

Read-only Oracle CQL fragment associated with this CQL Construct.

For more information, see "select_clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

3. Click the Group tab.
The Group tab editor dialog appears as Figure 6-48 shows.

Figure 6-49 Query Wizard Select Editor Dialog: Group Tab

4. Edit the Group tab as Table 6-10 describes.
The general procedure is:

1. Select a source from the pull down menu.

2. Select a property in the Properties list.

3. To add the selected property to the Grouping properties list, click the Add button.
To remove a property from the Grouping properties list, select the property in the Grouping properties list and click the Delete button.

Table 6-10 Query Wizard Select Editor Attributes: Group Tab

Attribute

Description

Select a source

Select a source from the pull-down menu.

Properties

The properties of the event offered by the selected source.

Grouping Properties

A list of the grouping properties you define.

To add the selected property to the Grouping properties list, click the Add button.

To remove a property from the Grouping properties list, select the property in the Grouping properties list and click the Delete button.

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

For more information, see "opt_group_by_clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

5. Click the Condition tab.
The Condition tab editor dialog appears as Figure 6-48 shows.

Figure 6-50 Query Wizard Select Editor Dialog: Condition Tab

6. Edit the Condition tab as Table 6-11 describes.

Table 6-11 Query Wizard Select Editor Attributes: Condition Tab

Attribute

Description

Having Predicate

Define an expression by entering a having predicate directly or clicking the Expression Builder button.

For example:

lastPrice > 500

For more information, see Section 6.1.9.17, "Configuring an Expression Using the Expression Builder".

To add a condition expression to the generated CQL statement, click the Add button.

To remove the condition expression from the generated CQL statement, click the Delete button.

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

For more information, see "opt_having_clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

7. Click the Order tab.
The Order tab editor dialog appears as Figure 6-48 shows.

Figure 6-51 Query Wizard Select Editor Dialog: Order Tab

8. Edit the Order tab as Table 6-12 describes.
The general procedure is:

1. Select a source from the pull down menu.

2. Select a property in the Properties list.

3. To add the selected property to the Ordering properties list, click the Add button.
To remove a property from the Ordering properties list, select the property in the Ordering properties list and click the Delete button.

Table 6-12 Query Wizard Select Editor Attributes: Order Tab

Attribute

Description

Select a source

Select a source from the pull-down menu.

Properties

The properties of the event offered by the selected source.

Ordering Properties

A list of the ordering properties you define.

To add the selected property to the Ordering properties list, click the Add button.

To remove a property from the Ordering properties list, select the property in the Ordering properties list and click the Delete button.

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

For more information, see "order_by_clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

9. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

10. Click Save.
The Select icon displays a green check mark to indicate that it is configured.

6.1.9.6 Configuring a Join CQL Construct Using + Syntax

The Join Oracle CQL construct represents an Oracle CQL join between two or more sources. You can create and inner joins and left and right outer joins using the (deprecated) + syntax.

Note:

If your Oracle CQL rule uses the LEFT or RIGHT OUTER JOIN clause, see Section 6.1.9.7, "Configuring a Join CQL Construct Using LEFT or RIGHT OUTER JOIN".

For more information, see:

- "Joins" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure a Join CQL construct:

1. Double click the Join icon as Figure 6-52 shows.

Figure 6-52 Join Icon

The Join editor dialog appears as Figure 6-53 shows.

Figure 6-53 Query Wizard Join Editor Dialog

2. Edit the dialog as Table 6-13 describes.

Table 6-13 Query Wizard Join Editor Attributes

Attribute

Description

Source 1

Select the first source to join.

Properties

Read-only list of properties of Source 1.

Source 2

Select the second source to join.

Properties

Read-only list of properties of Source 2.

Join Type

Select the type of join:

- No outer join: select this option to create a simple join. For more information, see "Inner Joins" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

- Left outer join: select this option to create a left outer join. For more information, see "Left Outer Joins" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

- Right outer join: select this option to create a right outer join. For more information, see "Right Outer Joins" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

Join Predicate

Create the Join Predicate by doing either of the following:

- Click the Plus Sign button to create the join predicate using the Source 1 and Source 2 properties you select.

- Click the Expression Builder button to create the join predicate using any of the Source 1 and Source 2 properties and Oracle CQL functions and operators.

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

3. Select a source from the Source 1 pull-down menu.

4. Select a source from the Source 2 pull-down menu.

5. Select a property in the Source 1 Properties list to join on.

6. Select a property in the Source 2 Properties list to join on.

7. Choose the Join Type.

8. Create the Join Predicate by doing either of the following:

1. Click the Plus Sign button to create the join predicate using the Source 1 and Source 2 properties you select.

2. Click the Expression Builder button to create the join predicate using any of the Source 1 and Source 2 properties and Oracle CQL functions and operators.

9. To add the join predicate to the generated CQL statement, click the Add Join button.

10. To remove the join predicate from the generated CQL statement, click the Undo Join button.

11. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

12. Click Save.
The Join icon displays a green check mark to indicate that it is configured.

6.1.9.7 Configuring a Join CQL Construct Using LEFT or RIGHT OUTER JOIN

The Join Oracle CQL construct represents an Oracle CQL join between two or more sources. You can view the configuration of an Oracle CQL rule using the LEFT or RIGHT OUTER join syntax.

Note:

If your Oracle CQL rule uses an inner join or outer join using the deprecated + syntax, see Section 6.1.9.6, "Configuring a Join CQL Construct Using + Syntax".

Figure 6-54 shows an example Oracle CQL outer join in the query constructor.

Figure 6-54 Oracle CQL Outer Join

For more information, see:

- "Joins" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure a Join CQL construct using LEFT or RIGHT OUTER JOIN:

1. Double click the Join icon as Figure 6-55 shows.

Figure 6-55 Join Icon

The Join editor dialog appears as Figure 6-56 shows.

Figure 6-56 Query Wizard Join Editor Dialog: LEFT or RIGHT OUTER JOIN Syntax

6.1.9.8 Configuring a Window CQL Construct

The Window Oracle CQL construct represents an Oracle CQL stream-to-relation operator.

For more information, see:

- "Stream-to-Relation Operators (Windows)" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure a Window CQL construct:

1. Double click the Window icon as Figure 6-57 shows.

Figure 6-57 Window Icon

The Window editor dialog appears as Figure 6-58 shows.

Figure 6-58 Query Wizard Window Editor Dialog

2. Edit the dialog as Table 6-14 describes.

Table 6-14 Query Wizard Window Editor Attributes

Attribute

Description

Partition List

Select one or more stream elements to add to the partition list if you want to create a partitioned window.

To remove stream elements from the Partition List, click and drag to select the values in the Partition List and press the Delete key on your keyboard.

Type

The type of window to create:

Now: Select this option to create a time-based range window that defines its output relation such that, when T = 0, the relation at time t consists of tuples obtained from elements of S with timestamp t. For more information, see "S[now]" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

Time: Select this option to create a time-based range window that defines its output relation over time by sliding an interval of size T time units capturing the latest portion of an ordered stream. Elements that have been in the window for more than T time units are subject to deletion. In this case, the range and slide are equal. For more information, see "S[range T]" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing. Optionally, specify a time-based slide for this window using the Slide attribute.

Row: Select this option to create a tuple-based window that defines its output relation over time by sliding a window of the last N tuples of an ordered stream. For the output relation R of S [rows N], the relation at time t consists of the N tuples of S with the largest timestamps <= t (or all tuples if the length of S up to t is <= N). For more information, see "S[rows N]" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing. Optionally, specify a row-based slide for this window using the Slide attribute.

Partition: Select this option to create any of the following partitioned windows:

- "S [partition by A1,..., Ak rows N]" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "S [partition by A1,..., Ak rows N range T]" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

The Partition type is inactive unless you add one or more stream elements to the Partition List. Optionally, specify a time-based slide for this window using the Slide attribute.

Unbounded: Select this option to create a time-based range window defines its output relation such that, when T = infinity, the relation at time t consists of tuples obtained from all elements of S up to t. Elements remain in the window indefinitely. For more information, see "S[range unbounded]" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

Slide

Specify a sliding window:

Row Based: Select this option to create any of the following row-based sliding windows:

- "S[rows N1 slide N2]" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

Time Based: Select this option to create any of the following time-based sliding windows:

- "S[range T1 slide T2]" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "S [partition by A1,..., Ak rows N range T1 slide T2]" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

3. If you want a partitioned window, select the stream elements you want in the Partition List.
To remove stream elements from the Partition List, click and drag to select the values in the Partition List and press the Delete key on your keyboard.

4. Select the Type.
The Partition type is inactive unless you add one or more stream elements to the Partition List.

5. Select Row Based or Time Based for the selected type.

6. Enter the size of the window:

1. For a Row Based type, enter a number of rows (tuples or stream elements).

2. For a Time Based type, enter a number of time units and select the time unit.

7. Select a Slide:

1. For a Row Based type, enter a number of rows (tuples or stream elements).

2. For a Time Based type, enter a number of time units and select the time unit.

8. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

9. To add the window to the generated CQL statement, click the Add Window button.

10. Click Save.
The Window icon displays a green check mark to indicate that it is configured.

6.1.9.9 Configuring a Filter CQL Construct

The Filter Oracle CQL construct represents an Oracle CQL WHERE clause. For information on representing the SELECT and FROM clauses, see Section 6.1.9.5, "Configuring a Select CQL Construct".

For more information, see:

- "opt_where_clause" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure a Filter CQL construct:

1. Double click the Filter icon as Figure 6-59 shows.

Figure 6-59 Filter Icon

The Filter editor dialog appears as Figure 6-60 shows.

Figure 6-60 Query Wizard Filter Editor Dialog

2. Edit the dialog as Table 6-15 describes.

Table 6-15 Query Wizard Filter Editor Attributes

Attribute

Description

Filter Predicate

Define an expression by entering a filter predicate directly or clicking the Expression Builder button.

For example:

SUM( FxQuoteStream.lastPrice < 5000 )

For more information, see Section 6.1.9.17, "Configuring an Expression Using the Expression Builder".

To add the filter predicate to the generated CQL statement, click the Add Filter button.

To remove the filter predicate from the generated CQL statement, click the Delete Filter button.

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

3. Define the filter predicate by doing one of the following:

1. Enter the filter predicate directly.

2. Click the Expression Builder button.
For more information, see Section 6.1.9.17, "Configuring an Expression Using the Expression Builder".

4. To add a condition expression to the generated CQL statement, click the Add Filter button.

5. To remove the condition expression from the generated CQL statement, click the Delete Filter button.

6. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

7. Click Save.
The Source icon displays a green check mark to indicate that it is configured.

6.1.9.10 Configuring a Union CQL Construct

The Union Oracle CQL construct represents an Oracle CQL UNION or UNION ALL clause. You can perform a union between two relations; relation can be emitted either from a view or a channel. You can perform a union between two relations or two streams. You cannot perform a union between a relation and a stream.

For more information, see:

- "binary" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "BINARY Example: UNION and UNION ALL" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure a Union CQL construct:

1. Double click the Union icon as Figure 6-61 shows.

Figure 6-61 Union Icon

The Union editor dialog appears as Figure 6-62 shows.

Figure 6-62 Query Wizard Union Editor Dialog

2. Edit the dialog as Table 6-16 describes.

Table 6-16 Query Wizard Union Editor Attributes

Attribute

Description

Source 1

Select the first source to union.

Properties

Read-only list of properties of Source 1.

Source 2

Select the second source to union.

Properties

Read-only list of properties of Source 2.

Union Type

Select the type of union:

- Union: select this to create a UNION statement.

- Union All: select this option to create a UNION ALL statement.

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

3. Select a source from the Source 1 pull-down menu.

4. Select a source from the Source 2 pull-down menu.

5. Choose the Union Type.

6. To add the union clause to the generated CQL statement, click the Add Union button.

7. To remove the union clause from the generated CQL statement, click the Undo Union button.

8. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

9. Click Save.
The Union icon displays a green check mark to indicate that it is configured.

6.1.9.11 Configuring an Intersect CQL Construct

The Intersect Oracle CQL construct represents an Oracle CQL INTERSECT clause. You can perform an intersect between two relations. You cannot perform an intersect between a relation and a stream or between two streams.

For more information, see:

- "binary" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "BINARY Example: INTERSECT" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure an Intersect CQL construct:

1. Double click the Intersect icon as Figure 6-63 shows.

Figure 6-63 Intersect Icon

The Intersect editor dialog appears as Figure 6-64 shows.

Figure 6-64 Query Wizard Intersect Editor Dialog

2. Edit the dialog as Table 6-17 describes.

Table 6-17 Query Wizard Intersect Editor Attributes

Attribute

Description

Source 1

Select the first source to intersect.

Properties

Read-only list of properties of Source 1.

Source 2

Select the second source to intersect.

Properties

Read-only list of properties of Source 2.

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

3. To add the intersect clause to the generated CQL statement, click the Add Intersect button.

4. To remove the intersect clause from the generated CQL statement, click the Undo Intersect button.

5. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

6. Click Save.
The Intersect icon displays a green check mark to indicate that it is configured.

6.1.9.12 Configuring a Minus CQL Construct

The Minus Oracle CQL construct represents an Oracle CQL MINUS clause. You can perform a minus between two relations. You cannot perform a minus between a relation and a stream or between two streams.

For more information, see:

- "binary" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "BINARY Example: EXCEPT and MINUS" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure a Minus CQL construct:

1. Double click the Intersect icon as Figure 6-65 shows.

Figure 6-65 Minus Icon

The Minus editor dialog appears as Figure 6-66 shows.

Figure 6-66 Query Wizard Minus Editor Dialog

2. Edit the dialog as Table 6-18 describes.

Table 6-18 Query Wizard Minus Editor Attributes

Attribute

Description

Source 1

Select the first source to minus.

Properties

Read-only list of properties of Source 1.

Source 2

Select the second source to minus.

Properties

Read-only list of properties of Source 2.

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

3. To add the minus clause to the generated CQL statement, click the Add Minus button.

4. To remove the minus clause from the generated CQL statement, click the Undo Minus button.

5. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

6. Click Save.
The Minus icon displays a green check mark to indicate that it is configured.

6.1.9.13 Configuring an IStream CQL Construct

The IStream Oracle CQL construct represents an Oracle CQL IStream relation-to-stream operator. Istream (for "Insert stream") applied to a relation R contains (s,t) whenever tuple s is in R(t) - R(t-1), that is, whenever s is inserted into R at time t. If a tuple happens to be both inserted and deleted with the same timestamp then IStream does not output the insertion.

For more information, see:

- "IStream Relation-to-Stream Operator" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Streams and Relations" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure an IStream CQL construct:

1. Double click the IStream icon as Figure 6-67 shows.

Figure 6-67 IStream Icon

The IStream editor dialog appears as Figure 6-68 shows.

Figure 6-68 Query Wizard IStream Editor Dialog

2. Edit the dialog as Table 6-19 describes.

Table 6-19 Query Wizard IStream Editor Attributes

Attribute

Description

Generated CQL Statement

Wrap the editable Oracle CQL fragment associated with this CQL Construct in:

IStream()

3. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

4. Click Save.
The IStream icon displays a green check mark to indicate that it is configured.

6.1.9.14 Configuring a DStream CQL Construct

The DStream Oracle CQL construct represents an Oracle CQL DStream relation-to-stream operator. Dstream (for "Delete stream") applied to a relation R contains (s,t) whenever tuple s is in R(t-1) - R(t), that is, whenever s is deleted from R at time t.

For more information, see:

- "DStream Relation-to-Stream Operator" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Streams and Relations" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure a DStream CQL construct:

1. Double click the DStream icon as Figure 6-69 shows.

Figure 6-69 DStream Icon

The DStream editor dialog appears as Figure 6-70 shows.

Figure 6-70 Query Wizard DStream Editor Dialog

2. Edit the dialog as Table 6-20 describes.

Table 6-20 Query Wizard DStream Editor Attributes

Attribute

Description

Generated CQL Statement

Wrap the editable Oracle CQL fragment associated with this CQL Construct in:

DStream()

3. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

4. Click Save.
The Dstream icon displays a green check mark to indicate that it is configured.

6.1.9.15 Configuring an RStream CQL Construct

The RStream Oracle CQL construct represents an Oracle CQL RStream relation-to-stream operator. The RStream operator maintains the entire current state of its input relation and outputs all of the tuples as insertions at each time step. Since Rstream outputs the entire state of the relation at every instant of time, it can be expensive if the relation set is not very small.

For more information, see:

- "RStream Relation-to-Stream Operator" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Streams and Relations" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure an RStream CQL construct:

1. Double click the RStream icon as Figure 6-71 shows.

Figure 6-71 RStream Icon

The RStream editor dialog appears as Figure 6-72 shows.

Figure 6-72 Query Wizard RStream Editor Dialog

2. Edit the dialog as Table 6-21 describes.

Table 6-21 Query Wizard RStream Editor Attributes

Attribute

Description

Generated CQL Statement

Wrap the editable Oracle CQL fragment associated with this CQL Construct in:

RStream()

3. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

4. Click Save.
The RStream icon displays a green check mark to indicate that it is configured.

6.1.9.16 Configuring an Output CQL Construct

The Output Oracle CQL construct represents the complete Oracle CQL query or view. Using the Output CQL construct, you can:

- Review and edit the complete Oracle CQL statement.

- Create a copy of the Oracle CQL statement and inject it into the Oracle CQL processor under a different name. This is a convenient way of duplicating and modifying an existing statement when you need to create multiple statements that share a common structure.

- Convert between a view and query.

For more information, see:

- "Queries, Views, and Joins" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Oracle CQL Statements" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure an Output CQL construct:

1. Double click the Output icon as Figure 6-73 shows.

Figure 6-73 Output Icon

The Output editor dialog appears as Figure 6-74 shows.

Figure 6-74 Query Wizard Output Editor Dialog

2. Edit the dialog as Table 6-22 describes.

Table 6-22 Query Wizard Output Editor Attributes

Attribute

Description

Type

The type of rule:

- Query: An Oracle CQL query is an operation that you express in Oracle CQL syntax and execute on an Oracle CQL Processor to process data from one or more streams or views.

- View: An Oracle CQL view represents an alternative selection on a stream or relation. In Oracle CQL, you use a view instead of a subquery.

For more information, see "Queries, Views, and Joins" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing.

Query Name

The name of the query.

Enable

Set this option to true to run the rule immediately after saving.

Set this option to false to not run the rule after saving.

A view cannot be enabled or disabled. If the query that uses a view is enabled, then the view is also enabled. If the query that uses a view is disabled, then the view is effectively disabled.

View Name

The name of the view.

View Schema

Editable list of the properties you specify in the SELECT clause.

If you edit the generated CQL statement to add or remove properties from the SELECT clause, you must make the same change to the View Schema.

Project List

Read-only list of the properties you specify in the SELECT clause.

Generated CQL Statement

Editable Oracle CQL fragment associated with this CQL Construct.

3. To inject a new instance of the entire Oracle CQL rule into the Oracle CQL processor:

1. If you are creating a new rule, Click Inject Rule.
A new instance of the Oracle CQL rule is now visible on the Oracle Rules tab.

2. If you are modifying an existing rule:

- Click in the Query Name or View Name field and change the query or view name.

- Click Inject Rule.

A new instance of the Oracle CQL rule is now visible on the Oracle Rules tab with the new name.

4. To replace an existing instance of the entire Oracle CQL rule in the Oracle CQL processor, click Replace Rule.
The existing instance of the Oracle CQL rule is updated on the Oracle Rules tab with the existing name.

5. Click the Validate button to ensure that your changes are syntactically correct.
Correct any errors before proceeding.

6. Click Save.
The Output icon displays a green check mark to indicate that it is configured.

6.1.9.17 Configuring an Expression Using the Expression Builder

You can use the Query Wizard Expression Builder to construct an expression using various Oracle CQL operators, expressions, built-in single-row and aggregate functions, and user-defined functions.

For more information, see:

- "Arithmetic Operators" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Concatenation Operator" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Expressions" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

- "Functions" in the Oracle Fusion Middleware CQL Language Reference for Oracle Event Processing

To configure an expression using the Expression Builder:

1. Click the Expression Builder button on the CQl construct editor dialog.
The Expression Builder dialog appears. Figure 6-75 shows the Expression Builder after clicking the Expression Builder button in the Pattern construct editor.

Figure 6-75 Query Wizard Expression Builder

2. Edit the dialog as Table 6-22 describes.

Table 6-23 Query Wizard Expression Builder Attributes

Attribute

Description

Expression Builder

Editable field that contains the expression.

Variables

Select a source from the Variables pull-down menu to list the properties it provides in the Properties list.

Double-click a property to select it and add it to the Expression Builder at the current insertion point.

Functions

Select a function category from the Functions pull-down menu to list the functions it provides in the Functions list.

Select a function to see its syntax in the Function Description field.

Double-click a function to select it and add it to the Expression Builder at the current insertion point.

Operands

Double-click an operand to select it and add it to the Expression Builder at the current insertion point.

Function Description

Read-only field that shows the syntax for the currently selected function.

3. Select a source from the Variables pull-down menu.

4. Select a function category from the Functions pull-down menu.

5. Double-click a function to select it and add it to the Expression Builder.

6. Double-click a property to select it and make it the argument of the function.

7. Use your mouse to position the insertion bar after the closing bracket of the function.

8. Double click an operand to select it and add it to the Expression Builder.

9. Double-click another property or type in a literal value in the Expression Builder.

10. To undo an operation, click the Undo button.

11. To redo an operation, click the Redo button.

12. To clear the Expression Builder, click the Erase button.

13. Click Save to save the expression and return to the CQL construct editor dialog.

6.1.10 How to Create an Oracle CQL Template for the Query Wizard

Oracle Event Processing Visualizer provides a sophisticated Query Wizard to simplify Oracle CQL view and query construction. You can drag and drop a complete Oracle CQL view or query template and customize it to suit your needs. This procedure describes how to create your own templates and add them to the Query Wizard Templates palette.

An Oracle CQL template is based on the wlevs_queryconstructor_config.xsd from Appendix A, "Oracle CQL Query Wizard Template Schema Reference". However, a user-defined template may contain only the following:

- select-block

- from-block

- where-block

- Operator element and attributes ID and type

- Operator element inputs child element

For more information on using templates to create an Oracle CQL rule, see Section 6.1.1, "How to Create a Rule in an Oracle CQL Processor Using the Query Wizard".

To create an Oracle CQL template for the Query Wizard:

1. Using your favorite editor, create an XML file and add the header shown in Example 6-1.

Example 6-1 myTemplate.xml XML File

<?xml version="1.0" encoding="UTF-8"?>

2. Create a Rule element as Example 6-2 shows.

Example 6-2 Rule Element

<?xml version="1.0" encoding="UTF-8"?>
<Rule>
<select-block>

</select-block>

<from-block>

</from-block>

<where-block>

</where-block>

</Rule>

3. Add Operator elements to your template as Example 6-3 shows.
Configure each Operator with a unique ID and specify the type attribute.

Configure the Rule element root attribute with the ID of the operator that is the root (or ending point) of your rule. In Example 6-3, the Operator of type Output with the ID 10 is the root of the rule.

Example 6-3 Rule Element: Operators

<?xml version="1.0" encoding="UTF-8"?>
<Rule root="10">
<select-block>

<Operator ID="10" type="Output">
</Operator>

<Operator ID="9" type="IStream">
</Operator>

<Operator ID="7" type="Select">
</Operator>

</select-block>

<from-block>

<Operator ID="1" type="SSource">
</Operator>

<Operator ID="2" type="Window">
</Operator>

<Operator ID="3" type="SSource">
</Operator>

<Operator ID="4" type="Window">
</Operator>

</from-block>

<where-block>

<Operator ID="5" type="Join">
</Operator>

</where-block>
</Rule>

4. Connect your operators together by adding inputs elements as Example 6-4 shows.

Example 6-4 Rule Element: Connect Operators

<?xml version="1.0" encoding="UTF-8"?>
<Rule root="9">
<select-block>

<Operator ID="10" type="Output">
<inputs>
<input>9</input>
</inputs>
</Operator>

<Operator ID="9" type="IStream">
<inputs>
<input>8</input>
</inputs>
</Operator>

<Operator ID="7" type="Select">
<inputs>
<input>5</input>
</inputs>
</Operator>

</select-block>

<from-block>

<Operator ID="1" type="SSource">
</Operator>

<Operator ID="2" type="Window">
<inputs>
<input>1</input>
</inputs>
</Operator>

<Operator ID="3" type="SSource">
</Operator>

<Operator ID="4" type="Window">
<inputs>
<input>3</input>
</inputs>
</Operator>

</from-block>

<where-block>

<Operator ID="5" type="Join">
<inputs>
<input>2</input>
<input>4</input>
</inputs>
</Operator>

</where-block>

</Rule>

5. Save and close your template XML file.

Note:

If you enter double-byte characters in your template XML file, ensure that you save the file using UTF-8 encoding. For more information, see Section 1.5.1, "Configuration File Encoding: UTF-8".

6. Copy your template XML file to the ORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername/cqltemplate directory of your Oracle Event Processing server, where ORACLE_CEP_HOME refers to the Oracle Event Processing installation directory such as d:\oracle_cep, DOMAIN_DIR refers to the name of your domain directory, and servername refers to the name of your server. For example: d:\oracle_cep_home\user_projects\domains\mydomain\myserver1\cqltemplate.

7. Add the name of your template XML file to the ORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername/cqltemplate/registry.xml file.
Example 6-5 shows how to register the template XML file example.xml.

Example 6-5 Oracle Event Processing registry.xml File

<?xml version="1.0" encoding="UTF-8"?>
<templates>
<template>
<name>example</name>
<filename>example.xml</filename>
<description>This is an example user-defined cql statement</description>
</template>
</templates>

The template element name child element determines the title that the Query Wizard displays in the User-defined templates tab for this template.

8. Exit out of the Oracle Event Processing Visualizer and log back in.
For more information, see Section 2.1, "Starting the Oracle Event Processing Visualizer".

9. Open the Oracle CQL Query Wizard and locate your template in the User-defined templates tab as Figure 6-76 shows.

Figure 6-76 Query Wizard User-defined templates Tab

For more information, see Section 6.1.1, "How to Create a Rule in an Oracle CQL Processor Using the Query Wizard".

6.1.11 Managing the Query Wizard Diagram

This section describes the various tools along the top of the Query Wizard canvas as Figure 6-77 shows.

Figure 6-77 Query Wizard Tools

You use these tools to manage the Query Wizard diagram of your Oracle CQL statement.

6.1.11.1 Choose Layout

Use the Choose Layout pull-down menu to select alternate ways of distributing CQL constructs and showing their dependencies. You can choose any of:

- Left-Right

- Bottom-Top

- Right-Left

- Top-Bottom

6.1.11.2 Clear Canvas

Click the Clear Canvas button to erase the current Oracle CQL statement and its diagram from the Query Wizard canvas.

6.1.11.3 Save Query

Click the Save Query button at any time (even if you have not yet completed your Oracle CQL statement) to save your work to your local disk instead of the host.

6.1.11.4 Open Query

Click the Open Query button to reload a previously saved query.

6.1.11.5 Hover

Check the Hover option to display the Oracle CQL statement fragment associated with a given stage when you hover your mouse pointer over that stage.

Uncheck the Hover option to disable this feature.

6.1.11.6 Zoom In and Zoom Out

Click the Zoom In and Zoom Out buttons to change the zoom level. This is an alternative to using the Zoom slider (see Section 6.1.11.9, "Zoom").

6.1.11.7 Fit Content

Click the Fit Content button to adjust the zoom level automatically to make all of the diagram visible in the current browser window.

6.1.11.8 Toggle Constructs

Click the Toggle Constructs button to alternately hide and show the CQL Constructs and Templates gallery.

6.1.11.9 Zoom

Use the Zoom slider to increase or decrease the zoom level. This is an alternative to using the Zoom In and Zoom Out buttons (see Section 6.1.11.6, "Zoom In and Zoom Out").

6.2 Using the Query Plan

Oracle Event Processing Visualizer provides a sophisticated Query Plan facility to simplify Oracle CQL query optimization.

Using the Query Plan facility, you can decompose a given Oracle CQL processor into its internal operators, states, and synopsis and you can gather various statistics on these operators such as incoming and outgoing number of messages. The Query Plan facility generates one query plan per Oracle CQL processor and applies to all the queries and views you define on that Oracle CQL processor.

The Oracle CQL Query Plan facility is designed to allow system administrators to efficiently diagnose and optimize Oracle CQL query performance.

This section describes the following topics:

- Section 6.2.1, "How to View a Query Plan for an Oracle CQL Processor"

Note:

Before Oracle Event Processing Visualizer can generate a query plan, there must be at least one running Oracle CQL query (with the Running attribute set to true) on the Oracle CQL processor. For more information, see Section 6.1.8, "How to View a Rule in an Oracle CQL Processor".

6.2.1 How to View a Query Plan for an Oracle CQL Processor

You can view a query plan for an Oracle CQL processor using the Oracle Event Processing Visualizer.

To view a query plan for an Oracle CQL processor:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application you want to use.

3. Select the Oracle CQL processor you wish to use:

1. To use the EPN diagram:

- Click the Event Processing Network tab.

- Double-click the Oracle CQL processor you wish to use.

2. To use the domain tree:

- Expand the appname > Stages node, where appname is the name of the application you want to use.

- Click the Oracle CQL processor you wish to use.

- In the right pane, click the General tab

The Processor panel is displayed as Figure 6-1 shows.

Figure 6-78 Oracle CQL Processor Panel

4. Click the Query Plan tab.
The Query Plan tab appears as Figure 6-79 shows.

Figure 6-79 Query Plan Tab

For information on the various tools along the top of the Query Plan canvas, see Section 6.2.2, "Managing the Query Plan Diagram".

5. To view properties and values in the Property table for any stage, do either of the following:

1. Click the stage icon in the query plan diagram on the right.
The corresponding row in the Data table on the left is also selected.

2. Click the row in the Data table on the left that corresponds to the stage.
The corresponding stage icon in the query plan diagram is also selected.

6. To configure the query plan, click the Query Plan Preference button.
The Query Plan Preference dialog appears as Figure 6-80 shows.

Figure 6-80 Query Plan Preference Dialog

7. Edit the dialog as Table 6-24 describes.

Table 6-24 Query Plan Preference Attributes

Attribute

Description

Draw store/states

Check this option to have Oracle Event Processing display store and states in the query plan diagram.

Displayed Operator Statistics Fields

Check the statistics you want to see in the Data table on the Query Plan tab.

To configure the statistics displayed in the table, select:

- In Messages: the total number of events received by this stage from its inbound stage.

- Out Messages: the total number of events transmitted by this stage to its outbound stage.

- Executions: the number of times an Oracle CQL query was executed on this stage.

- Latest In Messages: the number of messages received from all input queues during the last invocation.

- Latest out Messages: the number of tuples output by this operator during the last invocation.

To configure the statistics displayed in the graph, select:

- NumInMessages: the total number of events received by this stage from its inbound stage.

- NumOutMessages: the total number of events transmitted by this stage to its outbound stage.

- NumExecutions: the number of times an Oracle CQL query was executed on this stage.

- NumInMessagesLatest: the number of messages received from all input queues during the last invocation.

- NumOutMessagesLatest: the number of tuples output by this operator during the last invocation.

Note: The Threshold value applies to the statistic you select here

Threshold

The maximum value for the Displayed Operator Stats Field in Graph statistic. If a stage exceeds this threshold, the value is colored on the query plan diagram using the color you specify for Alert Color.

Default: 500.

Alert Color

Choose the color used to highlight stages that violate their threshold in the query plan display.

If you do not want to show violations in color, select white as the alert color.

Default: red.

Statistics Refresh Interval (Seconds).

Specify the frequency at which Oracle Event Processing collects statistics (in seconds).

Default: 5.

8. To start gathering statistics, click the Get Stats button.
The Get Stats button turns into a Stop Stats button.

The Data table columns display the current statistics (according to your Displayed Operator Stats Fields in Table preference configuration) and threshold violations (according to your Displayed Operator Stats Field in Graph and Threshold preference configuration) are shown in the query plan diagram in red as Figure 6-81 shows.

Figure 6-81 Query Plan While Getting Statistics

9. To stop getting statistics, click the Stop Stats button.

10. To drill-down into a stage to determine rate determining steps, do either of the following:

1. Click the stage icon in the query plan diagram on the right that shows a threshold violation.
The corresponding row in the Data table on the left is also selected and

2. Click the row in the Data table on the left that corresponds to the stage.
The corresponding stage icon in the query plan diagram is also selected.

11. To view dependencies amongst stages, click on an Output row in the Data table.
All the dependent stages are selected in the query plan diagram as Figure 6-82 shows.

Figure 6-82 Query Plan Showing Dependencies

6.2.2 Managing the Query Plan Diagram

This section describes the various tools along the top of the Query Wizard canvas as Figure 6-83 shows.

Figure 6-83 Query Plan Tools

You use these tools to manage the Query Wizard diagram of your Oracle CQL statement.

6.2.2.1 Choose Layout

Use the Choose Layout pull-down menu to select alternate ways of distributing CQL constructs and showing their dependencies. You can choose any of:

- Left-Right

- Bottom-Top

- Right-Left

- Top-Bottom

6.2.2.2 Collapse All and Expand All

Use the Collapse All and Expand All buttons to collapse or expand the entries in the Data table.

6.2.2.3 Get Statistics and Stop Statistics

Use the Get Statistics button to instruct Oracle Event Processing to begin collecting statistics for the stages of the query plan.

When you click on the Get Statistics button, it turns into a Stop Statistics button. Click the Stop Statistics button to stop collecting statistics.

6.2.2.4 Refresh

Use the Refresh button to refresh the Query Plan diagram and Data table.

6.2.2.5 Show Legend

Use the Show Legend check box to show (checked) or hide (unchecked) the CQL Constructs Legend.

6.2.2.6 Preferences

Use the Preferences button to open the Query Plan pre-Renaissance dialog as Figure 6-80 shows.

6.2.2.7 Fit Content

Click the Fit Content button to adjust the zoom level automatically to make all of the diagram visible in the current browser window.

6.2.2.8 Zoom

Use the Zoom slider to increase or decrease the zoom level.

7 Managing EPL Rules

This chapter describes how you can use Oracle Event Processing Visualizer to develop and manage Event Processing Language (EPL) rules, a deprecated language for selecting events as they pass through an event processing network (new applications should use Oracle Continuous Query Language).

This chapter includes the following sections:

- Section 7.1, "Creating a Rule in an EPL Processor"

- Section 7.2, "Deleting a Rule From an EPL Processor"

- Section 7.3, "Replacing a Rule in an EPL Processor"

- Section 7.4, "Changing the dataservices Application Event Filter Rule Using EPL"

Note:

Oracle CQL replaces Event Processing Language (EPL). Oracle Event Processing supports EPL for backwards compatibility. For more information, see Chapter 6, "Managing Oracle CQL Rules".

Note:

Any changes to rules and Oracle high availability adapters are propagated to the other servers in the same group. That is, all rule and and Oracle high availability adapter configurations is automatically synchronized. Other configuration changes are not synchronized. For example, if you change record/playback or JMS adapter configuration on one server in a multi-server domain, then these changes are not synchronized with the other servers in the same group. For more information, see Chapter 18, "Managing Multi-Server Domains"

For more information, see:

- Section 3.3, "Rules Management"

- Oracle Fusion Middleware EPL Language Reference for Oracle Event Processing.

7.1 Creating a Rule in an EPL Processor

You can create a new rule in an existing Oracle Event Processing application that uses one or more EPL processors.

7.1.1 How to Create a Rule in an EPL Processor

You can create a rule in an EPL processor using the Oracle Event Processing Visualizer.

To create a rule in an EPL processor:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Expand the appname > Stages node to see a list of the EPN stages in the domain tree, where appname is the name of the application.

3. Click the EPL processor in which you want to create an EPL rule.
The Processor panel is displayed as Figure 7-1 shows.

Figure 7-1 EPL Processor Panel

4. In the right pane, click the Rules tab.
The Rules tab appears as Figure 7-2 shows.

Figure 7-2 EPL Rules Tab

5. Click in the Rule ID field and enter the name of the rule you want to create.

6. Click in the Rule field and enter the EPL query string.

7. Click Create Rule.
A confirmation dialog appears as Figure 7-3 shows.

Figure 7-3 Create Rule Dialog

8. Click OK.

7.2 Deleting a Rule From an EPL Processor

You can delete an existing rule in an existing Oracle Event Processing application that uses one or more EPL processors.

7.2.1 How to Delete a Rule in an EPL Processor

You can delete a rule in an EPL processor using the Oracle Event Processing Visualizer.

To delete a rule in an EPL processor:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Expand the appname > Stages node to see a list of the EPN stages in the domain tree, where appname is the name of the application.

3. Click the EPL processor in which you want to create an EPL rule.
The Processor panel is displayed as Figure 7-1 shows.

Figure 7-4 EPL Processor Panel

4. In the right pane, click the Rules tab.
The Rules tab appears as Figure 7-5 shows.

Figure 7-5 EPL Rules Tab

5. Decide what rules you want to delete:

1. To delete a single rule:

- Select the rule you want to delete.

- Click Delete Rule
A confirmation dialog appears as Figure 7-6 shows.

Figure 7-6 Delete Rule Dialog

2. To delete all rules:

- Click Cancel to unselect any rules that may be currently selected.

- Click Delete All Rules.
A confirmation dialog appears as Figure 7-6 shows.

Figure 7-7 Delete All Rule Dialog

6. Click OK.

7.3 Replacing a Rule in an EPL Processor

You can use the replace rule feature of Oracle Event Processing Visualizer to modify an existing rule. However, you should use this feature with extreme caution; this is because, internally, Oracle Event Processing Visualizer first deletes the rule and then adds it back again with the replaced text. The deletion of the rule causes all states to be lost before the rule is added again. For this reason, you should replace only stateless rules.

7.3.1 How to Replace a Rule in an EPL Processor

You can replace a rule in an EPL processor using the Oracle Event Processing Visualizer.

To replace a rule in an EPL processor:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Expand the appname > Stages node to see a list of the EPN stages in the domain tree, where appname is the name of the application.

3. Click the EPL processor in which you want to create an EPL rule.
The Processor panel is displayed as Figure 7-1 shows.

Figure 7-8 EPL Processor Panel

4. In the right pane, click the Rules tab.
The Rules tab appears as Figure 7-5 shows.

Figure 7-9 EPL Rules Tab

5. Select the rule you want to replace.

6. Click in the Rule field and enter the new EPL query string.

7. Click Replace Rule.
A confirmation dialog appears as Figure 7-3 shows.

Figure 7-10 Replace Rule Dialog

8. Click OK.

7.4 Changing the dataservices Application Event Filter Rule Using EPL

The com.bea.wlevs.dataservices application includes the MonitorProcessor which in turn is associated with a default rule used to filter the events that are outputted to the diagnostic Dashboard. You can change this rule, or add new ones, if you want to customize this filtering.

You can only change the dataservices application event filter rule using EPL rules.

The event type used in an EPL rule is com.bea.wlev.dataservice.cep.DSMonitorEvent; it has the following properties:

- profile—Name of the diagnostic profile.

- date —Date and timestamp.

- metric—Metric number.

- start—Start stage name.

- end—End stage name.

- type—The type of metric; valid values are avg-latency, avg-throughput or max-latency.

- application—Application name

For example, if you want to filter the monitoring events by type and metric, you might change the EPL rules to the following:

SELECT * FROM DSMonitorEvent
RETAIN 1 EVENT
WHERE metric < 300 AND type = 'avg-latency'
SELECT * FROM DSMonitorEvent
RETAIN 1 EVENT
WHERE metric < 300 AND type = 'avg-throughput'
SELECT * FROM DSMonitorEvent
RETAIN 1 EVENT
WHERE metric < 300 AND type = 'max-latency'

If you want to continuously view three events where the number of metrics is less than 300 and group the events by type, try this EPL rule:

SELECT *, COUNT(metric)
FROM DSMonitorEvent
RETAIN BATCH OF 3 EVENTS PARTITION BY type
WHERE metric < 300
HAVING COUNT(metric) = 3
OUTPUT LAST 1 EVERY 3 EVENTS

If you want to continuously view three events where the average number of metrics is less than 300 and group the events by type, try this EPL rule:

SELECT *, AVG(metric)
FROM DSMonitorEvent
RETAIN BATCH OF 3 EVENTS PARTITION BY type
HAVING AVERAGE(metric) < 300
OUTPUT LAST 1 EVERY 3 EVENTS

For more information, see Oracle Fusion Middleware EPL Language Reference for Oracle Event Processing.

7.4.1 How to Change the Dataservices Application Event Filter Rule Using EPL

You can change the dataservices application event filter EPL rule using the Oracle Event Processing Visualizer.

To change the dataservices application event filter rule using EPL:

1. In the left pane, click Domain > Server > Applications > com.bea.wlevs.dataservices > Stages > MonitorProcessor, where Domain is the name of your domain and Server is the name of your server.

2. In the right pane, click the Rules tab.
The Rules tab appears as Figure 7-11 shows.

Figure 7-11 EPL Rules Tab

3. To create a new Rule, enter a the name of the rule in the Rule ID field, enter the EPL query string in the Rule field, then click Create Rule.
For more information, see Section 7.1, "Creating a Rule in an EPL Processor".

4. To delete an existing rule, select a rule in the table and click Delete Rule.
For more information, see Section 7.2, "Deleting a Rule From an EPL Processor".

5. To change the default rule, click its name in the Rules table, make the change in the Rule field in the Working Area, and click Replace Rule.
For more information, see Section 7.3, "Replacing a Rule in an EPL Processor".

8 Managing Configuration History

This chapter describes how you can use Oracle Event Processing Visualizer to view, roll back, or delete configuration revision history, managing revisions by application or by resource.

This chapter includes the following sections:

- Section 8.1, "Managing Resource Configuration History"

- Section 8.2, "Managing Application Configuration History"

For more information, see Section 3.4, "Configuration History Management".

8.1 Managing Resource Configuration History

You can manage configuration history by resource as Section 3.4.3, "Resource Configuration History Management" describes.

Alternatively, you can view configuration change history by application (see Section 8.2, "Managing Application Configuration History").

8.1.1 How to Manage Resource Configuration History

You can manage resource configuration history using the Oracle Event Processing Visualizer.

To manage resource configuration history:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application whose configuration history you want to manage.

3. In the right pane, click the History tab.
The History tab is displayed as Figure 8-1 shows.

Figure 8-1 History Tab

4. In the right pane, click the Revisions tab.
The Revisions tab appears as Figure 8-2 shows.

Figure 8-2 Revisions Tab

5. Filter the list of revisions by entering an appropriate Start Time and End Time and then click Refresh.
The list refreshes to show only the revisions made in this time period.

6. Manage the resource change records:

- To delete a revision, click Delete.
All the revisions pertaining to the selected Start Time and End Time are deleted from the resource change history but resource configuration is unchanged.

- To undo (roll back) the changes that the revision specifies, click Undo.
All the revisions pertaining to the selected Start Time and End Time are rolled back and the affected resources assume the configuration of the previous change record.

8.2 Managing Application Configuration History

You can manage configuration history by application as Section 3.4.4, "Application Configuration History Management" describes.

Alternatively, you can manage configuration change history by resource (see Section 8.1, "Managing Resource Configuration History").

8.2.1 How to Manage Application Configuration History

You can manage application configuration history using the Oracle Event Processing Visualizer.

To manage application configuration history:

1. In the left pane, navigate to and expand the Applications node of the Oracle Event Processing instance to which the application is deployed.

2. Select appname, where appname is the name of the application whose configuration history you want to manage.

3. In the right pane, click the History tab.
The History tab is displayed as Figure 8-3 shows.

Figure 8-3 History Tab

4. In the right pane, click the Changes tab.
The Changes tab appears as Figure 8-4 shows.

Figure 8-4 Changes Tab

5. Filter the list of change records by entering an appropriate Start Time and End Time and then click Refresh.
The list refreshes to show only the change records that were made in this time period.

6. Manage the application change records:

- To delete change records, click Delete.
All the change records pertaining to the selected Start Time and End Time are deleted from the application change history but the application configuration is unchanged.

- To undo (roll back) the changes that a change record specifies, click Undo.
All the change records pertaining to the selected Start Time and End Time are rolled back and the affected application assumes the configuration of the previous change record.

Part III

Server and Domain Tasks

Part III contains the following chapters:

- Chapter 9, "Overview of Server and Domain Tasks"

- Chapter 10, "Managing Deployments"

- Chapter 11, "Managing Jetty"

- Chapter 12, "Managing JMX"

- Chapter 13, "Managing Data Sources"

- Chapter 14, "Managing HTTP Publish-Subscribe Servers"

- Chapter 15, "Managing the Event Inspector Service"

- Chapter 16, "Managing the Event Type Repository"

- Chapter 17, "Managing the Persistent Event Store"

- Chapter 18, "Managing Multi-Server Domains"

- Chapter 19, "Managing Oracle Event Processing Server Logs"

9 Overview of Server and Domain Tasks

This chapter introduces typical server and domain management tasks you can perform with Oracle Event Processing Visualizer, including managing deployment, multi-server domains, logs, caches, the event type repository, and more.

This chapter includes the following sections:

- Section 9.1, "Deployment Management"

- Section 9.2, "Jetty Management"

- Section 9.3, "JMX Management"

- Section 9.4, "Data Source Management"

- Section 9.5, "HTTP Publish-Subscribe Server Management"

- Section 9.6, "Event Type Repository Management"

- Section 9.7, "Persistent Event Store Management"

- Section 9.8, "Multi-Server Domain Management"

- Section 9.9, "Event Inspector Service Management"

- Section 9.10, "Cache Management"

- Section 9.11, "Log Management"

9.1 Deployment Management

Using the Oracle Event Processing Visualizer, you can view the applications and application libraries deployed to a selected Oracle Event Processing server.

For more information, see:

- Chapter 10, "Managing Deployments"

- Chapter 5, "Managing Application Lifecycle"

- "Managing an Application Library" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

9.2 Jetty Management

Oracle Event Processing supports Jetty (see http://www.mortbay.org/jetty/) as the Java Web server to deploy HTTP servlets and static resources.

Oracle Event Processing support for Jetty is based on Version 1.2 the OSGi HTTP Service. This API provides the ability to dynamically register and unregister javax.servlet.Servlet objects with the run time and static resources.

Oracle Event Processing allows you to configure how your application prioritizes the execution of its work. Based on rules you define and by monitoring actual run time performance, you can optimize the performance of your application and maintain service level agreements. You define the rules and constraints for your application by defining a work manager.

For more information, see:

- Chapter 11, "Managing Jetty"

- "Configuring Jetty for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

- "Jetty Work Managers" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

9.3 JMX Management

Oracle Event Processing provides standards-based interfaces that are fully compliant with the Java Management Extensions (JMX) specification. Software vendors can use these interfaces to monitor Oracle Event Processing MBeans, to change the configuration of an Oracle Event Processing domain, and to monitor the distribution (activation) of those changes to all server instances in the domain.

Oracle Event Processing Visualizer and the wlevs.Admin command line tool both use JMX to connect to a server. However, to use these tools, and the JMX interfaces in general, you must configure Oracle Event Processing with the JMX configuration information in the config.xml file.

For more information, see:

- Chapter 12, "Managing JMX"

- "Configuring JMX for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

9.4 Data Source Management

Oracle Event Processing supports Java Database Connectivity (JDBC) 3.0 for relational database access.

The JDBC API provides a standard, vendor-neutral mechanism for connecting to and interacting with database servers and other types of tabular resources that support the API. The JDBC javax.sql.DataSource interface specifies a database connection factory that is implemented by a driver. Instances of DataSource objects are used by applications to obtain database connections (instances of java.sql.Connection). After obtaining a connection, an application interacts with the resource by sending SQL commands and receiving results.

For more information, see:

- Chapter 13, "Managing Data Sources"

- "Configuring JDBC for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

9.5 HTTP Publish-Subscribe Server Management

Oracle Event Processing includes an HTTP publish-subscribe server to which applications can publish messages. Applications publish messages to a particular channel; other applications can then subscribe to this channel to receive these published messages.

Oracle Event Processing HTTP pub-sub server channels may be:

- Static: those channels configured in the Oracle Event Processing server config.xml and used by Oracle Event Processing Visualizer itself.
Oracle Event Processing Visualizer includes the following static channels (preconfigured in config.xml) that are used by Oracle Event Processing Visualizer itself; they cannot be deleted or modified:

- /evsmonitor

- /evsalert

- /evsdomainchange

- Dynamic: those channels that are not configured in the Oracle Event Processing server config.xml but created dynamically when the Oracle Event Processing sever is running. You can view statistics for dynamic channels, including the number of messages sent to this channel and the number of subscribers. Dynamic channel configuration is read-only.
Oracle Event Processing Visualizer supports only the Event Inspector service dynamic channel.

- User-defined: those static channels that your Oracle Event Processing application creates.

Note:

When one application (application-1) advertises a channel that a second application (application-2) subscribes to and uses as a foreign stage, you cannot view the details of the advertised channel from application-2. To view the details of this channel, you must do so from application-1.

You can use Oracle Event Processing Visualizer to modify existing channels, as well as create new ones and delete existing ones. When you configure channels with Oracle Event Processing Visualizer, they are permanent and survive server restart. Channels configured using APIs from a custom HTTP pub-sub adapter are dynamic and do not survive server restart.

For more information, see:

- Chapter 14, "Managing HTTP Publish-Subscribe Servers"

- Chapter 24, "Managing HTTP Publish-Subscribe Server Security"

- Section 4.4, "Tracing and Injecting Events in the EPN"

- "Configuring HTTP Publish-Subscribe for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

9.6 Event Type Repository Management

Event types define the properties of the events that are handled by Oracle Event Processing applications. All the event types used by the applications of a server make up the event type repository.

For more information, see:

- Chapter 16, "Managing the Event Type Repository"

- "Defining and Using Event Types" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

9.7 Persistent Event Store Management

The Oracle Event Processing event repository feature allows you to persist the events that flow out of a component of the event processing network (EPN) to a store, such as a database table, and then play them back at a later stage or explicitly query the events from a component such as an event bean. By default, Oracle Event Processing stores recorded events in a database, which means that before you can start using the record and playback feature in your own application, you must specify where the database server is located along with the name of the database server that will contain the recorded events.

For more information, see:

- Chapter 17, "Managing the Persistent Event Store"

- "Storing Events in the Persistent Event Store" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

9.8 Multi-Server Domain Management

An Oracle Event Processing multi-server domain (or cluster) is a set of two or more servers logically connected for the purposes of management, and physically connected using a shared User Datagram Protocol (UDP) multicast address and port. All servers in an Oracle Event Processing multi-server domain are aware of all other servers in the domain and any one server can be used as an access point for making changes to the deployments in the domain.

Oracle Event Processing supports the following clustering systems:

- evs4j: Oracle Event Processing native clustering implementation.

- Oracle Coherence: a JCache-compliant in-memory distributed data grid solution for clustered applications and application servers. It coordinates updates to the data using cluster-wide concurrency control, replicates data modifications across the cluster using the highest performing clustered protocol available, and delivers notifications of data modifications to any servers that request them. You take advantage of Oracle Coherence features using the standard Java collections API to access and modify data, and use the standard JavaBean event model to receive data change notifications.

Note:

Before you can use Oracle Event Processing with Oracle Coherence, you must obtain a valid Oracle Coherence license such as a license for Coherence Enterprise Edition, Coherence Grid Edition, or Oracle WebLogic Application Grid. For more information on Oracle Coherence, see http://www.oracle.com/technology/products/coherence/index.html.

Note:

Any changes to rules and Oracle high availability adapters are propagated to the other servers in the same group. That is, all rule and and Oracle high availability adapter configurations is automatically synchronized. Other configuration changes are not synchronized. For example, if you change record/playback or JMS adapter configuration on one server in a multi-server domain, then these changes are not synchronized with the other servers in the same group. For more information, see:

- Chapter 6, "Managing Oracle CQL Rules"

- Chapter 7, "Managing EPL Rules"

- Section 4.2, "Viewing and Editing the Configuration of a Stage"

For more information, see:

- Chapter 18, "Managing Multi-Server Domains"

- Section 18.2, "Managing Oracle Coherence"

- Section 3.4.6, "Multi-Server Domains and Configuration History Management"

- "Administering Multi-Server Domains With Oracle Coherence" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

- "Administering Multi-Server Domains With Oracle Event Processing Native Clustering" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

9.9 Event Inspector Service Management

Using the Event Inspector service, you can:

- View the events flowing out of any stage in the EPN

- Inject events into any stage in the EPN

You can use the Event Inspector service to test and debug Oracle CQL queries during development.

For more information, see:

- Chapter 15, "Managing the Event Inspector Service"

- Chapter 4, "Tracing and Injecting Events in the EPN"

- "Testing Applications With the Event Inspector" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

9.10 Cache Management

A cache is a temporary storage area for events, created exclusively to improve the overall performance of your Oracle Event Processing application; it is not necessary for the application to function correctly. Oracle Event Processing applications can optionally publish or consume events to and from a cache to increase the availability of the events and increase the performance of their applications.

A caching system refers to a configured instance of a caching implementation. A caching system defines a named set of configured caches as well as the configuration for remote communication if any of the caches are distributed across multiple machines.

Oracle Event Processing supports the following caching systems:

- Oracle Event Processing local cache: a local, in-memory single-JVM cache.

- Oracle Coherence: a JCache-compliant in-memory distributed data grid solution for clustered applications and application servers. It coordinates updates to the data using cluster-wide concurrency control, replicates data modifications across the cluster using the highest performing clustered protocol available, and delivers notifications of data modifications to any servers that request them. You take advantage of Oracle Coherence features using the standard Java collections API to access and modify data, and use the standard JavaBean event model to receive data change notifications.

Note:

Before you can use Oracle Event Processing with Oracle Coherence, you must obtain a valid Oracle Coherence license such as a license for Coherence Enterprise Edition, Coherence Grid Edition, or Oracle WebLogic Application Grid. For more information on Oracle Coherence, see http://www.oracle.com/technology/products/coherence/index.html.

- Third-party caches: you can create a plug-in to allow Oracle Event Processing to work with other, third-party cache implementations.

For more information, see:

- Section 18.2, "Managing Oracle Coherence"

- "Configuring Oracle Event Processing Caching" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

9.11 Log Management

Oracle Event Processing Visualizer allows you to change the server-wide logging configuration, such as the severity of log messages you want the server to print out, the name of the log file, and so on.

You can also view and modify the logging level of individual components and configure logging for new components.

For more information, see:

- Chapter 19, "Managing Oracle Event Processing Server Logs"

- "Configuring Logging and Debugging for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

10 Managing Deployments

This chapter describes how you can use Oracle Event Processing Visualizer to view, add, or delete Oracle Event Processing application deployments on Oracle Event Processing servers.

This chapter includes the following sections:

- Section 10.1, "Viewing Deployments"

- Section 10.2, "Adding or Deleting Deployments"

For more information, see:

- Section 9.1, "Deployment Management"

- Chapter 5, "Managing Application Lifecycle"

10.1 Viewing Deployments

This section describes:

- Section 10.1.1, "How to View the Applications Deployed to an Oracle Event Processing Server"

- Section 10.1.2, "How to View the Application Libraries Deployed to an Oracle Event Processing Server"

10.1.1 How to View the Applications Deployed to an Oracle Event Processing Server

Using the Oracle Event Processing Visualizer, you can view the applications deployed to a selected Oracle Event Processing server.

To view the applications deployed to an Oracle Event Processing server:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the Applications tab.
The Applications tab is displayed as Figure 10-1 shows.

Figure 10-1 Applications Tab

3. View the list of deployed applications as Table 10-1 describes.

Table 10-1 Deployed Application Attributes

Attribute

Description

Name

The name of the application.

State

The operational state of the application.

Target

The group to which the application is deployed.

10.1.2 How to View the Application Libraries Deployed to an Oracle Event Processing Server

Using the Oracle Event Processing Visualizer, you can view the application libraries deployed to a selected Oracle Event Processing server.

You can view:

- Extension Libraries: these libraries are deployed first along with the Oracle Event Processing server extension modules.
For more information, see "Library Extensions Directory" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

- Libraries: these libraries are deployed after the components in the library extensions directory but before any Oracle Event Processing applications
For more information, see "Library Directory" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

To view the application libraries deployed to an Oracle Event Processing server:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. View the libraries associated with applications deployed to this server:

1. To view extension libraries, in the right pane, click the Extension Libraries tab.
The Extension Libraries tab is displayed as Figure 10-2 shows.

Figure 10-2 Extension Libraries Tab

View the list of deployed application libraries as Table 10-2 describes.

Table 10-2 Application Extension Library Attributes

Attribute

Description

Name

The name of the application library.

State

The operational state of the application library.

2. To view libraries, in the right pane, click the Libraries tab.
The Libraries tab is displayed as Figure 10-3 shows.

Figure 10-3 Libraries Tab

View the list of deployed application libraries as Table 10-3 describes.

Table 10-3 Application Library Attributes

Attribute

Description

Name

The name of the application library.

State

The operational state of the application library.

10.2 Adding or Deleting Deployments

This section describes:

- Section 10.2.1, "How to Add or Delete an Application"

- Section 10.2.2, "How to Add or Delete an Application Library"

10.2.1 How to Add or Delete an Application

For more information, see:

- Section 5.1.1, "How to Deploy an Application in a Standalone-Server Domain"

- Section 5.1.2, "How to Deploy an Application in a Multi-Server Domain"

- Section 5.4, "Uninstalling an Application"

10.2.2 How to Add or Delete an Application Library

To add or remove application libraries, you must manually add or remove files from the appropriate Oracle Event Processing server directory.

For more information, see:

- "Library Extensions Directory" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- "Library Directory" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- "Managing an Application Library" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

11 Managing Jetty

This chapter describes how you can use Oracle Event Processing Visualizer to view and edit Jetty web server configuration, as well as how to view Jetty work manager configuration for an Oracle Event Processing server.

This chapter includes the following sections:

- Section 11.1, "Managing Jetty Web Server Configuration"

- Section 11.2, "Managing Work Manager Configuration"

For more information, see Section 9.2, "Jetty Management".

11.1 Managing Jetty Web Server Configuration

This section describes:

- Section 11.1.1, "How to View Jetty Web Server Configuration"

- Section 11.1.2, "How to Edit Jetty Web Server Configuration"

11.1.1 How to View Jetty Web Server Configuration

Using the Oracle Event Processing Visualizer, you can view the Jetty Web server configuration for a selected Oracle Event Processing server.

To view Jetty web server configuration:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the HTTP Server tab.

3. In the right pane, the properties of the Jetty server are displayed:

- The name of the Jetty server.

- The network I/O object to which the Jetty server is bound.

- The work manager name to which the Jetty server is bound.

- The list of Web applications that are deployed to this Jetty server, along with the path of the application and its context path.

11.1.2 How to Edit Jetty Web Server Configuration

You can only view the configuration of the Jetty servers configured in your Oracle Event Processing server using Oracle Event Processing Visualizer. To change the configuration, you must manually update the server's config.xml file.

For details, see "Configuring Jetty for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

11.2 Managing Work Manager Configuration

This section describes:

- Section 11.2.1, "How to View and Edit Work Manager Configuration"

- Section 11.2.2, "How to Create a Work Manager"

- Section 11.2.3, "How to Delete a Work Manager"

11.2.1 How to View and Edit Work Manager Configuration

Using the Oracle Event Processing Visualizer, you can view the work manager configuration for a selected Oracle Event Processing server.

To view the work manager configuration:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the Work Manager tab.
The Work Manager tab appears as shown in Figure 11-1.

Figure 11-1 Work Manager Tab

3. In the Work Manager table, select the work manager you want to configure by clicking on its name.

4. Click the Change button at the bottom of the page.

5. Update the work manager configuration properties:

- Min threads—The minimum number of threads that the server allocates so as to reduce the initial time it takes to perform a task.

- Max threads—The maximum number of concurrent threads that execute requests from the constrained work set.

- Fair Share—The average thread-use time required to process requests.

6. Click Save to save your changes or Cancel to cancel the update.

11.2.2 How to Create a Work Manager

You cannot delete existing work managers or create new ones using Oracle Event Processing Visualizer; rather, you must manually update the server's config.xml file.

For details, see "Jetty Work Managers" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

11.2.3 How to Delete a Work Manager

You cannot delete existing work managers or create new ones using Oracle Event Processing Visualizer; rather, you must manually update the server's config.xml file.

For details, see "Jetty Work Managers" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

12 Managing JMX

This chapter describes how you can use Oracle Event Processing Visualizer to view Java Management Extensions (JMX) configuration for use with Oracle Event Processing.

This chapter includes the following sections:

- Section 12.1, "Viewing JMX Configuration"

- Section 12.2, "Editing JMX Configuration"

For more information, see Section 9.3, "JMX Management".

12.1 Viewing JMX Configuration

Using the Oracle Event Processing Visualizer, you can view JMX configuration.

12.1.1 How to View JMX Configuration

Using the Oracle Event Processing Visualizer, you can view the JMX configuration for a selected Oracle Event Processing server.

To view JMX configuration:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the JMX tab.
The JMX tab appears as Figure 12-1 shows.

Figure 12-1 JMX Tab

3. The JMX properties are displayed in the table:

- jndi-service-name—The name of the JNDI service to which the JMX server will bind its object.

- rmi-service-name—The name of the RMI service with which the JMX server will register to receive calls.

- rmi-jrmp-port—The port on which to listen for RMI JRMP JMX requests.

- rmi-registry-port—The port on which to start the RMIRegistry.

Note:

Oracle Event Processing does not support the JRMP protocol: an Oracle Event Processing JMX client does not use the rmi-jrmp-port or rmi-registry-port properties. Instead, JMX clients must use the more secure MSA protocol for both local and remote access to the Oracle Event Processing JMX server. When you connect to the Oracle Event Processing JMX server that is running on localhost or on a remote host, you must always use the JMX URL service:jmx:msarmi://HOST-NAME:PORT/jndi/jmxconnector so that you are always using the MSA connector (where HOST-NAME is either localhost or the name of the remote host and PORT is the Oracle Event Processing server JNDI port). For more information, see "Accessing the Oracle Event Processing JMX Server" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

12.2 Editing JMX Configuration

You can only view the JMX configuration of your Oracle Event Processing server using Oracle Event Processing Visualizer. To change the configuration, you must manually update the server's config.xml file.

For more information, see "Configuring JMX for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

13 Managing Data Sources

This chapter describes how you can use Oracle Event Processing Visualizer to view, edit, and add data source configuration for use with Oracle Event Processing.

This chapter includes the following sections:

- Section 13.1, "Viewing and Editing a Data Source"

- Section 13.2, "Adding a Data Source"

For more information, see Section 9.4, "Data Source Management".

13.1 Viewing and Editing a Data Source

This section describes:

- Section 13.1.1, "How to View a Data Source Configuration"

- Section 13.1.2, "How to Edit Data Source Configuration"

13.1.1 How to View a Data Source Configuration

Using the Oracle Event Processing Visualizer, you can view the data source configuration for a selected Oracle Event Processing server.

To view a data source configuration:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the DataSource tab.
The DataSource tab appears as Figure 13-1 shows.

Figure 13-1 DataSource Tab

13.1.2 How to Edit Data Source Configuration

Using the Oracle Event Processing Visualizer, you can edit the data source configuration for a selected Oracle Event Processing server.

To edit data source configuration:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the DataSource tab.
The DataSource tab appears as Figure 13-2 shows.

Figure 13-2 DataSource Tab

3. In the Data Sources table, select the data source you want to edit by clicking on its name.

4. Click Edit.
The Datasource dialog appears as Figure 13-3 shows.

5. Click the Data Source tab.
The DataSource tab appears as Figure 13-3 shows.

Figure 13-3 Edit Datasource: Data Source Tab

6. Configure the DataSource tab as Table 13-1 describes.

Table 13-1 Edit Datasource: Data Source Parameters

Parameter

Description

Name

The name for this data source configuration.

JNDI Name

JNDI path to where this data source will be bound. This is the name your Oracle Event Processing application uses to look up the data source in JNDI.

Global Tx Protocol

Select the protocol for Oracle Event Processing to use for the transaction branch when processing a global transaction:

- OnePhaseCommit (Default)

- TwoPhaseCommit

- LoggingLastResource

- EmulateTwoPhaseCommit

- None

7. Click the Global Tx Protocol tab.
The Global Tx Protocol tab appears as Figure 13-4 shows.

Figure 13-4 Edit Datasource: Global Tx Protocol Tab

8. Configure the Global Tx Protocol tab as Table 13-2 describes.

Table 13-2 Edit Datasource: Global Tx Protocol Parameters

Parameter

Description

Database Type

Select the type of JDBC driver to use:

- Derby

- Oracle

- SQL Server 2005

- Other

URL

Specify the database connection URL appropriate for your database. This URL includes the name of the database, the host and port of the computer on which the database server is running, and so on. Oracle Event Processing populates a default URL for database types it provides.

Driver Name

Specify the name of the driver for the selected database type. Oracle Event Processing automatically populates the driver name for types it provides.

User Name

Specify database user account name that you want to use for each connection in the data source.

Password

Specify database user password that you want to use for each connection in the data source

Use XA

Specify whether or not to use distributed transactions:

- true: enable distributed transactions.

- false: disable distributed transactions.

9. Click the Connection Pool tab.
The Connection Pool tab appears as Figure 13-5 shows.

Figure 13-5 Edit Datasource: Connection Pool Tab

10. Configure the Connection Pool tab as Table 13-3 describes.

Table 13-3 Edit Datasource: Connection Pool Parameters

Parameter

Description

Initial Capacity

Specify the number of physical connections to create when creating the connection pool.

Max Capacity

Specify the maximum number of physical connections that this connection pool can contain.

Capacity Increment

Specify how many connections to add when all the connections in the connection pool are in use and the connection pool receives a new connection request.

Test

Enter the name of a small table to use in a query if you want to test the database connection before handing it to the requesting application. The standard query is select 1 from table_name. If you prefer to use a different query as a connection test, enter SQL followed by a space and the SQL code you want to use to test database connections.

11. Click Save.
The datasource is updated in the Oracle Event Processing server configuration.

13.2 Adding a Data Source

You can add a data source using the Oracle Event Processing Visualizer.

13.2.1 How to Add a Data Source Configuration

Using the Oracle Event Processing Visualizer, you can add the data source configuration for a selected Oracle Event Processing server.

To add a data source configuration:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the DataSource tab.
The DataSource tab appears as Figure 13-6 shows.

Figure 13-6 DataSource Tab

3. Click Add.
The New Datasource dialog appears as Figure 13-7 shows. There are three accordion tabs:

- Data Source: use this tab to identify the data source and specify whether or not to use a global transaction protocol.

- Global Tx Protocol: use this tab to specify connection properties and whether or not to use XA.

- Connection Pool: use this tab to specify connection pool properties.

4. Click the Data Source tab.
The DataSource tab appears as Figure 13-7 shows.

Figure 13-7 New Datasource: Data Source Tab

5. Configure the DataSource tab as Table 13-4 describes.

Table 13-4 New Datasource: Data Source Parameters

Parameter

Description

Name

The name for this data source configuration.

JNDI Name

JNDI path to where this data source will be bound. This is the name your Oracle Event Processing application uses to look up the data source in JNDI.

Global Tx Protocol

Select the protocol for Oracle Event Processing to use for the transaction branch when processing a global transaction:

- OnePhaseCommit (Default)

- TwoPhaseCommit

- LoggingLastResource

- EmulateTwoPhaseCommit

- None

6. Click the Global Tx Protocol tab.
The Global Tx Protocol tab appears as Figure 13-8 shows.

Figure 13-8 New Datasource: Global Tx Protocol Tab

7. Configure the Global Tx Protocol tab as Table 13-5 describes.

Table 13-5 New Datasource: Global Tx Protocol Parameters

Parameter

Description

Database Type

Select the type of JDBC driver to use:

- Derby

- Oracle

- SQL Server 2005

- Other

URL

Specify the database connection URL appropriate for your database. This URL includes the name of the database, the host and port of the computer on which the database server is running, and so on. Oracle Event Processing populates a default URL for database types it provides.

Driver Name

Specify the name of the driver for the selected database type. Oracle Event Processing automatically populates the driver name for types it provides.

User Name

Specify database user account name that you want to use for each connection in the data source.

Password

Specify database user password that you want to use for each connection in the data source

Use XA

Specify whether or not to use distributed transactions:

- true: enable distributed transactions.

- false: disable distributed transactions.

8. Click the Connection Pool tab.
The Connection Pool tab appears as Figure 13-9 shows.

Figure 13-9 New Datasource: Connection Pool Tab

9. Configure the Connection Pool tab as Table 13-6 describes.

Table 13-6 New Datasource: Connection Pool Parameters

Parameter

Description

Initial Capacity

Specify the number of physical connections to create when creating the connection pool.

Max Capacity

Specify the maximum number of physical connections that this connection pool can contain.

Capacity Increment

Specify how many connections to add when all the connections in the connection pool are in use and the connection pool receives a new connection request.

Test

Enter the name of a small table to use in a query if you want to test the database connection before handing it to the requesting application. The standard query is select 1 from table_name. If you prefer to use a different query as a connection test, enter SQL followed by a space and the SQL code you want to use to test database connections.

10. Click Save.
The new datasource is added to the Oracle Event Processing server configuration.

14 Managing HTTP Publish-Subscribe Servers

This chapter describes how you can use Oracle Event Processing Visualizer to view, add, or delete HTTP publish-subscribe server channels for use with Oracle Event Processing.

This chapter includes the following sections:

- Section 14.1, "Viewing HTTP Publish-Subscribe Servers"

- Section 14.2, "Adding or Deleting an HTTP Publish-Subscribe Server"

For more information, see:

- Section 9.5, "HTTP Publish-Subscribe Server Management"

- Section 15.1, "Configuring the Event Inspector Service HTTP Pub-Sub Server"

- Chapter 24, "Managing HTTP Publish-Subscribe Server Security"

14.1 Viewing HTTP Publish-Subscribe Servers

You can view an existing HTTP publish-subscribe server using the Oracle Event Processing Visualizer.

14.1.1 How to View HTTP Publish-Subscribe Server Channels

Using the Oracle Event Processing Visualizer, you can view the HTTP publish-subscribe server channels currently open on the Oracle Event Processing server, including:

- Static: those channels configured in the Oracle Event Processing server config.xml and used by Oracle Event Processing Visualizer itself.

- Dynamic: those channels that are not configured in the Oracle Event Processing server config.xml but created dynamically when the Oracle Event Processing sever is running. You can view statistics for dynamic channels, including the number of messages sent to this channel and the number of subscribers. Dynamic channel configuration is read-only.

- User-defined: those channels that you create in your own Oracle Event Processing applications. These channels may be either static or dynamic.

Note:

When one application (application-1) advertises a channel that a second application (application-2) subscribes to and uses as a foreign stage, you cannot view the details of the advertised channel from application-2. To view the details of this channel, you must do so from application-1.

To view HTTP publish-subscribe server channels:

1. Be sure you log on to Oracle Event Processing Visualizer using an administration user.
For more information, see:

- "Configuring Security for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

- Section 2.1, "Starting the Oracle Event Processing Visualizer"

2. In the left pane, click the Domain > Server > Services > Http Pub/Sub Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.
A table appears in the right pane with the list of HTTP pub-sub servers configured for Oracle Event Processing.

3. In the right pane, double-click the name of the HTTP pub-sub server in the table. The default server is called pubsub.
The HTTP publish-subscribe server properties dialog appears as Figure 14-1 shows.

Figure 14-1 HTTP Publish-Subscribe Server Channel List

All active channels are shown in the Channels table. The Status column indicates the type of channel: static, dynamic, or user-defined.

14.2 Adding or Deleting an HTTP Publish-Subscribe Server

This section describes:

- Section 14.1.1, "How to View HTTP Publish-Subscribe Server Channels"

- Section 14.2.2, "How to Delete an HTTP Publish-Subscribe Server Channel"

14.2.1 How to Add an HTTP Publish-Subscribe Server Channel

Using the Oracle Event Processing Visualizer, you can add an HTTP publish-subscribe server channel.

To add an HTTP publish-subscribe server channel:

1. Be sure you log on to Oracle Event Processing Visualizer using an administration user.
For more information, see:

- "Configuring Security for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

- Section 2.1, "Starting the Oracle Event Processing Visualizer"

2. In the left pane, click the Domain > Server > Services > Http Pub/Sub Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.
A table appears in the right pane with the list of HTTP pub-sub servers configured for Oracle Event Processing.

3. In the right pane, double-click the name of the HTTP pub-sub server in the table. The default server is called pubsub.

4. Click Add Channel.

5. In the working area towards the bottom of the right pane, enter the name of the new channel in the Channel Pattern text box.
The channel must start with a /, such as /mychannel.

6. If you have security enabled, select the security roles that are allowed to publish and subscribe to the channel.
Select more than one by holding down the Ctrl key.

7. Click Save.
The new channel appears in the Channels table at the top right of the pane.

14.2.2 How to Delete an HTTP Publish-Subscribe Server Channel

Using the Oracle Event Processing Visualizer, you can add an HTTP publish-subscribe server channel.

To delete an HTTP publish-subscribe server channel:

1. Be sure you log on to Oracle Event Processing Visualizer using an administration user.
For more information, see:

- "Configuring Security for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

- Section 2.1, "Starting the Oracle Event Processing Visualizer"

2. In the left pane, click the Domain > Server > Services > Http Pub/Sub server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.
A table appears in the right pane with the list of HTTP pub-sub servers configured for Oracle Event Processing.

3. In the right pane, click the name of the HTTP pub-sub server in the table. The default server is called pubsub.

4. In the Channels table, click the name of the channel you want to delete.

5. Click Delete Channel at the bottom of the pane.

15 Managing the Event Inspector Service

This chapter describes how you can use Oracle Event Processing Visualizer to specify the HTTP publish-subscribe server used for the event inspector.

This chapter includes the following sections:

- Section 15.1, "Configuring the Event Inspector Service HTTP Pub-Sub Server"

For more information, see Section 9.9, "Event Inspector Service Management".

15.1 Configuring the Event Inspector Service HTTP Pub-Sub Server

You can configure the event inspector service HTTP pub-sub server using the Oracle Event Processing Visualizer.

15.1.1 How to Configure the Event Inspector Service HTTP Pub-Sub Server

Using the Oracle Event Processing Visualizer, you can configure the HTTP pub-sub server that the event inspector service uses on a selected Oracle Event Processing server.

To configure the Event Inspector service HTTP pub-sub server:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the Event Inspector tab.
The Event Inspector tab appears as Figure 15-1 shows.

Figure 15-1 Event Inspector Tab

3. Click Edit.

4. Edit the dialog as Table 15-1 describes.

Table 15-1 Event Inspector Options

Attribute

Description

Pubsub Server Name

Specify the name of the local HTTP pub-sub server that the Event Inspector service will use.

Pubsub Server URL

Specify the URL of the remote HTTP pub-sub server that the Event Inspector service will use. The URL should be in the form:

http://HOST:PORT/PATH

Where:

- HOST: is the host name or IP address of the remote Oracle Event Processing server.

- PORT: the remote Oracle Event Processing server netio port as defined in the remote Oracle Event Processing server config.xml file. Default: 9002.

- PATH: the value of the http-pubsub element path child element as defined in the remote Oracle Event Processing server config.xml file.

For example:

http://remotehost:9002/pubsub

5. Click the Save button to commit your changes.

16 Managing the Event Type Repository

This chapter describes how you can use Oracle Event Processing Visualizer to view properties for an event available through the event repository.

This chapter includes the following sections:

- Section 16.1, "Viewing the Event Type Repository"

- Section 16.2, "Configuring the Event Type Repository"

For more information, see Section 9.6, "Event Type Repository Management".

16.1 Viewing the Event Type Repository

You can view the event type repository using the Oracle Event Processing Visualizer.

16.1.1 How to View the Event Type Repository

Using the Oracle Event Processing Visualizer, you can view the event type repository.

To view the event type repository:

1. In the left pane, click Domain > Server > Services > Event Type Repository, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.
The right pane displays the Event Name table that lists all the event types used by the applications of the server.

2. In the right pane, click the name of an event in the Event Name table. The text box at the bottom displays the properties of the event type. For example, a simple Name event type that has three properties, first and last which are Strings and age which is an integer, might look like:

{first=java.lang.String, last=java.lang.String, age=int}

16.2 Configuring the Event Type Repository

You can only view the event type repository, along with the its event types, configured for an Oracle Event Processing server using Oracle Event Processing Visualizer.

For details, see "Defining and Using Event Types" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

17 Managing the Persistent Event Store

This chapter describes how you can use Oracle Event Processing Visualizer to view properties of a persistent event store in use by Oracle Event Processing.

This chapter includes the following sections:

- Section 17.1, "Viewing the Persistent Event Store"

- Section 17.2, "Configuring the Persistent Event Store"

For more information, see Section 9.7, "Persistent Event Store Management".

17.1 Viewing the Persistent Event Store

You can view the persistent event store using the Oracle Event Processing Visualizer.

17.1.1 How to View the Persistent Event Store

Using the Oracle Event Processing Visualizer, you can view the persistent event store.

To view the persistent event store:

1. In the left pane, click Domain > Server > Services > Event Repository, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.
The Event Repository panel appears as Figure 17-1 shows. Table 17-1 describes the options in this panel.

Figure 17-1 Event Repository Panel

Table 17-1 Event Repository Panel Attributes

Attribute

Description

Provider Name

The name of the persistent event store provider.

Default: default-provider.

Initial Timeout

The data source timeout value.

Data Source Name

Displays the JDBC data source associated with the provider.

17.2 Configuring the Persistent Event Store

You can only view the event store configured for an Oracle Event Processing server using Oracle Event Processing Visualizer. To change the configuration, you must manually update the server's config.xml file.

For details, see "Configuring an Event Store for Oracle Event Processing Server" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

18 Managing Multi-Server Domains

This chapter describes how you can use Oracle Event Processing Visualizer to manage aspects of a multi-server domain (or cluster), including viewing native and Coherence cluster membership and topology diagrams, as well as cache information.

This chapter includes the following sections:

- Section 18.1, "Managing Cluster Groups and Topologies"

- Section 18.2, "Managing Oracle Coherence"

- Section 18.3, "Managing the Cluster Topology Diagram"

For more information, see:

- Section 9.8, "Multi-Server Domain Management"

- Section 5.1.2, "How to Deploy an Application in a Multi-Server Domain"

18.1 Managing Cluster Groups and Topologies

This section describes:

- Section 18.1.1, "How to View Cluster Group Membership"

- Section 18.1.2, "How to View all Cluster Topologies"

- Section 18.1.3, "How to View Oracle Event Processing High Availability Cluster Topologies"

18.1.1 How to View Cluster Group Membership

You can view the default and user-defined cluster groups, what servers belong to those groups, and what applications are deployed to those groups.

By default, there is a group for each server with the same name as the server and a group named AllDomainMembers which represents all the servers in the domain. In addition, you can define custom groups when you configure your cluster.

You may deploy an application to a cluster group or to an individual server. When you deploy to a cluster group, the application belongs to the group, not the individual servers in the group. When you deploy to an individual server, the application belongs to the server's own group.

For more information, see

- Section 5.1.2, "How to Deploy an Application in a Multi-Server Domain"

- "Groups" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

To view cluster group membership:

1. In the left pane, click the Domain node, where Domain refers to the name of your Oracle Event Processing domain.

2. In the right pane, click the Cluster Groups/Server tab.
The Cluster Groups/Server tab appears as Figure 18-1 shows.

Figure 18-1 Cluster Groups/Server Tab

3. Use the Cluster Groups/Server tab to examine the server and application contents of various cluster groups.
For example:

- Group testgroup contains two servers (WLEvServer-1 and WLEvServer-2) and one application (helloworld) as Figure 18-1 shows.

- Group WLEvServer-1 contains one server (WLEvServer-1) and no applications. The helloworld application listed under its Applications node belongs to group testgroup, not to server WLEvServer-1.

- Group WLEvServer-2 contains one server (WLEvServer-2) and one application (fx). The fx application was deployed to server WLEvServer-2. The helloworld application listed under its Applications node belongs to group testgroup, not to server WLEvServer-2.

18.1.2 How to View all Cluster Topologies

Using Oracle Event Processing Visualizer, you can view all cluster topologies regardless of cluster implementation. You can also view cluster group properties and server instance properties.

If you deploy an Oracle Event Processing high availability application, you can view the Oracle Event Processing high availability topology. For more information, see Section 18.1.3, "How to View Oracle Event Processing High Availability Cluster Topologies".

If you are using Oracle Coherence for clustering, you can view Oracle Coherence topology. For more information, see Section 18.2.1, "How to View Oracle Coherence Cluster Topologies".

To view all cluster topologies:

1. In the left pane, click the Domain node, where Domain refers to the name of your Oracle Event Processing domain.

2. In the right pane, click the Cluster tab.

3. In the right pane, click the Topology tab.
The Topology tab appears as Figure 18-2 shows.

Figure 18-2 Cluster Topology Tab

This tab shows all cluster groups regardless of the cluster implementation.

Within a cluster group, the primary server is identified by the icon that Figure 18-3 shows. In Figure 18-2, the primary server is CEPServer1.

Figure 18-3 Primary Server

For information on the various tools along the top of the topology canvas, see Section 18.3, "Managing the Cluster Topology Diagram".

4. To view the properties for a given group, click on the group in the Group List.

5. To view the properties for a given server instance, click on the server instance in the Group List.

6. To view details on a given server instance, click the Group Member tab and select the server instance as Figure 18-4 shows.

Figure 18-4 Group Member Tab

7. Use the Group Member tab to customize the group table:

- To change the order of columns, click on the column name in the cache chart and drag left or right.

- To change the sort order of a column, click the triangle to the right of the column name in the cache chart.

18.1.3 How to View Oracle Event Processing High Availability Cluster Topologies

Using Oracle Event Processing Visualizer, you can view an Oracle high availability cluster topology. You can also view cluster group properties and server instance properties.

For more information, see "Understanding High Availability" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse.

To view Oracle Event Processing high availability cluster topologies:

1. In the left pane, click the Domain node, where Domain refers to the name of your Oracle Event Processing domain.

2. In the right pane, click the Cluster tab.

3. In the right pane, click the Topology tab.
For an Oracle Event Processing high availability application, you can use the Topology tab to:

1. Visualize a high-availability configuration.
See Section 18.1.3.1, "Visualizing an Oracle High Availability Configuration"

2. Visualizer a high-availability and scalability configuration.
See Section 18.1.3.2, "Visualizing an Oracle High Availability and Scalability Configuration".

For information on the various tools along the top of the topology canvas, see Section 18.3, "Managing the Cluster Topology Diagram".

4. To view the properties for a given group, click on the group in the Group List.

5. To view the properties for a given server instance, click on the server instance in the Group List.

6. To view details on a given server instance, click the Group Member tab and select the group and server instance as Figure 18-5 shows.

Figure 18-5 Group Member Tab

7. Use the Group Member tab to customize the group table:

- To change the order of columns, click on the column name in the cache chart and drag left or right.

- To change the sort order of a column, click the triangle to the right of the column name in the cache chart.

18.1.3.1 Visualizing an Oracle High Availability Configuration

For an Oracle Event Processing high availability application, the Topology tab shows the notification group nested within the deployment group.

In Figure 18-6, the deployment group is MyDeploymentGroup and the notification group is ActiveActiveGroupBean_group1.

Figure 18-6 Cluster Topology Tab: Oracle Event Processing High Availability

The primary server is identified by the icon that Figure 18-7 shows. In Figure 18-6, the primary server is CEPServer2.

Figure 18-7 Primary Server

The stream data source inputs to both primary and secondary servers but only the primary server outputs events. If CEPServer2 goes down, an Oracle high availability failover occurs and CEPServer1 resumes outputting events as the new primary for ActiveActiveGroupBean_group1. When CEPServer2 is brought back online, it rejoins ActiveActiveGroupBean_group1 as a secondary server.

For information on the various tools along the top of the topology canvas, see Section 18.3, "Managing the Cluster Topology Diagram".

For more information, see:

- "Understanding High Availability" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- "Deployment Group and Notification Group" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

18.1.3.2 Visualizing an Oracle High Availability and Scalability Configuration

If your Oracle Event Processing high availability application combines high availability and scalability, then the Topology tab shows notification groups nested within the deployment group.

In Figure 18-8, the deployment group is MyDeploymentGroup and the notification groups are ActiveActiveGroupBean_group1 and ActiveActiveGroupBean_group2.

Figure 18-8 Cluster Topology Tab: Oracle Event Processing High Availability and Scalability

The primary server is identified by the icon that Figure 18-9 shows. In Figure 18-8, the primary server of notification group ActiveActiveGroupBean_group1 is CEPServer1 and the primary server of notification group ActiveActiveGroupBean_group2 is CEPServer3.

Figure 18-9 Primary Server

The stream data source inputs to both primary and secondary servers in each notification group but only the primary server in each notification group outputs events. The stream data source is partitioned (by JMS selector) so that each notification group processes a different subset of the input data. The Oracle Event Processing Visualizer indicates this with a different colored line for each notification group. For example, ActiveActiveGroupBean_group1 may process events with accountID <= 500 and ActiveActiveGroupBean_group2 may process events with accountID > 500. Both CEPServer1 and CEPServer2 process events with accountID <= 500 in parallel and CEPServer3 and CEPServer4 process events with accountID > 500 in parallel. If CEPServer1 goes down, an Oracle high availability failover occurs and CEPServer2 resumes outputting events as the new primary for ActiveActiveGroupBean_group1. When CEPServer1 is brought back online, it rejoins ActiveActiveGroupBean_group1 as a secondary server.

For information on the various tools along the top of the topology canvas, see Section 18.3, "Managing the Cluster Topology Diagram".

For more information, see:

- "High Availability and Scalability" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

- "Deployment Group and Notification Group" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse

18.2 Managing Oracle Coherence

This section includes the following topics:

- Section 18.2.1, "How to View Oracle Coherence Cluster Topologies"

- Section 18.2.2, "How to Monitor Nodes in an Oracle Coherence Cluster"

- Section 18.2.3, "How to Monitor an Oracle Coherence Cache"

- Section 18.2.4, "How to Tune Oracle Coherence"

18.2.1 How to View Oracle Coherence Cluster Topologies

Using Oracle Event Processing Visualizer, if you are using Oracle Coherence clustering, you can view Oracle Coherence cluster topologies, cluster group properties, and server instance properties.

To view all clustering topologies regardless of clustering implementation, see Section 18.1.2, "How to View all Cluster Topologies".

To view Oracle Coherence cluster topologies:

1. In the left pane, click the Domain node, where Domain refers to the name of your Oracle Event Processing domain.

2. In the right pane, click the Coherence tab.

3. In the right pane, click the Topology tab.
The Topology tab appears as Figure 18-10 shows.

Figure 18-10 Oracle Coherence Cluster Topology Tab

This tab shows all cluster groups that the Oracle Coherence clustering implementation manages.

For information on the various tools along the top of the topology canvas, see Section 18.3, "Managing the Cluster Topology Diagram".

4. To view the properties for a given group, click on the group in the Group List.

5. To view the properties for a given server instance, click on the server instance in the Group List.

18.2.2 How to Monitor Nodes in an Oracle Coherence Cluster

Using Oracle Event Processing Visualizer, you can compare a combination of properties for any and all nodes in an Oracle Coherence cluster. For a selected node in an Oracle Coherence cluster, you can view a select list of properties.

Once you have determined the root cause of a problem, you can tune Oracle Coherence parameters to correct the problem. For more information, see Section 18.2.4, "How to Tune Oracle Coherence".

To monitor nodes in an Oracle Coherence cluster:

1. In the left pane, click the Domain node, where Domain refers to the name of your Oracle Event Processing domain.

2. In the right pane, click the Coherence tab.

3. In the right pane, click the Multi-Nodes Monitor tab.
The Multi-Nodes Monitor tab appears as Figure 18-1 shows.

Figure 18-11 Multi-Nodes Monitor Tab

4. Use the Multi-Nodes Monitor tab to customize the group table:

- To change the order of columns, click on the column name in the cache chart and drag left or right.

- To change the sort order of a column, click the triangle to the right of the column name in the cache chart.

5. Use the Multi-Nodes Monitor tab to compare any combination of the properties that Table 18-1 lists for any nodes in an Oracle Coherence cluster:

- Expand a group and check one or more nodes.

- Drag a property from the Drag Property to Watch area to either graph to watch that property or, select a property and click Add to Left or Add to Right.
You may specify at most one property per graph.

- A line is drawn for each selected node. The legend below the graph distinguishes graph data for each selected node by color.

- To watch a different property, drag a new property and drop it onto the graph or, select a new property and click Add to Left or Add to Right.

- To change the scale of a graph, drag the slider next to the vertical axis.

Table 18-1 Properties You Can Watch on the Multi-Nodes Monitor Tab

Property

Description

Memory Available

The total amount of free memory (in MB) for the selected node.

Memory Max

The total amount of memory available (in MB) for the selected node.

Packets Sent

The total number of Oracle Coherence packets sent by the selected node.

Packets Received

The total number of Oracle Coherence packets received by the selected node.

Buffer Receive Size

The total number of Oracle Coherence received packets that the selected node can buffer.

Buffer Publish Size

The total number of Oracle Coherence published packets that the selected node can buffer.

6. To view more details for a particular node, click the Node Detail View tab.
The Node Detail View tab appears as Figure 18-12 shows.

Figure 18-12 Node Detail View Tab

7. Use the Node Detail View tab to compare the properties that Table 18-2 lists for a selected node:

- Select a node from the Nodes pull-down menu.
The properties for the selected node are shown in the Nodes Properties list.

- A line is drawn for the selected node.

- To change the scale of a graph, drag the slider next to the vertical axis.

Table 18-2 Properties You Can Watch on the Node Detail View Tab

Property

Description

Memory Available

The total amount of free memory (in MB) for the selected node.

Memory Max

The total amount of memory available (in MB) for the selected node.

Packets Sent

The total number of Oracle Coherence packets sent by the selected node.

Packets Received

The total number of Oracle Coherence packets received by the selected node.

18.2.3 How to Monitor an Oracle Coherence Cache

Using Oracle Event Processing Visualizer, you can monitor a wide variety of Oracle Coherence cache parameters and graphically compare parameter values to locate and diagnose performance and operational problems.

Once you have determined the root cause of a problem, you can tune Oracle Coherence parameters to correct the problem. For more information, see Section 18.2.4, "How to Tune Oracle Coherence".

To monitor an Oracle Coherence Cache:

1. In the left pane, click the Domain node, where Domain refers to the name of your Oracle Event Processing domain.

2. In the right pane, click the Coherence tab.

3. In the right pane, click the Cache Chart tab.
The Multi-Nodes Monitor tab appears as Figure 18-1 shows.

Figure 18-13 Cache Chart Tab

4. Use the Cache Chart tab to view any combination of the columns that Table 18-3 lists for one or more selected caches:

- Check one or more caches in the cache chart.

- To add a column to the cache chart, check the column in the Columns list.

- To remove a column from the cache chart, uncheck the column in the Columns list.

- To change the order of columns, click on the column name in the cache chart and drag left or right.

- To change the sort order of a column, click the triangle to the right of the column name in the cache chart.

Table 18-3 Columns and Properties for the Cache Chart Tab

Property

Description

Cache Name

The name of the cache.

# of Objects

The total number of objects in the selected cache.

Cache Hits

The total number times an Oracle Coherence cache client has accessed the selected cache.

Cache Misses

The total number times an Oracle Coherence cache client has accessed the selected cache and failed to find the desired object.

Cache Prunes

The total number times Oracle Coherence has reached its maximum size and had to delete some objects to return to a configured smaller size for the selected cache.

Store Writes

The total number of times Oracle Coherence has written to the selected cache's backing store.

Store Reads

The total number of times Oracle Coherence has read from the selected cache's backing store.

Node Id

The node identifier for the selected cache.

Store Failures

The total number of times the selected cache's backing store has failed to service an Oracle Coherence Store Write or Store Read.

Average Hit Millis

The average time (in milliseconds) taken by Oracle Coherence to find an object in the selected cache.

Average Get Millis

The average time (in milliseconds) taken by Oracle Coherence to retrieve an object from the selected cache.

Average Miss Millis

The average time (in milliseconds) taken by Oracle Coherence to determine that an object does not exist in the selected cache.

Average Put Millis

The average time (in milliseconds) taken by Oracle Coherence to add a new object to the selected cache.

Cache Hits Millis

The total time (in milliseconds) taken by Oracle Coherence to find an object in the selected cache.

Cache Misses Millis

The total time (in milliseconds) taken by Oracle Coherence to determine that an object does not exist in the selected cache.

Cache Prunes Millis

The total time (in milliseconds) taken by Oracle Coherence to delete some objects from the selected cache to return to a configured smaller size after having reached its maximum size.

Store Read Millis

The total time (in milliseconds) taken by Oracle Coherence to read from the selected cache's backing store.

Store Write Millis

The total time (in milliseconds) taken by Oracle Coherence to write to the selected cache's backing store.

Total Gets Millis

The total time (in milliseconds) taken by Oracle Coherence to retrieve objects from the selected cache.

Total Puts Millis

The total time (in milliseconds) taken by Oracle Coherence to add new objects to the selected cache.

5. Use the Cache Chart tab to compare any combination of the properties that Table 18-3 lists for one or more selected caches:

- Check one or more caches in the cache chart.

- Drag a property from the Drag Property to Watch area to either graph to watch that property or, select the property and click Add to Left or Add to Right.
You may specify at most one property per graph.

- A line is drawn for each selected cache. The legend below the graph distinguishes graph data for each selected cache by color.

- To watch a different property, drag the new property and drop it onto the graph or, select a different property and click Add to Left or Add to Right.

- To change the scale of a graph, drag the slider next to the vertical axis.

18.2.4 How to Tune Oracle Coherence

Using Oracle Event Processing Visualizer, you can view and modify a variety of Oracle Coherence parameters to fine tune Oracle Coherence performance.

Note:

Not all Oracle Coherence parameters can be modified. For more information, refer to your Oracle Coherence documentation.

To determine the root cause of a problem, you can monitor Oracle Coherence parameters. For more information, see:

- Section 18.2.2, "How to Monitor Nodes in an Oracle Coherence Cluster"

- Section 18.2.3, "How to Monitor an Oracle Coherence Cache".

To tune Oracle Coherence:

1. In the left pane, click the Domain node, where Domain refers to the name of your Oracle Event Processing domain.

2. In the right pane, click the Coherence tab.

3. In the right pane, click the Tuning tab.
The Tuning tab appears as Figure 18-14 shows.

Figure 18-14 Tuning Tab: Cache Tuning

4. To tune parameters and invoke operations for caches, select the Cache Tuning accordion tab and select a cache as Figure 18-14 shows.
Table 18-4 lists the properties you can view and tune for the selected cache. All properties are based on Oracle Coherence http://download.oracle.com/otn_hosted_doc/coherence/340/com/tangosol/net/management/Registry.html.

Table 18-4 Cache Tuning: Properties

Property

Description

Cache Name

The name of the selected cache (read-only).

Service

The service associated with this cache (read-only).

Batch Factor

The BatchFactor attribute is used to calculate the `soft-ripe` time for write-behind queue entries. A queue entry is considered to be `ripe` for a write operation if it has been in the write-behind queue for no less than the QueueDelay interval. The `soft-ripe` time is the point in time prior to the actual `ripe` time after which an entry will be included in a batched asynchronous write operation to the CacheStore (along with all other `ripe` and `soft-ripe` entries). This attribute is only applicable if asynchronous writes are enabled (that is, the value of the QueueDelay attribute is greater than zero) and the CacheStore implements the storeAll() method. The value of the element is expressed as a percentage of the QueueDelay interval.

Valid values are doubles in the interval [0.0, 1.0]..

Queue Delay (Milliseconds)

The number of seconds that an entry added to a write-behind queue will sit in the queue before being stored via a CacheStore. Applicable only for WRITE-BEHIND persistence type.

Expiry Delay (Milliseconds)

The number of milliseconds that the MBeanServer will keep a remote model snapshot before refreshing.

Flush Delay (Milliseconds)

The number of milliseconds between cache flushes. Value of zero indicates that the cache will never flush.

Refresh Factor

The RefreshFactor attribute is used to calculate the `soft-expiration` time for cache entries. Soft-expiration is the point in time prior to the actual expiration after which any access request for an entry will schedule an asynchronous load request for the entry. This attribute is only applicable for a ReadWriteBackingMap which has an internal LocalCache with scheduled automatic expiration. The value of this element is expressed as a percentage of the internal LocalCache expiration interval.

Valid values are doubles in the interval[0.0, 1.0]. If zero, refresh-ahead scheduling will be disabled.

Requeue Threshold

The maximum size of the write-behind queue for which failed CacheStore write operations are requeued. If zero, the write-behind requeueing will be disabled. Applicable only for WRITE-BEHIND persistence type.

High Units

The limit of the cache size measured in units. The cache will prune itself automatically once it reaches its maximum unit level. This is often referred to as the `high water mark` of the cache.

Low Units

The number of units to which the cache will shrink when it prunes. This is often referred to as a `low water mark` of the cache.

To apply changes, click the Save button.

To discard changes, click the Cancel button.

Table 18-5 lists the operations you can invoke for the selected cache.

Table 18-5 Cache Tuning: Operations

Operation

Description

Reset Statistics

Reset the cache statistics.

5. To tune parameters and invoke operations for cluster nodes, select the Node Tuning accordion tab and select a node as Figure 18-15 shows.

Figure 18-15 Tuning Tab: Node Tuning

Table 18-4 lists the properties you can view and tune for the selected cache. All properties are based on Oracle Coherence http://download.oracle.com/otn_hosted_doc/coherence/340/com/tangosol/net/management/Registry.html.

Table 18-6 Node Tuning: Properties

Property

Description

Node Name

The name of the selected node (read-only).

Buffer Publish Size

The buffer size of the unicast datagram socket used by the Publisher, measured in the number of packets.

Changing this value at runtime is an inherently unsafe operation that will pause all network communications and may result in the termination of all cluster services.

Buffer Receive Size

The buffer size of the unicast datagram socket used by the Receiver, measured in the number of packets.

Changing this value at runtime is an inherently unsafe operation that will pause all network communications and may result in the termination of all cluster services.

Burst Count

The maximum number of packets to send without pausing. Anything less than one (for example, zero) means no limit.

Burst Delay (Milliseconds)

The number of milliseconds to pause between bursts. Anything less than one (for example, zero) is treated as one millisecond.

Logging Level

Specifies which logged messages will be output to the log destination.

Valid values are:

- 0 only output without a logging severity level specified will be logged

- 1 all the above plus errors

- 2 all the above plus warnings

- 3 all the above plus informational messages

- 4..9 all the above plus internal debugging messages (the higher the number, the more the messages)

- -1 no messages

Logging Format

Specifies how messages will be formatted before being passed to the log destination.

The value of the message-format element is static text with the following replaceable parameters:

- {date} the date/time format (to a millisecond) at which the message was logged

- {version} the Oracle Coherence exact version and build details

- {level} the logging severity level of the message

- {thread} the thread name that logged the message

- {member} the cluster member id (if the cluster is currently running)

- {text} the text of the message

Logging Limit

The maximum number of characters that the logger daemon will process from the message queue before discarding all remaining messages in the queue. Valid values are integers in the range [0...]. Zero implies no limit.

Multicast Threshold

The percentage (0 to 100) of the servers in the cluster that a packet will be sent to, above which the packet will be multicasted and below which it will be unicasted.

Resend Delay (Milliseconds)

The minimum number of milliseconds that a packet will remain queued in the Publisher`s re-send queue before it is resent to the recipient(s) if the packet has not been acknowledged. Setting this value too low can overflow the network with unnecessary repetitions. Setting the value too high can increase the overall latency by delaying the re-sends of dropped packets. Additionally, change of this value may need to be accompanied by a change in SendAckDelay value.

Send Ack Delay (Milliseconds)

The minimum number of milliseconds between the queueing of an Ack packet and the sending of the same. This value should be not more then a half of the ResendDelay value.

Traffic Jam Count

The maximum total number of packets in the send and resend queues that forces the publisher to pause client threads. Zero means no limit.

Traffic Jam Delay (Milliseconds)

The number of milliseconds to pause client threads when a traffic jam condition has been reached. Anything less than one (for example, zero) is treated as one millisecond.

To apply changes, click the Save button.

To discard changes, click the Cancel button.

Table 18-5 lists the operations you can invoke for the selected node.

Table 18-7 Node Tuning: Operations

Operation

Description

Reset Statistics

Reset the cluster node statistics.

6. To tune parameters and invoke operations for nodes, select the Node Tuning accordion tab and select a node as Figure 18-15 shows.

Figure 18-16 Tuning Tab: Service Tuning

Table 18-4 the properties you can view and tune for the selected cache. All properties are based on Oracle Coherence http://download.oracle.com/otn_hosted_doc/coherence/340/com/tangosol/net/management/Registry.html.

Table 18-8 Service Tuning: Properties

Property

Description

Service Name

The name of the selected service (read-only).

Request Timeout (Millis)

The default timeout value in milliseconds for requests that can be timed-out (for example, implement the com.tangosol.net.PriorityTask interface), but do not explicitly specify the request timeout value.

Task Hung Threshold (Millis)

The amount of time in milliseconds that a task can execute before it is considered hung. Note that a posted task that has not yet started is never considered as hung.

Task Timeout (Millis)

The default timeout value in milliseconds for tasks that can be timed-out (for example, implement the com.tangosol.net.PriorityTask interface), but do not explicitly specify the task execution timeout value.

Thread Count

The number of threads in the service thread pool.

To apply changes, click the Save button.

To discard changes, click the Cancel button.

Table 18-5 lists the operations you can invoke for the selected service.

Table 18-9 Service Tuning: Operations

Operation

Description

resetStatistics

Reset the service statistics.

18.3 Managing the Cluster Topology Diagram

This section describes the various tools along the top of the Topology canvas as Figure 18-17 shows.

Figure 18-17 Cluster Topology Tools

You use these tools to manage the topology diagram of your cluster topology.

18.3.1 Choose Layout

Use the Choose Layout pull-down menu to select alternate ways of distributing cluster groups. You can choose any of:

- top-down

- organic

- hierarchic

- orthogonal

18.3.2 Show All Groups

Check the Show All Groups option to show all the cluster topology groups listed on the Cluster Groups/Server tab including the AllDomainMembers group and the per-server groups.

This option is unchecked by default to reduce clutter on the Cluster Topology tab and to allow you to focus on the most important groups.

18.3.3 Zoom

Use the Zoom slider to increase or decrease the zoom level. This is an alternative to using the Zoom In and Zoom Out buttons (see Section 18.3.5, "Zoom In and Zoom Out").

18.3.4 Fit Content

Click the Fit Content button to adjust the zoom level automatically to make all of the diagram visible in the current browser window.

18.3.5 Zoom In and Zoom Out

Click the Zoom In and Zoom Out buttons to change the zoom level. This is an alternative to using the Zoom slider (see Section 18.3.3, "Zoom").

18.3.6 Toggle Properties

Click the Toggle Properties button to alternately hide and show the properties table on the right.

19 Managing Oracle Event Processing Server Logs

This chapter describes how you can use Oracle Event Processing Visualizer to view and configure the Oracle Event Processing server logging service and component loggers.

This chapter includes the following sections:

- Section 19.1, "Configuring Logs"

- Section 19.2, "Viewing Logs"

For more information, see Section 9.11, "Log Management".

19.1 Configuring Logs

This section describes:

- Section 19.1.1, "How to Configure the Oracle Event Processing Server Logging Service"

- Section 19.1.2, "How to Configure a Component Logger"

19.1.1 How to Configure the Oracle Event Processing Server Logging Service

Using the Oracle Event Processing Visualizer, you can configure the logging system of a selected Oracle Event Processing server. By default, this logging configuration applies to all components.

To configure component-specific logging options, see Section 19.1.2, "How to Configure a Component Logger".

To configure the Oracle Event Processing server logging service:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the Logging tab.

3. Click the Logging Services tab.
The Logging Services tab appears as Figure 19-1 shows.

Figure 19-1 Logging Services Tab

4. Click Edit.

5. Edit the dialog as Table 19-1 describes.

Table 19-1 Logging Services Options

Attribute

Description

Logging Service Name

Specify the name of the logging service as the Oracle Event Processing server config.xml file specifies.

Logger Severity

Specify the default log severity at which Oracle Event Processing server logs messages.

Limited By Number Of Files

Specify whether or not to keep old log files indefinitely:

- true: keep only the last 7 log files.

- false: keep all log files.

Rotation Type

Specify when Oracle Event Processing server should close the existing log file and open a new one:

- Size: Oracle Event Processing server closes the existing log file when it reaches the size (in KB) you enter in the Rotation Size field.

- Time: Oracle Event Processing server closes the existing log file at the time you enter in the numeric entry field below the Rotation Type pull-down menu in k:mm format, where k is the hour specified in 24 hour notation and mm is the minutes. Default-Value: 00:00.

- None: Oracle Event Processing server never closes the existing log file and allows it to grow to an unlimited size.

Rotation Size

When you specify Rotation Type as Size, enter the maximum log file size in KB.

Base Log File Name

The name of the base log file.

Default: server.log.

Rotate Log On Startup

Specify whether or not Oracle Event Processing server closes the existing log file and creates a new one each time the Oracle Event Processing server starts up:

- true: Oracle Event Processing server closes the existing log file and creates a new one each time the Oracle Event Processing server starts up.

- false: Oracle Event Processing server does not close the existing log file each time the Oracle Event Processing server starts up.

Log File Severity

Specify the default log file severity. Oracle Event Processing server (and, by default, all components), log messages at this severity:

- Emergency

- Alert

- Critical

- Error

- Warning

- Notice

- Info

- Debug

- Trace

6. Click the Save button to commit your changes.

19.1.2 How to Configure a Component Logger

Using the Oracle Event Processing Visualizer, you can configure the logging properties of a selected component. Table 19-2 lists the components that are configured to log at the Notice log level, by default.

This section describes how:

- "To add a component logger:"

- "To change the logging level of a component:"

- "To delete a component logger:"

To configure logging properties that apply to all components, see Section 19.1.1, "How to Configure the Oracle Event Processing Server Logging Service".

To add a component logger:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the Logging tab.

3. Click the Component Log Setting tab.
The Component Log Setting tab appears as Figure 19-2 show.

Figure 19-2 Component Log Setting Tab

4. Click Add.

5. Enter the name of the component in the Name field.
You can choose any of the following:

- Component name: a component name constant exactly as Table 19-2 lists.

Table 19-2 Logging Component Name Constants

Component Name

Description

Adapters

Applies to log messages from adapter instances running on the Oracle Event Processing server.

Cache

Applies to log messages from caching systems and cache instances running on the Oracle Event Processing server.

Channel

Applies to log messages from channels running on the Oracle Event Processing server.

CQLProcessor

Applies to log messages from Oracle CQL processors running on the Oracle Event Processing server.

CQLServer

Applies to log messages from the CQLEngine, which is at the core of each CQLProcessor.

CQLServerTrace

Applies to log messages from the CQLEngine, which is at the core of each CQLProcessor

EplProcessor

Applies to log messages from EPL processors running on the Oracle Event Processing server.

Ede

Applies to log messages from the Event-Driven Environment, the Oracle Event Processing server event-dispatching infrastructure.

EventTrace

When set to Info or Debug, allows you to trace events as they flow through the EPN for all applications. You can dynamically change the severity of this log key using Oracle Event Processing Visualizer.

At the Info severity, you see log messages like this (although likely displayed on one line):

<May 26, 2009 5:53:49 PM PDT> <Info> <EventTrace> <BEA-000000>
<Application [helloworld], Stage [helloworldOutputChannel]
received insert event>

At the Debug severity, the log messages include details of the event:

<May 26, 2009 6:02:34 PM PDT> <Debug> <EventTrace> <BEA-000000>
<Application [helloworld], Stage [helloworldOutputChannel]
received insert event [HelloWorldEvent: HelloWorld - the
current time is: 6:02:34 PM]>

Lifecycle

Applies to log messages from Oracle Event Processing server and application lifecycle operations.

Management

Applies to log messages from Oracle Event Processing server general JMX-related management API operations.

Monitor

Applies to log messages from the Oracle Event Processing server monitoring service.

Recplay

Applies to log messages from Oracle Event Processing server event recording and playback operations.

Spring

Applies to log messages from Spring container operations.

Stream

Applies to log messages from stream instances running on the Oracle Event Processing server.

- Application name: the module name of any Oracle Event Processing server or user-defined application. For example: sample.HelloWorld.

- Package name: the name of any Oracle Event Processing server or user-supplied Java package. For example: com.bea.wlevs.ede.
For more information on Oracle Event Processing server packages, see the Oracle Fusion Middleware Java API Reference for Oracle Event Processing.

- Class name: the fully qualified name of any Oracle Event Processing server or user-defined class. For example: com.bea.wlevs.cep.core.EPRuntimeImpl.
For more information on Oracle Event Processing server classes, see the Oracle Fusion Middleware Java API Reference for Oracle Event Processing.

6. Select the severity level from the Level drop-down menu:

- Emergency

- Alert

- Critical

- Error

- Warning

- Notice

- Info

- Debug

- Trace

7. Click Save.
The component and the severity level is displayed in the table.

To change the logging level of a component:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the Logging tab.

3. Click the Component Log Setting tab.
The Component Log Setting tab appears as Figure 19-3 show.

Figure 19-3 Component Log Setting Tab

4. Select the component entry in the table.

5. Click Edit.

6. Select the severity level from the Level drop-down menu:

- Emergency

- Alert

- Critical

- Error

- Warning

- Notice

- Info

- Debug

- Trace

7. Click Save.
The new severity level is displayed in the table.

To delete a component logger:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the Logging tab.

3. Click the Component Log Setting tab.
The Component Log Setting tab appears as Figure 19-4 show.

Figure 19-4 Component Log Setting Tab

4. Select the component entry in the table.

5. Click Delete.
A confirmation dialog appears as Figure 19-5 shows.

Figure 19-5 Component Log Configuration Delete Confirmation

6. Click Yes.
The component logger is removed from the table.

19.2 Viewing Logs

This section describes:

- Section 19.2.1, "How to Query Logs"

- Section 19.2.2, "How to View Console Output"

19.2.1 How to Query Logs

Using the Oracle Event Processing Visualizer, you can run queries on the logs of a selected Oracle Event Processing server. The Query Logs feature allows you to view the information in the selected log files.

To query logs:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. Click Services and then click Log Query.
The Log Query screen is displayed, as shown in Figure 19-6.

Figure 19-6 Log Query Screen

3. Select the following options in the Log Query screen:

- LogFile: Select the log file you want to query from the drop-down.

- Severity: Select the severity of the log file that you selected in the LogFile drop-down.

- MaxCount: Enter the maximum count of rows of log you wish to view for the selected log file.

- StartTime: Select the time when the query should start running.

- EndTime: Select the time when the query should stop.

4. Click Start Query.
All the log messages that match your query criteria for the selected log file of the selected Oracle Event Processing Server are displayed in the Logs pane, as shown in Figure 19-7.

Figure 19-7 Log Query Screen - Logs Displayed

5. If more messages are returned than can be displayed in the Logs pane, the Previous and Next buttons activate. Click the Previous and Next buttons to page through the messages.

19.2.2 How to View Console Output

Using the Oracle Event Processing Visualizer, you can view the console output of a selected Oracle Event Processing server.

To view console output:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. Click Services and then click Console Output.
The Console Output screen is displayed, as shown in Figure 19-8.

Figure 19-8 Sample Console Output for HelloWorld Application

3. Click the Clean Text button to clear the text in the Console Output window.

4. Click the Pause button to pause the output of console messages.

5. Click the Resume button to resume the output of console messages.

Part IV

Security Tasks

Part IV contains the following chapters:

- Chapter 20, "Overview of Security Tasks"

- Chapter 21, "Managing Users"

- Chapter 22, "Managing Groups"

- Chapter 23, "Managing Roles"

- Chapter 24, "Managing HTTP Publish-Subscribe Server Security"

- Chapter 25, "Managing SSL"

20 Overview of Security Tasks

This chapter introduces security tasks you can perform with Oracle Event Processing Visualizer, including managing users, groups, and roles, as well as managing HTTP publish-subscribe server channel security and SSL.

This chapter includes the following sections:

- Section 20.1, "User, Group, and Role Management"

- Section 20.2, "HTTP Publish-Subscribe Server Channel Security Management"

- Section 20.3, "SSL Management"

For more information, see "Configuring Security for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

20.1 User, Group, and Role Management

Oracle Event Processing uses role-based authorization control to secure the Oracle Event Processing Visualizer and the wlevs.Admin command-line utility. There are a variety of default out-of-the-box security groups. You can add users to different groups to give them the different roles.

Administrators who use Oracle Event Processing Visualizer, wlevs.Admin, or any custom administration application that uses JMX to connect to an Oracle Event Processing instance use role-based authorization to gain access.

You can also use role-based authorization to control access to the HTTP publish-subscribe server.

There are two types of role:

- Application roles: application roles grant users the permission to access various Oracle CQL applications deployed to the Oracle Event Processing server. You can create application roles and associate them with the task roles that Oracle Event Processing provides.
By default, administrator users can access any application and non-administration users cannot access any applications. Before a none-administration user can access an application, an administration user must grant the user the associated application role.

- Task roles: task roles grant users the permission to perform various tasks with the applications their application role authorizes them to access. Oracle Event Processing provides the default task roles that Table 20-1 describes.

Users that successfully authenticate themselves when using Oracle Event Processing Visualizer or wlevs.Admin are assigned roles based on their group membership, and then subsequent access to administrative functions is restricted according to the roles held by the user. Anonymous users (non-authenticated users) will not have any access to the Oracle Event Processing Visualizer or wlevs.Admin.

When an administrator uses the Configuration Wizard to create a new domain, they enter an administrator user that will be part of the wlevsAdministrators group. By default, this information is stored in a file-based provider filestore. The password is hashed using the SHA-256 algorithm. The default administrator user is named wlevs with password wlevs.

Table 20-1 describes the default Oracle Event Processing task roles available right after the creation of a new domain, as well as the name of the groups that are assigned to these roles.

Table 20-1 Default Oracle Event Processing Task Roles and Groups

Task Role

Group

Privileges

Admin

wlevsAdministrators

Has all privileges of all the preceding roles, as well as permission to:

- Create users and groups

- Configure HTTP publish-subscribe security

- Change the system configuration, such as Jetty, work manager, and so on.

ApplicationAdmin

wlevsApplicationAdmins

Has all Operator privileges as well as permission to update the configuration of any deployed application.

BusinessUser

wlevsBusinessUsers

Has all Operator privileges as well as permission to update the Oracle CQL and EPL rules associated with the processor of a deployed application.

Deployer

wlevsDeployers

Has all Operator privileges as well as permission to deploy, undeploy, update, suspend, and resume any deployed application.

Monitor

wlevsMonitors

Has all Operator privileges as well as permission to enable/disable diagnostic functions, such as creating a diagnostic profile and recording events (then playing them back.)

Operator

wlevsOperators

Has read-only access to all server resources, services, and deployed applications.

Once the domain has been created, the administrator can use Oracle Event Processing Visualizer to create a group and associate it with one or more roles: each role grants access to an application. When you assign a user to a group, the roles you associate with the group give the user the privileges to access those applications.

Using Oracle Event Processing Visualizer, you can:

- Chapter 21, "Managing Users"

- Chapter 22, "Managing Groups"

- Chapter 23, "Managing Roles"

20.2 HTTP Publish-Subscribe Server Channel Security Management

Oracle Event Processing provides an HTTP Publish-Subscribe Server (HTTP pub-sub server): a mechanism whereby Web clients subscribe to channels (similar to a topic in JMS) and then publish messages to these channels using asynchronous messages over HTTP and subscribe to these channels to receive messages as they become available.

Using Oracle Event Processing Visualizer, you can specify which users can access HTTP publish-subscribe server channels.

For more information, see:

- Chapter 24, "Managing HTTP Publish-Subscribe Server Security"

- "Configuring HTTP Publish-Subscribe for Oracle Event Processing" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

20.3 SSL Management

Oracle Event Processing provides one-way Secure Sockets Layer (SSL) to secure network traffic between Oracle Event Processing Visualizer and Oracle Event Processing server instances, between the Oracle Event Processing server instances of a multi-server domain, and between the wlevs.Admin command-line utility and Oracle Event Processing server instances.

You configure SSL in the Oracle Event Processing server config.xml file. By default, the Configuration Wizard creates the config.xml file in the ORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername/config directory, where ORACLE_CEP_HOME refers to the Oracle Event Processing installation directory (such as d:/oracle_cep), DOMAIN_DIR refers to the domain directory (such as my_domain), and servername refers to the server instance directory (such as server1).

For more information, see:

- Chapter 25, "Managing SSL"

- "SSL" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing

21 Managing Users

This chapter describes how you can use Oracle Event Processing Visualizer to create, edit, and delete user accounts, including user passwords.

This chapter includes the following sections:

- Section 21.1, "Creating and Editing a User"

- Section 21.2, "Deleting a User"

For more information, see Section 20.1, "User, Group, and Role Management".

21.1 Creating and Editing a User

This section describes:

- Section 21.1.1, "How to Create a User"

- Section 21.1.2, "How to Edit a User"

- Section 21.1.3, "How to Change the Password of a User"

21.1.1 How to Create a User

Using the Oracle Event Processing Visualizer, you can create a user.

To create a user:

1. Log on to Oracle Event Processing Visualizer as a user with the Admin role.

2. In the left pane, click the Domain > Security node, where Domain refers to the name of your Oracle Event Processing domain.

3. In the right pane, click the User tab.
The User tab appears as Figure 21-1 shows.

Figure 21-1 User Tab

4. Click the New User button at the bottom of the right pane.
The Add a User panel appears as Figure 21-2 shows.

Figure 21-2 Add a User Panel

5. Configure the Add a User panel as Table 21-1 describes.

Table 21-1 Add a User Panel Attributes

Attribute

Description

Username

Enter the name of the user.

Password

Enter the password for this user.

Passwords must be at least 6 characters in length.

Confirm Password

Re-enter the password for this user.

Description

An optional description for this user.

Belong to groups

Check one or more groups to which the user belongs. The user inherits the privileges of the roles you assign to the groups.

You must assign a user to at least one group. For more information, see Chapter 22, "Managing Groups".

6. Click OK.
When the account has been successfully created, a confirmation message appears momentarily.

21.1.2 How to Edit a User

You can edit the configuration of existing users.

To edit user passwords, see Section 21.1.3, "How to Change the Password of a User".

To edit a user:

1. Log on to Oracle Event Processing Visualizer as a user with the Admin role.

2. In the left pane, click the Domain > Security node, where Domain refers to the name of your Oracle Event Processing domain.

3. In the right pane, click the User tab.

4. In the Users table, check the box to the left of the name of the user that you want to modify.

5. Click the Modify User button at the bottom of the right pane.
The Change User panel appears as Figure 21-3 shows.

Figure 21-3 Change User Panel

6. Configure the Change User panel as Table 21-2 describes.

Table 21-2 Change User Panel Attributes

Attribute

Description

Username

The name of the user. This is a read-only field.

Password

This field is blank and read-only. To modify the password, see Section 21.1.3, "How to Change the Password of a User".

Confirm Password

This field is blank and read-only. To modify the password, see Section 21.1.3, "How to Change the Password of a User".

Description

Modify the optional description for this user.

Belong to groups

Modify the groups to which the user belongs by checking or unchecking one or more of the groups displayed. Check one or more groups to which the user belongs. The user inherits the privileges of the roles you assign to the groups

You must assign a user to at least one group. For more information, see Chapter 22, "Managing Groups".

7. Click OK.

21.1.3 How to Change the Password of a User

You can change the password for existing users.

To change other user configuration options, see Section 21.1.2, "How to Edit a User".

To change the password of a user:

1. Log on to Oracle Event Processing Visualizer as a user with the Admin role.

2. In the left pane, click the Domain > Security node, where Domain refers to the name of your Oracle Event Processing domain.

3. In the right pane, click the User tab.

4. In the Users table, check the boxes to the left of the name of the users that you want to delete as Figure 21-6 shows.

Figure 21-4 Selecting a User

5. Click the Change Password button at the bottom of the right pane.
The Change Password panel appears as Figure 21-5 shows.

Figure 21-5 Change Password Panel

6. Configure the Change Password panel as Table 21-2 describes.

Table 21-3 Change User Panel Attributes

Attribute

Description

Username

The name of the user. This is a read-only field.

Password

This field is blank. To modify the password, see Section 21.1.3, "How to Change the Password of a User".

Confirm Password

This field is blank. To modify the password, see Section 21.1.3, "How to Change the Password of a User".

7. Click OK.
When the password has been successfully changed, a confirmation message appears momentarily.

21.2 Deleting a User

You can delete an existing user using the Oracle Event Processing Visualizer.

21.2.1 How to Delete a User

You can delete existing users. However, you cannot delete the default administrator user, which is the administrator user originally configured for the domain when it was created with the Configuration Wizard.

To delete a user:

1. Log on to Oracle Event Processing Visualizer as a user with the Admin role.

2. In the left pane, click the Domain > Security node, where Domain refers to the name of your Oracle Event Processing domain.

3. In the right pane, click the User tab.

4. In the Users table, check the boxes to the left of the name of the users that you want to delete as Figure 21-6 shows.

Figure 21-6 Selecting a User

5. Click the Delete User button at the bottom of the right pane.
A confirmation dialog appears as Figure 21-7 shows.

Figure 21-7 Delete User Dialog

6. Click Yes.
When the account has been successfully deleted, a confirmation message appears momentarily.

22 Managing Groups

This chapter describes how you can use Oracle Event Processing Visualizer to create, edit, and delete user groups, including editing group membership and mapping groups to roles.

This chapter includes the following sections:

- Section 22.1, "Creating and Editing a Group"

- Section 22.2, "Deleting a Group"

For more information, see Section 20.1, "User, Group, and Role Management".

22.1 Creating and Editing a Group

This section describes:

- Section 22.1.1, "How to Create a Group"

- Section 22.1.2, "How to Change the Roles to Which a Group Maps"

- Section 22.1.3, "How to Change the Groups to Which a User is Assigned"

22.1.1 How to Create a Group

Oracle Event Processing is configured by default with a set of groups that are in turn mapped to roles. See Section 20.1, "User, Group, and Role Management" for details.

This section describes how to create a new group.

To create a group:

1. Log on to Oracle Event Processing Visualizer as a user with the Admin role.

2. In the left pane, click the Domain > Security node, where Domain refers to the name of your Oracle Event Processing domain.

3. In the right pane, click the Group tab.
The Group tab appears as Figure 22-1 shows.

Figure 22-1 Group Tab

4. Click the New Group button at the bottom of the right pane.
The Add a Group panel appears as Figure 22-2 shows.

Figure 22-2 Add a Group Panel

5. Configure the Add a Group panel as Table 22-1 describes.

Table 22-1 Add a Group Panel Attributes

Attribute

Description

Group Name

Enter the name of the group.

Description

An optional description for this user.

Has roles

Check one or more roles to which the group maps. Each role grants access to an application.

You must select at least one role. For more information, see Chapter 23, "Managing Roles".

6. Click OK.
When the group has been successfully created, a confirmation message appears momentarily.

22.1.2 How to Change the Roles to Which a Group Maps

You can change existing groups, including the default groups, to change the roles they map to.

To change the roles to which a group maps:

1. Log on to Oracle Event Processing Visualizer as a user with the Admin role.

2. In the left pane, click the Domain > Security node, where Domain refers to the name of your Oracle Event Processing domain.

3. In the right pane, click the Group tab.

4. In the Group table, check the boxes to the left of the name of the groups that you want to modify as Figure 22-3 shows.

Figure 22-3 Selecting a Group

5. Click the Modify Group button at the bottom of the right pane.
The Change Group panel appears as Figure 22-2 shows.

Figure 22-4 Change Group Panel

6. Configure the Change Group panel as Table 22-1 describes.

Table 22-2 Change Group Panel Attributes

Attribute

Description

Group Name

The name of the group. This is a read-only field..

Description

An optional description for this user.

Has roles

Check one or more roles to which the group maps. Each role grants access to an application.

You must select at least one role. For more information, see Chapter 23, "Managing Roles".

7. Click OK.
When the group has been successfully modified, a confirmation message appears momentarily.

8. Optionally modify the description of the group.

9. Click OK.

22.1.3 How to Change the Groups to Which a User is Assigned

To change the groups to which a user is assigned, see Section 21.1.2, "How to Edit a User".

22.2 Deleting a Group

You can delete an existing group using the Oracle Event Processing Visualizer.

22.2.1 How to Delete a Group

Oracle Event Processing is configured by default with a set of groups that are in turn mapped to roles: you cannot delete the default groups. See Section 20.1, "User, Group, and Role Management" for details.

This section describes how to delete a group that you created.

To delete a group:

1. Log on to Oracle Event Processing Visualizer as a user with the Admin role.

2. In the left pane, click the Domain > Security node, where Domain refers to the name of your Oracle Event Processing domain.

3. In the right pane, click the Group tab.

4. In the Group table, check the boxes to the left of the name of the groups that you want to delete as Figure 22-5 shows.

Figure 22-5 Selecting a Group

5. Click the Delete Group button at the bottom of the right pane.
A confirmation dialog appears as Figure 22-6 shows.

Figure 22-6 Delete Group Dialog

6. Click Yes.
When the group has been successfully deleted, a confirmation message appears momentarily.

23 Managing Roles

This chapter describes how you can use Oracle Event Processing Visualizer to create and delete roles that associate permissions with user groups.

This chapter includes the following sections:

- Section 23.1, "Creating an Application Role"

- Section 23.2, "Deleting a Role"

For more information, see Section 20.1, "User, Group, and Role Management".

23.1 Creating an Application Role

You can create an application role using the Oracle Event Processing Visualizer.

23.1.1 How to Create an Application Role

Oracle Event Processing is configured by default with a set of task roles that are in turn mapped to groups. See Section 20.1, "User, Group, and Role Management" for details.

This section describes how to create a new application role.

To create an application role:

1. Log on to Oracle Event Processing Visualizer as a user with the Admin role.

2. In the left pane, click the Domain > Security node, where Domain refers to the name of your Oracle Event Processing domain.

3. In the right pane, click the Role tab.
The Role tab appears as Figure 23-1 shows.

Figure 23-1 Role Tab

4. Click the New Role button at the bottom of the right pane.
The Add Application Role panel appears as Figure 23-2 shows.

Figure 23-2 Add Application Role

5. Configure the Add Application Role panel as Table 23-1 describes.

Table 23-1 Add Application Role Panel Attributes

Attribute

Description

Role Name

Enter the name of the role.

Application Name

Select the radio button of the application you want to associate with this role from the list of all the currently running applications.

6. Click OK.
When the application role has been successfully created, a confirmation message appears momentarily.

23.2 Deleting a Role

You can delete an existing role using the Oracle Event Processing Visualizer.

23.2.1 How to Delete a Role

Oracle Event Processing is configured by default with a set of roles that are in turn mapped to groups: you cannot delete these default roles. See Section 20.1, "User, Group, and Role Management" for details.

This section describes how to delete a role that you created.

To delete a role:

1. Log on to Oracle Event Processing Visualizer as a user with the Admin role.

2. In the left pane, click the Domain > Security node, where Domain refers to the name of your Oracle Event Processing domain.

3. In the right pane, click the Role tab.

4. In the Role table, select the radio button to the left of the name of the role that you want to delete as Figure 23-3 shows.

Figure 23-3 Selecting a Role

5. Click the Delete Role button at the bottom of the right pane.
A confirmation dialog appears as Figure 23-4 shows.

Figure 23-4 Delete Role Dialog

6. Click Yes.
When the role has been successfully deleted, a confirmation message appears momentarily.

24 Managing HTTP Publish-Subscribe Server Security

This chapter describes how you can use Oracle Event Processing Visualizer to configure security for an HTTP publish-subscribe channel for use with event processing networks (EPNs).

This chapter includes the following section:

- Section 24.1, "Configuring Security for an HTTP Publish-Subscribe Channel"

For more information, see Section 20.2, "HTTP Publish-Subscribe Server Channel Security Management".

24.1 Configuring Security for an HTTP Publish-Subscribe Channel

You can configure security for an HTTP publish-subscribe channel using the Oracle Event Processing Visualizer.

24.1.1 How to Configure Security for an HTTP Publish-Subscribe Channel

Using Oracle Event Processing Visualizer, you can specify the roles that are allowed to publish to the HTTP publish-subscribe channels that are configured for the HTTP pub-sub server included in Oracle Event Processing.

To configure security for an HTTP publish-subscribe channel:

1. Log on to Oracle Event Processing Visualizer as a user with the Admin role.

2. In the left pane, click the Domain > Server > Services > Http Pub/Sub Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.
A table appears in the right pane with the list of HTTP pub-sub servers configured for Oracle Event Processing.

3. In the right pane, click the name of the HTTP pub-sub server in the table. The default server is called pubsub.

4. In the Channels table, click the name of the channel for which you want to configure security.

5. In the Publish Roles table, select the roles that are allowed to publish messages to this channel.
If you want to select more than one role, use the Ctrl key.

6. Click Modify Channel at the bottom of the pane.

25 Managing SSL

This chapter describes how you can use Oracle Event Processing Visualizer to view and edit SSL configuration for an Oracle Event Processing server.

This chapter includes the following sections:

- Section 25.1, "Viewing SSL Configuration"

- Section 25.2, "Editing SSL Configuration"

For more information, see Section 20.3, "SSL Management".

25.1 Viewing SSL Configuration

You can view Oracle Event Processing server SSL configuration using the Oracle Event Processing Visualizer.

25.1.1 How to View the SSL Configuration for an Oracle Event Processing Server

Using Oracle Event Processing Visualizer, you can view the SSL configuration for an Oracle Event Processing server.

To view the SSL configuration for an Oracle Event Processing server:

1. In the left pane, click the Domain > Server node, where Domain refers to the name of your Oracle Event Processing domain and Server refers to the name of the server instance.

2. In the right pane, click the SSL tab.

3. In the left table, click the SSL configuration you want to view as Figure 25-1 shows.

Figure 25-1 SSL Tab

The default configuration name is sslConfig.

4. View the SSL configuration options the right table displays.
Table 25-1 lists the SSL configuration options.

Table 25-1 SSL Options

Option

Description

Name

The name of the selected SSL configuration.

Key Store

The file path and name of the key store certificate file contains a self-signed certificate.

The file path is relative to the ORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername directory, where ORACLE_CEP_HOME refers to the Oracle Event Processing installation directory (such as d:/oracle_cep), DOMAIN_DIR refers to the domain directory (such as my_domain), and servername refers to the server instance directory (such as server1).

Key Store Pass

The key store password.

Key Store Alias

The key store alias.

Key Store Type

The key store type.

Key Manager Algorithm

The key manager algorithm.

SSL Protocol

The SSL protocol.

Trust Store

The file path and name of the key store certificate file contains a self-signed certificate.

The file path is relative to the ORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername directory, where ORACLE_CEP_HOME refers to the Oracle Event Processing installation directory (such as d:/oracle_cep), DOMAIN_DIR refers to the domain directory (such as my_domain), and servername refers to the server instance directory (such as server1).

Trust Store Pass

The trust store password.

Trust Store Alias

The trust store alias.

Trust Store Type

The trust store type.

Trust Manager Algorithm

The trust store algorithm.

Enforce Fips

Whether or not Oracle Event Processing server uses a Federal Information Processing Standards (FIPS)-certified pseudo-random number generator for SSL.

For more information, see "FIPS" in Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

Need Client Auth

Whether or not Oracle Event Processing server uses client authentication.

Secure Random Algorithm

The FIPS secure random algorithm, such as FIPS186PRNG.

Secure Random Provider

The FIPS secure random provider, such as com.rsa.jsafe.provider.JsafeJCE.

Cipher

The SSL ciphers.

25.2 Editing SSL Configuration

You can only view the SSL configuration of your Oracle Event Processing server using Oracle Event Processing Visualizer. To change the configuration, you must manually update the server's config.xml file.

For more information, see "Configuring SSL to Secure Network Traffic" in the Oracle Fusion Middleware Administrator's Guide for Oracle Event Processing.

A Oracle CQL Query Wizard Template Schema Reference

This appendix includes the XSD for the schema behind Oracle Continuous Query Language (CQL) query templates.

Example A-1 lists the XML schema document (XSD) you use when creating a template for use in the Oracle CQL Query Wizard.

For more information on creating a template, see Section 6.1.10, "How to Create an Oracle CQL Template for the Query Wizard".

Example A-1 wlevs_queryconstructor_config.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.bea.com/ns/wlevs/config/queryconstructor"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.bea.com/ns/wlevs/config/queryconstructor">

<!-- This is the first draft for the xsd used
by the query constructor feature of the visualizer. -->

<!-- The types of Operators supported by the query constructor-->
<xs:simpleType name="operatorTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="DStream" />
<xs:enumeration value="Filter" />
<xs:enumeration value="Intersect" />
<xs:enumeration value="IStream" />
<xs:enumeration value="Join" />
<xs:enumeration value="Minus" />
<xs:enumeration value="Output" />
<xs:enumeration value="Pattern" />
<xs:enumeration value="RStream" />
<xs:enumeration value="Select" />
<xs:enumeration value="Source" />
<xs:enumeration value="Union" />
<xs:enumeration value="Window" />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="timeUnitTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="" />
<xs:enumeration value="nanoseconds" />
<xs:enumeration value="milliseconds" />
<xs:enumeration value="microseconds" />
<xs:enumeration value="seconds" />
<xs:enumeration value="minutes" />
<xs:enumeration value="hours" />
<xs:enumeration value="days" />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="windowTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="now" />
<xs:enumeration value="range-time" />
<xs:enumeration value="range-unbounded" />
<xs:enumeration value="row-time" />
<xs:enumeration value="rows" />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="viewOutputTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="Stream" />
<xs:enumeration value="Relation" />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="sourceTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="ExtRelation" />
<xs:enumeration value="Stream" />
<xs:enumeration value="Relation" />
<xs:enumeration value="View" />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="outputTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="View" />
<xs:enumeration value="Query" />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="patternSkipTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="DEFAULT" />
<xs:enumeration value="ALL MATCHES" />
</xs:restriction>
</xs:simpleType>

<!-- Outer element for all querys/views, root attribute points to the
Output operator's ID for this query-->
<xs:element name="Rule">
<xs:complexType>
<xs:sequence>
<xs:element name="Operator" type="operatorType"
minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="root" type="xs:integer" />
</xs:complexType>
</xs:element>

<!-- Each "box" in the query constructor GUI is an Operator element -->
<xs:complexType name="operatorType">
<xs:sequence>

<!-- Every operator has an associated CQL DDL -->
<xs:element name="cql-property" type="xs:string"
minOccurs="1" maxOccurs="1" />

<!-- The inputs to this operator. A source operator has 0 inputs,
all other operators have one or more inputs -->
<xs:element name="inputs" type="inputsType" minOccurs="0"
maxOccurs="1" />

<!-- Some operators might have an alias, e.g. source, pattern -->
<xs:element name="alias" type="xs:string" minOccurs="0"
maxOccurs="1" />

<!-- An operator may be any one of those defined in the operatorTypes enumeration -->
<xs:choice minOccurs="1" maxOccurs="1">
<xs:group ref="DStreamOperatorType" />
<xs:group ref="FilterOperatorType" />
<xs:group ref="IntersectOperatorType" />
<xs:group ref="IStreamOperatorType" />
<xs:group ref="JoinOperatorType" />
<xs:group ref="MinusOperatorType" />
<xs:group ref="OutputOperatorType" />
<xs:group ref="PatternOperatorType" />
<xs:group ref="RStreamOperatorType" />
<xs:group ref="SelectOperatorType" />
<xs:group ref="SourceOperatorType" />
<xs:group ref="UnionOperatorType" />
<xs:group ref="WindowOperatorType" />
</xs:choice>
</xs:sequence>

<!-- What type of operator is this -->
<xs:attribute name="type" type="operatorTypes" use="required" />

<!-- This xml document is a tree of operators, the ID is used as a unique
identifier to point to an operator.
The input tag holds an ID of an operator which is an input to 'this' operator.
-->
<xs:attribute name="ID" type="xs:integer" use="required" />

</xs:complexType>

<!-- The inputs to an operator. Only a source operator has 0 inputs -->
<xs:complexType name="inputsType">
<xs:sequence>
<xs:element name="input" type="xs:integer" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>

<!-- DStream operator structure -->
<xs:group name="DStreamOperatorType">
<xs:sequence>
<!-- there are no elements as of now in the DStream operator structure -->
</xs:sequence>
</xs:group>

<!-- Filter operator structure -->
<xs:group name="FilterOperatorType">
<xs:sequence>
<xs:element name="predicates" type="filterPredicatesType"
minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:group>

<xs:complexType name="filterPredicatesType">
<xs:sequence>
<xs:element name="predicate" type="xs:string" minOccurs="1"
maxOccurs="1" />
</xs:sequence>
</xs:complexType>

<!-- Intersect Operator structure -->
<xs:group name="IntersectOperatorType">
<xs:sequence>
<!-- there are no elements as of now in the Intersect operator structure -->
</xs:sequence>
</xs:group>

<!-- IStream operator structure -->
<xs:group name="IStreamOperatorType">
<xs:sequence>
<!-- there are no elements as of now in the IStream operator structure -->
</xs:sequence>
</xs:group>

<xs:group name="JoinOperatorType">
<xs:sequence>
<xs:element name="predicates" type="joinPredicatesType"
minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:group>

<xs:complexType name="joinPredicatesType">
<xs:sequence>
<xs:element name="predicate" type="xs:string" minOccurs="1"
maxOccurs="1" />
</xs:sequence>
</xs:complexType>

<!-- Intersect Operator structure -->
<xs:group name="MinusOperatorType">
<xs:sequence>
<!-- there are no elements as of now in the Minus operator structure -->
</xs:sequence>
</xs:group>

<!-- Output operator structure -->
<xs:group name="OutputOperatorType">
<xs:sequence>
<xs:element name="output-type" type="outputTypes" />
<xs:element name="output-name" type="xs:string" />
<xs:element name="view-schema-list" minOccurs="0"
maxOccurs="1" />
</xs:sequence>
</xs:group>

<xs:complexType name="viewSchemaList">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="view-attr">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="type" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>

<!-- Pattern operator structure -->
<xs:group name="PatternOperatorType">
<xs:sequence>
<xs:element name="pattern-skip" type="patternSkipTypes"
minOccurs="1" maxOccurs="1" />

<xs:element name="partition-by" minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="partition-attr"
type="xs:string" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="define-list" minOccurs="1"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="define-attr" type="xs:string"
minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="measures-list" minOccurs="1"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="measure-attr" type="xs:string"
minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="pattern-list" minOccurs="1"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="pattern-attr" type="xs:string"
minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="subsets" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="subset" type="subsetType"
minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="timer-event" minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="duration" type="xs:string" />
<xs:element name="multiple-duration"
type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>

<xs:complexType name="subsetType">
<xs:sequence>
<xs:element name="subset-name" type="xs:string" />
<xs:element name="corr-attr-name" type="xs:string" />
</xs:sequence>
</xs:complexType>

<!-- Rstream operator structure -->
<xs:group name="RStreamOperatorType">
<xs:sequence>
<!-- there are no elements as of now in the RStream operator structure -->
</xs:sequence>
</xs:group>

<!-- Select operator structure -->
<xs:group name="SelectOperatorType">
<xs:sequence>
<xs:element name="select-list" type="selectListType"
minOccurs="1" maxOccurs="1" />

<xs:element name="group-list" type="groupListType"
minOccurs="0" maxOccurs="1" />

<xs:element name="having-clause" type="xs:string"
minOccurs="0" maxOccurs="1" />

<xs:element name="order-by-list" minOccurs="0"
maxOccurs="1" />
</xs:sequence>
</xs:group>

<xs:complexType name="groupListType">
<xs:sequence>
<xs:element name="group-by" type="xs:string" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>

<xs:complexType name="orderByListType">
<xs:sequence>
<xs:element name="order-by-attr" type="orderByAttrType"
minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>

<xs:complexType name="orderByAttrType">
<xs:sequence>
<xs:element name="order-by-symbol" type="xs:string" />
<xs:element name="ascending" type="xs:boolean" />
<xs:element name="nulls-first" type="xs:boolean" />
</xs:sequence>
</xs:complexType>

<xs:complexType name="selectListType">
<xs:sequence>
<xs:element name="select-attr" type="selectAttrType"
minOccurs="1" maxOccurs="unbounded">

</xs:element>
</xs:sequence>
</xs:complexType>

<xs:complexType name="selectAttrType">
<xs:sequence>
<xs:element name="select-expression" type="xs:string" />
<xs:element name="alias" type="xs:string" />
</xs:sequence>
</xs:complexType>

<!-- Source operator structure -->
<xs:group name="SourceOperatorType">
<xs:sequence>
<!-- The name of this source in the CQL engine -->
<xs:element name="source-name" type="xs:string" />

<!-- Is this a 'View' / 'Stream' / 'Relation' -->
<xs:element name="source-type" type="sourceTypes" />

<!-- If this is a view, does it produce a 'Stream' or a 'Relation' -->
<xs:element name="view-output-type" type="viewOutputTypes"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:group>

<!-- Intersect Operator structure -->
<xs:group name="UnionOperatorType">
<xs:sequence>
<!-- Is this a union all statement? true/false -->
<xs:element name="union-all" type="xs:boolean" />
</xs:sequence>
</xs:group>

<!-- Window operator structure -->
<xs:group name="WindowOperatorType">
<xs:sequence>
<!-- what type of window is this -->
<xs:element name="type" type="windowTypes" />

<!-- only for partition windows -->
<xs:element name="partition-by" type="xs:string"
minOccurs="0" maxOccurs="1" />

<!-- required for all windows except "now" -->
<xs:element name="range-params" type="windowRangeParamsType"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:group>

<xs:complexType name="windowRangeParamsType">
<xs:sequence>
<xs:element name="timeSpecType" minOccurs="0" maxOccurs="1" />
<xs:element name="slideSpecType" minOccurs="0"
maxOccurs="1" />
<xs:element name="rows" type="xs:integer" minOccurs="0"
maxOccurs="1" />
</xs:sequence>
</xs:complexType>

<xs:complexType name="slideSpecType">
<xs:sequence>
<xs:element name="slidevalue" type="xs:integer" />
<xs:element name="slideunit" type="timeUnitTypes" />
</xs:sequence>
</xs:complexType>

<xs:complexType name="timeSpecType">
<xs:sequence>
<xs:element name="timevalue" type="xs:decimal" />
<xs:element name="timeunit" type="timeUnitTypes" />
</xs:sequence>
</xs:complexType>
</xs:schema>

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2014, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.