Skip Headers
Oracle® Complex Event Processing Administrator's Guide
11g Release 1 (11.1.1)

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

Go to previous page
Previous
Go to next page
Next
View PDF

1 Overview of Oracle CEP Server Administration

This section contains information on the following subjects:

1.1 Understanding Oracle CEP Servers and Domains

An Oracle CEP server consists of logically related resources and services to which you deploy Oracle CEP applications. Services include:

All the files that apply to a server are contained in a single server directory. The main configuration file for the server is called config.xml—this is where you configure the server's services and specify to which domain the server belongs. For more information, see Section 1.3.1, "Oracle CEP Server Configuration Files".

An Oracle CEP domain is the management unit of a set of one or more servers. There are two types of domain:

1.2 Understanding Oracle CEP Server Lifecycle

Figure 1-1 shows a state diagram for the Oracle CEP server lifecycle. In this diagram, the state names (STARTING, RUNNING, and SHUTTING_DOWN) correspond to the ServerRuntimeMBean method getState() return values. These states are specific to Oracle CEP; they are not OSGi bundle states.

Figure 1-1 Oracle CEP Server Lifecycle State Diagram

Description of Figure 1-1 follows
Description of "Figure 1-1 Oracle CEP Server Lifecycle State Diagram"

Note:

For information on Oracle CEP application lifecycle, see "Oracle CEP Application Lifecycle" in the Oracle CEP Developer's Guide for Eclipse.

This section describes the lifecycle of an application deployed to Oracle CEP and the sequence of com.bea.wlevs.ede.api API callbacks. The lifecycle description is broken down into actions that a user performs, including:

This information explains how Oracle CEP manages an application's lifecycle so that you can better use the lifecycle APIs in your application. For a description of these APIs (such as RunnableBean and SuspendableBean), see:

1.2.1 User Action: Start Oracle CEP Server

After you start the Oracle CEP server, it performs the following actions:

  1. Starts core engine bundles.

  2. Starts Oracle CEP bundles.

  3. Registers MBeans.

  4. Oracle CEP server state is now STARTING.

  5. Starts application bundles.

  6. Oracle CEP server state is now RUNNING.

1.2.2 User Action: Stop Oracle CEP Server

After you shutdown the Oracle CEP server, it performs the following actions:

  1. Oracle CEP server state is SHUTTING_DOWN.

  2. Unregister ServerRuntimeMBean.

    Oracle CEP server ceases to have a state.

  3. Shuts down Oracle CEP bundles.

  4. Shuts down application bundles.

  5. Shuts down core engine bundles.

1.3 Understanding Oracle CEP Server Configuration

Oracle CEP server configuration falls into two categories:

For each configuration category, you can perform the configuration task:

You configure the server statically by:

  1. Stopping the Oracle CEP server.

  2. Editing the Oracle CEP server config.xml file located in the server's domain directory

  3. Starting the Oracle CEP server.

There are some server configuration tasks that you can only perform statically, such as configuring Jetty.

There are some server configuration tasks that you can perform dynamically using management beans (MBeans). In this case you do not have to manually stop and start the server for the changes to take effect.

You can dynamically configure Oracle CEP servers and applications using Oracle CEP Visualizer, wlevs.Admin command line utility, or your own Java code using Oracle CEP standards-based interfaces that are fully compliant with JMX APIs (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/).

Typically, you statically configure an application when you initially create it, as described in Oracle CEP Developer's Guide for Eclipse. In particular, you configure the event processing network (EPN) of the application by creating the EPN assembly file, and configure individual components of the application (adapters, channels, and processors) by creating their configuration files.

After you deploy an application, you can dynamically change its configuration, as well as the configuration of its individual components, by manipulating the MBeans that the Oracle CEP server automatically creates for the application and its components. A typical task is to dynamically configure the Oracle CQL rules for the processors of a deployed application. You do this using Oracle CEP Visualizer, wlevs.Admin command-line utility, or JMX.

This section describes:

For more information, see:

1.3.1 Oracle CEP Server Configuration Files

By default, the Configuration Wizard creates domains in the ORACLE_CEP_HOME/user_projects/domains directory, where ORACLE_CEP_HOME refers to the Oracle CEP installation directory such as d:\oracle_cep.

