Once you have installed the Corticon Server, it is ready to have rules deployed to it that can then run when it receives requests. Rules are defined in the Corticon Studio, and tested there against its embedded application server. Ruleflows are then versioned and packaged together with supporting files as compiled Decision Services for runtime on any Corticon Server regardless of platform and application server. The compilation into an encrypted Decision Service ensures that the rules are consistent and reliable wherever they run, whether as a web service on an application server or as an in-process application. The absence of the source files on the server and ad hoc compilation ensures security from unwarranted changes to the rules as well as exposure of the valuable rule assets.

The Corticon Studio's Package and Deploy Decision Services wizard summarizes the tactics that get rules onto servers:


  • Deploy to a Corticon Server

    Does the compilation and server transfer in one step. Great for pre-production testing. But many users prefer to keep the development functions and production control distinct.

    In many cases, several Decision Services need to be created in the same run. You can use compile and deploy APIs and command line utilities to create scripted runs of builds. See the topics Use Server API to compile and deploy Decision Services and Automate packaging and testing of Decision Services

  • Deploy to the Corticon Web Console While not required, the Web Console is a good way to monitor and manage servers and Decision Services. By deploying to Web Console, the development hands off the compiled Decision Service for eventual deployment to a web service it has under management. Staging a Decision Service this way is discussed in Decision Services and Applications .
  • Package and save for later deployment - Compiling the assets into a Decision Service file on a network location, this intermediate step typically uses Deployment Descriptor files that assembles several Decision Services and miscellaneous files into a easily edited text file.

Create and install Deployment Descriptor files

Deployment Descriptor files (.cdd) let you provide a server with lists of Decision Service, related files, and optional property settings for each one. When Corticon Server starts, it looks for Deployment Descriptor files at [CORTICON_WORK_DIR]\cdd.

The Samples directory in a server installation provides some samples that include prewritten CDD files as well as precompiled Decision Services. Try them out to see how the Web Console shows that they immediately deploy and accept requests.

Here is the TradeAllocation sample's Deployment Descriptor file:
<?xml version="1.0" encoding="UTF-8"?>
<cdd soap_server_binding_url="http://localhost:8850/axis">
  <decisionservice>
    <name>AllocateTrade</name>
    <path>AllocateTrade.eds</path>
    <options>
      <option name="PROPERTY_AUTO_RELOAD" value="true" />
      <option name="PROPERTY_MAX_POOL_SIZE" value="1" />
    </options>
  </decisionservice>
  <decisionservice>
    <name>Candidates</name>
    <path>Candidates.eds</path>
    <options>
      <option name="PROPERTY_AUTO_RELOAD" value="true" />
      <option name="PROPERTY_MAX_POOL_SIZE" value="1" />
    </options>
  </decisionservice>
</cdd>

Try it! To explore this deployment technique, the Web Console is the best way to visualize what happens.:

  1. Start the Web Console in a clean installation. Note that there are no Decision Services listed.
  2. In the server install, go to [CORTICON_WORK_DIR]\Samples\Rule Projects\TradeAlllocation
  3. Copy the Deployment Descriptor CDD file and the two Decision Service EDS files to [CORTICON_WORK_DIR]\cdd
  4. Refresh the Web Console. The Discovered Decision Services list both Decision Services that were deployed to the server stated in the CDD file:


For more information, see the topics in Use Deployment Descriptors to deploy Decision Services .

Setting Server startup to auto load CDD files

The following property can be set on your Corticon Server installation by adding the property and an appropriate value as a line in its brms.properties file, and then restarting Server.

-------------------------------------------------------------------------------

Properties related to "auto loading" CDD files into the CcServer during initialization:

com.corticon.ccserver.autoloaddir.enable

Specifies whether the CcServer will try to auto load CDD files

Default value: true

com.corticon.ccserver.autoloaddir

The directory where the CDD files are located.

Note: This property can be changed using following method, which will override this setting.

- ICcServer.setDeploymentDescriptorDirectoryPath(String)

Note: Use forward slashes as path separator. Example: c:/Progress/cdd

Default value: If the property value is empty, the following path is used: user.dir/cdd

where user.dir is the value of environment variable "user.dir" which in Windows and Unix returns the directory where container application was started.

com.corticon.ccserver.autoloaddir.enable=true
com.corticon.ccserver.autoloaddir=%CORTICON_WORK_DIR%/cdd