Deploy rules to the Corticon Server
- Last Updated: November 6, 2023
- 3 minute read
- Corticon
- Version 6.3
- Documentation
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.
- 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.
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.:
- Start the Web Console in a clean installation. Note that there are no Decision Services listed.
- In the server install, go to
[CORTICON_WORK_DIR]\Samples\Rule Projects\TradeAlllocation - Copy the Deployment Descriptor CDD file and the two Decision Service
EDS files to
[CORTICON_WORK_DIR]\cdd - 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