For example, d:\oracle_cep\user_projects\domains\my_domain, where my_domain is the a domain directory. Each Oracle CEP server you create in this domain will have a subdirectory in my_domain such as c:\oracle_cep\user_projects\domains\my_domain\server1.

The following list describes the important files and directories of a server in a domain, relative to the server directory (such as c:\oracle_cep\user_projects\domains\my_domain\server1):

  • deployments.xml—XML file that contains the list of applications, packaged as OSGi bundles, that are currently deployed to the Oracle CEP instance of this domain. You never update this file manually to deploy applications, but rather, use the deployer tool.

  • startwlevs.cmd—Command file used to start an instance of Oracle CEP. The UNIX equivalent is called startwlevs.sh.

  • stopwlevs.cmd—Command file used to stop an instance of Oracle CEP. The UNIX equivalent is called stopwlevs.sh.

  • config/config.xml—XML file that describes the services that have been configured for the Oracle CEP instance. Services include logging, debugging, Jetty Web Service, and JDBC data sources.

    For more information, see Section 1.3.2, "Configuring an Oracle CEP Server by Manually Editing the config.xml File".

  • config/security*—Files that configure security for the domain.

  • config/atnstore.txt—File that lists the configured users and groups for this domain.

1.3.2 Configuring an Oracle CEP Server by Manually Editing the config.xml File

The most efficient, least error-prone way to configure an Oracle CEP server is to use one or more of the Oracle CEP administration tools as Section 1.4, "Understanding Oracle CEP Server Administration Tools" describes.

Optionally, you can perform Oracle CEP server configuration by manually editing the Oracle CEP server config.xml file. For more information on the location of the Oracle CEP server config.xml file, see Section 1.3.1, "Oracle CEP Server Configuration Files".

Caution:

If you update the config.xml file manually to change the configuration of an Oracle CEP server, you must restart the server for the change to take effect.

You can configure the following server objects and features using the config.xml file (the referenced sections describe the exact elements you must add or update):

Example 1-1 shows a sample config.xml, from the ORACLE_CEP_HOME/user_projects/domains/ocep_domain/defaultserver template domain, shows how to configure some of these services.

Example 1-1 Sample Oracle CEP Server config.xml File

