Application Development Guide

     Previous  Next    Open TOC in new window    View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Assembling and Deploying Oracle Complex Event Processing Applications

This section contains information on the following subjects:

 


Overview of Application Assembly and Deployment

The term application assembly refers to the process of packaging the components of an application, such as the Java files and XML configuration files, into an OSGI bundle that can be deployed to Oracle Complex Event Processing, or Oracle CEP for short. The term application deployment refers to the process of making an application available for processing client requests in an Oracle CEP domain.

In the context of Oracle CEP assembly and deployment, an application is defined as an OSGi bundle JAR file that contains the following artifacts:

The OSGI bundle declares dependencies by specifying imported and required packages. It also provides functionality to other bundles by exporting packages. If a bundle is required to provide functionality to other bundles, you must use Export-Package to allow other bundles to reference named packages. All packages not exported are not available outside the bundle.

See Assembling an Oracle CEP Application: Main Steps for detailed instructions on creating this deployment bundle.

After you have assembled the application, you deploy it by making it known to the Oracle CEP domain using the Deployer utility (packaged in the wlevsdeploy.jar file). For detailed instructions, see Deploying Oracle CEP Applications: Main Steps.

Once the application is deployed to Oracle CEP, the configured adapters immediately start listening for events for which they are configured, such as financial data feeds and so on.

Note: Oracle CEP applications are built on top of the Spring Framework and OSGi Service Platform and make extensive use of their technologies and services. See Additional Information about Spring and OSGi for links to reference and conceptual information about Spring and OSGi.

 


Assembling an Oracle CEP Application: Main Steps

Assembling an Oracle CEP application refers to bundling the artifacts that make up the application into an OSGi bundle JAR file. These artifacts include compiled Java classes, the XML files that configure the components of the application (such as the processors or adapters), the EPN assembly file, and the MANIFEST.MF file.

For simplicity, the following procedure creates a temporary directory that contains the required artifacts, and then jars up the contents of this temporary directory. This is just a suggestion and you are not required, of course, to assemble the application using this method.

See Additional Information about Spring and OSGi for links to reference and conceptual information about Spring and OSGi.

Note: See the HelloWorld example source directory for a sample build.xml Ant file that performs many of the steps described below. The build.xml file is located in WLEVS_HOME\samples\source\applications\helloworld, where WLEVS_HOME refers to the main installation directory, such as d:\beahome\wlevs30.

To assemble an Oracle CEP application:

  1. Open a command window and set your environment as described in Setting Up Your Development Environment.
  2. Create an empty directory, such as output:
  3. prompt> mkdir output
  4. Compile all application Java files into the output directory.
  5. Create an output/META-INF/spring directory.
  6. Copy the EPN assembly file that describes the components of your application and how they are connected into the output/META-INF/spring directory.
  7. See Creating the EPN Assembly File for details about this file.

  8. Create an output/META-INF/wlevs directory.
  9. Copy the XML files that configure the components of your application (such as the processors or adapters) into the output/META-INF/wlevs directory. You create these XML files during the course of creating your application, as described in Overview of the Oracle Complex Event Processing Programming Model.
  10. Create a MANIFEST.MF file that contains descriptive information about the bundle.
  11. See Creating the MANIFEST.MF File.

  12. If you need to access third-party JAR files from your Oracle CEP application, see Accessing Third-Party JAR Files From Your Application.
  13. Create a JAR file that contains the contents of the output directory. Be sure you specify the MANIFEST.MF file you created in the previous step rather than the default manifest file.
  14. You can name the JAR file anything you want. In the Oracle CEP examples, the name of the JAR file is a combination of Java package name and version, such as:

    com.bea.wlevs.example.helloworld_1.0.0.0.jar

    Consider using a similar naming convention to clarify which bundles are deployed to the server.

    See the Apache Ant documentation for information on using the jar task or the J2SE documentation for information on using the jar command-line tool.

Creating the MANIFEST.MF File

The structure and contents of the MANIFEST.MF file is specified by the OSGi Framework. Although the value of many of the headers in the file is specific to your application or business, many of the headers are required by Oracle CEP. In particular, the MANIFEST.MF file defines the following:

The following complete MANIFEST.MF file is from the HelloWorld example, which extends the configuration of its adapter:

Manifest-Version: 1.0
Archiver-Version:
Build-Jdk: 1.5.0_06
Extension-Name: example.helloworld
Specification-Title: 1.0.0.0
Specification-Vendor: Oracle.
Implementation-Vendor: Oracle.
Implementation-Title: example.helloworld
Implementation-Version: 1.0.0.0
Bundle-Version: 2.0.0.0
Bundle-ManifestVersion: 1
Bundle-Vendor: Oracle.
Bundle-Copyright: Copyright (c) 2006 by Oracle.
Import-Package: com.bea.wlevs.adapter.defaultprovider;version="2.0.0.0",
com.bea.wlevs.ede;version="2.0.0.0",
com.bea.wlevs.ede.impl;version="2.0.0.0",
com.bea.wlevs.ede.api;version="2.0.0.0",
org.osgi.framework;version="1.3.0",
org.apache.commons.logging;version="1.1.0",
com.bea.wlevs.spring;version="2.0.0.0",
com.bea.wlevs.util;version="2.0.0.0",
net.sf.cglib.proxy,
net.sf.cglib.core,
net.sf.cglib.reflect,
org.aopalliance.aop,
org.springframework.aop.framework;version="2.0.5",
org.springframework.aop;version="2.0.5",
org.springframework.beans;version="2.0.5",
org.springframework.util;version="2.0",
org.springframework.core.annotation;version="2.0.5",
org.springframework.beans.factory;version="2.0.5",
org.springframework.beans.factory.config;version="2.0.5",
org.springframework.osgi.context;version="1.0.0",
org.springframework.osgi.service;version="1.0.0",
javax.xml.bind;version="2.0",
javax.xml.bind.annotation;version=2.0,
javax.xml.bind.annotation.adapters;version=2.0,
javax.xml.bind.attachment;version=2.0,
javax.xml.bind.helpers;version=2.0,
javax.xml.bind.util;version=2.0,
com.bea.wlevs.configuration;version="2.0.0.0",
com.bea.wlevs.configuration.application;version="2.0.0.0",
com.sun.xml.bind.v2;version="2.0.2"
Bundle-Name: example.helloworld
Bundle-Description: WLEvS example helloworld
Bundle-SymbolicName: helloworld

Accessing Third-Party JAR Files From Your Application

When creating your Oracle CEP applications, you might need to access legacy libraries within existing third-party JAR files. There are two ways to ensure access to this legacy code:

 


Deploying Oracle CEP Applications: Main Steps

The following procedure describes how to deploy an application to Oracle CEP using the Deployer utility. It is assumed in the procedure that you have assembled your application as described in Assembling an Oracle CEP Application: Main Steps.

See Deployer Command-Line Reference for complete reference information about the Deployer utility, in particular options to the utility that are supported in addition to the ones described in this section. See Additional Information about Spring and OSGi for links to reference and conceptual information about Spring and OSGi.

  1. Open a command window and set your environment as described in Setting Up Your Development Environment.
  2. Update your CLASSPATH variable to include the wlevsdeploy.jar JAR file, located in the WLEVS_HOME/bin directory where, WLEVS_HOME refers to the main Oracle CEP installation directory, such as /beahome/wlevs30.
  3. Note: If you are running the deployer utility on a remote computer, see Running the Deployer Utility Remotely for instructions.
  4. Be sure you have configured Jetty for the Oracle CEP instance to which you are deploying your application.
  5. See Configuring Oracle CEP.

  6. In the command window, run the Deployer utility using the following syntax to install your application:
  7. prompt> java -jar wlevsdeploy.jar -url http://host:port/wlevsdeployer -user user -password password
    -install application_jar_file

    where

    • host refers to the hostname of the computer on which Oracle CEP is running.
    • port refers to the port number to which Oracle CEP listens; its value is 9002 by default. This port is specified in the config.xml file that describes your Oracle CEP domain, located in the DOMAIN_DIR/config directory, where DOMAIN_DIR refers to your domain directory. The port number is the value of the <Port> child element of the <Netio> element:
    • <Netio>
      <Name>NetIO</Name>
      <Port>9002</Port>
      </Netio>
    • user refers to the username of the Oracle CEP administrator.
    • password refers to the password of the Oracle CEP administrator.
    • application_jar_file refers to your application JAR file, assembled into an OSGi bundle as described in Assembling an Oracle CEP Application: Main Steps.
    • For example, if Oracle CEP is running on host ariel, listening at port 9002, username and password of the administrator is wlevs/wlevs, and your application JAR file is called myapp_1.0.0.0.jar and is located in the /applications directory, then the command is:

      prompt> java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer -user wlevs -password wlevs -install /applications/myapp_1.0.0.0.jar

After the application JAR file has been successfully installed and all initialization tasks completed, Oracle CEP automatically starts the application and the adapter components immediately start listening for incoming events.

The Deployer utility provides additional options to resume, suspend, update, and uninstall an application JAR file. For details, see Deployer Command-Line Reference.

Oracle CEP uses the deployments.xml file to internally maintain its list of deployed application OSGi bundles. This file is located in the DOMAIN_DIR/servername directory, where DOMAIN_DIR refers to the main domain directory corresponding to the server instance to which you are deploying your application and servername refers to the actual server. See XSD Schema For the Deployment File for information about this file. This information is provided for your information only; Oracle does not recommend updating the deployments.xml file manually.


  Back to Top       Previous  Next