B Oracle CEP Schemas

This section contains information on the following subjects:

B.1 EPN Assembly Schema spring-wlevs-v11_1_1_3.xsd

You use the EPN assembly file to declare the components that make up your Oracle CEP application and how they are connected to each other, or in other words, the event processing network. The EPN assembly file is an extension of the standard Spring context file. You also use the file to register the Java classes that implement the adapter and POJO components of your application, register the event types that you use throughout your application and EPL rules, and reference in your environment the Oracle CEP-specific services.

The spring-wlevs-v11_1_1_3.xsd file describes the structure of EPN assembly files.

This schema file is located in the ORACLE_CEP_HOME\ocep_11.1\xsd directory, where ORACLE_CEP_HOME is the main Oracle CEP installation directory, such as d:\oracle_cep.

For more information, see Appendix C, "Schema Reference: EPN Assembly spring-wlevs-v11_1_1_3.xsd".

B.1.1 Example EPN Assembly File

The following XML file shows the EPN assembly file for the HelloWorld example:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:osgi="http://www.springframework.org/schema/osgi"
       xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
       xsi:schemaLocation="
           http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/osgi
           http://www.springframework.org/schema/osgi/spring-osgi.xsd
           http://www.bea.com/ns/wlevs/spring
           http://www.bea.com/ns/wlevs/spring/spring-wlevs-v11_1_1_3.xsd">

    <wlevs:event-type-repository>
        <wlevs:event-type type-name="HelloWorldEvent">
            <wlevs:class>com.bea.wlevs.event.example.helloworld.HelloWorldEvent</wlevs:class>
        </wlevs:event-type>
    </wlevs:event-type-repository>

    <!-- Adapter can be created from a local class, without having to go through a adapter factory -->
    <wlevs:adapter id="helloworldAdapter" class="com.bea.wlevs.adapter.example.helloworld.HelloWorldAdapter" >
        <wlevs:instance-property name="message" value="HelloWorld - the current time is:"/>
    </wlevs:adapter>

    <wlevs:channel id="helloworldInputChannel" event-type="HelloWorldEvent" >
        <wlevs:listener ref="helloworldProcessor"/>
        <wlevs:source ref="helloworldAdapter"/>
    </wlevs:channel>

    <!-- The default processor for Oracle CEP 11.0.0.0 is CQL -->
    <wlevs:processor id="helloworldProcessor" />

    <wlevs:channel id="helloworldOutputChannel" event-type="HelloWorldEvent" advertise="true">
        <wlevs:listener>
            <bean class="com.bea.wlevs.example.helloworld.HelloWorldBean"/>
        </wlevs:listener>
        <wlevs:source ref="helloworldProcessor"/>
    </wlevs:channel>

</beans>

B.2 Component Configuration Schema wlevs_application_config.xsd

An Oracle CEP application contains one or more component configuration files in its META-INF/wlevs directory. You use component configuration files to override the default configuration for Oracle CEP components such as adapters, channels, and processors.

The wlevs_application_config.xsd schema file describes the structure of component configuration files. This XSD schema imports the following schemas:

  • wlevs_base_config.xsd

  • wlevs_eventstore_config.xsd

  • wlevs_diagnostic_config.xsd

These schema files are located in the ORACLE_CEP_HOME\ocep_11.1\xsd directory, where ORACLE_CEP_HOME is the main Oracle CEP installation directory, such as d:\oracle_cep.

For more information, see Appendix D, "Schema Reference: Component Configuration wlevs_application_config.xsd".

B.2.1 Example Component Configuration File

The following example shows the component configuration file for the HelloWorld sample application:

<?xml version="1.0" encoding="UTF-8"?><n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/application"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <processor>
        <name>helloworldProcessor</name>
        <rules>
            <query id="helloworldRule">
                <![CDATA[ select * from helloworldInputChannel [Now] ]]>
            </query>
        </rules>
    </processor>
    <channel>
        <name>helloworldInputChannel</name>
        <max-size>10000</max-size>
        <max-threads>2</max-threads>
    </channel>
    <channel>
        <name>helloworldOutputChannel</name>
        <max-size>10000</max-size>
        <max-threads>2</max-threads>
    </channel>
</n1:config>

B.3 Deployment Schema deployment.xsd

The deployment file for an Oracle CEP instance is called deployments.xml and is located in the DOMAIN_DIR/servername directory, where DOMAIN_DIR refers to the main domain directory and servername refers to the name of the server instance. This XML file lists the OSGi bundles that have been deployed to the server.

The deployment.xsd schema file describes the structure of deployment files.

This schema file is located in the ORACLE_CEP_HOME\ocep_11.1\xsd directory, where ORACLE_CEP_HOME is the main Oracle CEP installation directory, such as d:\oracle_cep.

For more information, see Appendix E, "Schema Reference: Deployment deployment.xsd".

B.3.1 Example Deployment XML File

The following example shows the deployments.xml file for the sample FX domain:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:wlevs="http://www.bea.com/ns/wlevs/deployment"
  xsi:schemaLocation="
  http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans.xsd
  http://www.bea.com/ns/wlevs/deployment
  http://www.bea.com/ns/wlevs/deployment/deployment.xsd">
  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
      <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
  </bean>
  <wlevs:deployment id="fx" state="start" 
    location="file:${wlevs.domain.home}/applications/fx/com.bea.wlevs.example.fx_11.1.0.0.jar"/>
</beans>

B.4 Server Configuration Schema wlevs_server_config.xsd

The Oracle CEP server configuration file, config.xml, is located in the DOMAIN_DIR/servername/config directory, where DOMAIN_DIR refers to the main domain directory and servername refers to a particular server instance. To change the configuration of an Oracle CEP instance, you can update this file manually and add or remove server configuration elements.

The welvs_server_config.xsd schema file describes the structure of server configuration files.

This schema file is located in the ORACLE_CEP_HOME\ocep_11.1\xsd directory, where ORACLE_CEP_HOME is the main Oracle CEP installation directory, such as d:\oracle_cep.

For more information, see Appendix F, "Schema Reference: Server Configuration wlevs_server_config.xsd".

B.4.1 Example Server Configuration XML File

The following sample config.xml, from the ORACLE_CEP_HOME/user_projects/domains/ocep_domain/defaultserver template domain, shows how to configure some of these services:

<?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">
  <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/dsidentity.jks</key-store>
    <key-store-pass>
        <password>changeit</password>
    </key-store-pass>
    <key-store-alias>ds</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>pubsubbean</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> 
</n1:config>