<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2007 sp2 (http://www.altova.com)-->
<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">
   <netio>
      <name>NetIO</name>
      <port>9002</port>
   </netio>
   <netio>
      <name>sslNetIo</name>
      <ssl-config-bean-name>sslConfig</ssl-config-bean-name>
      <port>9003</port>
   </netio>
   <work-manager>
      <name>JettyWorkManager</name>
      <min-threads-constraint>5</min-threads-constraint>
      <max-threads-constraint>10</max-threads-constraint>
   </work-manager>
   <jetty>
      <name>JettyServer</name>
      <network-io-name>NetIO</network-io-name>
      <work-manager-name>JettyWorkManager</work-manager-name>
      <secure-network-io-name>sslNetIo</secure-network-io-name>
   </jetty>
   <rmi>
      <name>RMI</name>
      <http-service-name>JettyServer</http-service-name>
   </rmi>
   <jndi-context>
      <name>JNDI</name>
   </jndi-context>
   <exported-jndi-context>
      <name>exportedJndi</name>
      <rmi-service-name>RMI</rmi-service-name>
   </exported-jndi-context>
   <jmx>
      <rmi-service-name>RMI</rmi-service-name>
      <jndi-service-name>JNDI</jndi-service-name>
   </jmx>
   <ssl>
      <name>sslConfig</name>
      <key-store>./ssl/evsidentity.jks</key-store>
      <key-store-pass>
         <password>{Salted-3DES}j4XEtuXmmvEl4M/NInwq0A==</password>
      </key-store-pass>
      <key-store-alias>evsidentity</key-store-alias>
      <key-manager-algorithm>SunX509</key-manager-algorithm>
      <ssl-protocol>TLS</ssl-protocol>
      <enforce-fips>false</enforce-fips>
      <need-client-auth>false</need-client-auth>
   </ssl>
   <http-pubsub>
      <name>pubsub</name>
      <path>/pubsub</path>
      <pub-sub-bean>
         <server-config>
            <name>/pubsub</name>
            <supported-transport>
               <types>
                  <element>long-polling</element>
               </types>
            </supported-transport>
            <publish-without-connect-allowed>true</publish-without-connect-allowed>
         </server-config>
         <channels>
            <element>
               <channel-pattern>/evsmonitor</channel-pattern>
            </element>
            <element>
               <channel-pattern>/evsalert</channel-pattern>
            </element>
            <element>
               <channel-pattern>/evsdomainchange</channel-pattern>
            </element>
         </channels>
      </pub-sub-bean>
   </http-pubsub>
   <cluster>
      <server-name>productionServer</server-name>
   </cluster>
   <domain>
      <name>ocep_domain</name>
   </domain>

1.3.3 Configuration History Management

When you deploy an application to the Oracle CEP server, the Oracle CEP server creates a configuration history for the application. Any configuration changes you make to the application are recorded in this history. You can view and roll-back (undo) these changes using the Oracle CEP Visualizer or wlevs.Admin tool.

For more information, see:

1.4 Understanding Oracle CEP Server Administration Tools

This section describes the various Oracle CEP server administration tools that you can use to administer Oracle CEP servers, domains, and applications.

You can administer Oracle CEP servers, domains, and applications using any of the following:

For more information, see:

1.4.1 Configuration Wizard

The Configuration Wizard is a Java application that you can invoke graphically to create and update Oracle CEP servers and domains.

For more information, see:

1.4.2 Oracle CEP Visualizer

The Oracle CEP Visualizer is the Oracle CEP graphical administration console.

It is a Web 2.0 application that consumes data from Oracle CEP, 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 CEP to change its configuration.

Using Oracle CEP Visualizer, you can perform a wide variety of Oracle CEP server, domain, and application administration tasks for existing Oracle CEP standalone server domains and Oracle CEP multi-server domains.

For more information, see "Overview of Visualizer" in the Oracle CEP Visualizer User's Guide.

1.4.3 wlevs.Admin Command-Line Utility

The wlevs.Admin command-line utility is a Java application that you can invoke locally or remotely to perform a wide variety of Oracle CEP server, domain, and application administration tasks.

For more information, see Appendix A, "wlevs.Admin Command-Line Reference".

1.4.4 Deployer Command-Line Utility

The Deployer command-line utility is a Java application that you can invoke locally or remotely to perform application deployment and application administration tasks.

For more information, see Appendix B, "Deployer Command-Line Reference".

1.4.5 Security Command-Line Utilities

Oracle CEP provides a variety of command-line utilities that simplify security administration.

For more information, see Appendix C, "Security Utilities Command-Line Reference".

1.4.6 JMX

Using standards-based interfaces that are fully compliant with the Java Management Extensions (JMX) specification, you can perform a wide variety of Oracle CEP server, domain, and application administration tasks programatically using JMX and Oracle CEP MBeans.

For more information, see:

1.5 Understanding Oracle CEP Server Administration Tasks

This section describes some of the important Oracle CEP server administration tasks, including:

1.5.1 Creating Oracle CEP Servers and Domains

The most important administration task is to create Oracle CEP servers and domains.

For more information, see:

1.5.2 Updating Oracle CEP Servers and Domains

Once you create an Oracle CEP server and domain, you can update it to change its configuration or group membership.

For more information, see:

1.5.4 Starting and Stopping Oracle CEP Servers

After you have created an Oracle CEP domain along with at least a single server, you start a server instance so you can then deploy applications and begin running them. During upgrades and after some configuration changes, you must stop and start the Oracle CEP server.

For more information, see:

1.5.5 Deploying Applications to Oracle CEP Servers

Once you have created and configured an Oracle CEP server and domain, you can deploy Oracle CEP applications to them.

For more information, see:

1.5.6 Managing Oracle CEP Applications, Servers, and Domains

Once you have deployed applications to an Oracle CEP server and domain, you must manage the application to perform tasks such as monitor its performance and perform upgrades.

For more information, see: