Skip Headers
Oracle® Fusion Middleware Administrator's Guide for Oracle Complex Event Processing
11g Release 1 (11.1.1.6.3)

Part Number E14300-10
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
PDF · Mobi · ePub

1 Overview of Oracle CEP Server Administration

This chapter provides an overview of administering Oracle Complex Event Processing (Oracle CEP), introducing Oracle CEP servers and domains and server lifecycle, as well as server configuration, administration tools and tasks.

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 Fusion Middleware Developer's Guide for Oracle Complex Event Processing 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 Fusion Middleware Developer's Guide for Oracle Complex Event Processing 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.3.4 Configuring the Oracle CEP Server bootclasspath

In general, you configure all Oracle CEP server options using the Oracle CEP server configuration file, you configure all Oracle CEP application options using Oracle CEP assembly and component configuration files, and you satisfy all Oracle CEP application run-time dependencies by importing the relevant private artifacts into an Oracle CEP project or deploying a shared application library that contains the relevant shared artifacts that applications import indirectly.

If necessary, you can configure the Oracle CEP bootclasspath with artifacts, such as native code libraries, that the Oracle CEP server makes available before both application libraries and Oracle CEP applications are deployed.

You can use this technique to satisfy application or application library dependencies that you cannot satisfy using simple application imports or application libraries.

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

1.3.4.1 How to Configure the Oracle CEP Server bootclasspath

Optionally, you can use the bootclasspath to make native code libraries available to application libraries that depend on them.

To configure the Oracle CEP bootclasspath:

  1. Update the server start script in the server directory of your domain directory so that Oracle CEP finds the appropriate native library JAR file when it boots up.

    The name of the server start script is startwlevs.cmd (Windows) or startwlevs.sh (UNIX), and the script is located in the server directory of your domain directory. The out-of-the-box sample domains are located in ORACLE_CEP_HOME/ocep_11.1/samples/domains, and the user domains are located in ORACLE_CEP_HOME/user_projects/domains, where ORACLE_CEP_HOME refers to the Oracle CEP installation directory, such as d:\oracle_cep.

    Update the start script by adding the -Xbootclasspath/a option to the Java command that executes the wlevs_3.0.jar file. Set the -Xbootclasspath/a option to the full path name of the native library you are going to use.

    For example, if you want to use the native library mynativelib located in Oracle CEP server directory %USER_INSTALL_DIR%\bin, update the java command in the start script as follows -- the updated section shown in bold (the example is broken here for readability; in practice you should have the full command on one line):

    %JAVA_HOME%\bin\java -Dwlevs.home=%USER_INSTALL_DIR% -Dbea.home=%BEA_HOME%  
    -Xbootclasspath/a:%USER_INSTALL_DIR%\bin\mynativelib.jar 
    -jar "%USER_INSTALL_DIR%\bin\wlevs_3.0.jar" 
    -disablesecurity %1 %2 %3 %4 %5 %6 
    

    In the example, %USER_INSTALL_DIR% points to ORACLE_CEP_HOME\ocep_11.1.

  2. If Oracle CEP is running, restart it so it reads the new java option and data source information.

    For more information, see Section 1.5.4, "Starting and Stopping Oracle CEP Servers".

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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.

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 programmatically 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:

Note:

on Windows, do not stop the Oracle CEP server by clicking the Close button in the command prompt in which you started it. Always stop the Oracle CEP server using the stopwlevs.cmd script or Ctrl-C.

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: