Deciding when to upgrade:

What changed

Evaluate the impact of an upgrade based on changes to the technologies and the tools:

  • No longer provides EAR download—Corticon does not provide EAR deployment (and EJB) since 6.x and only WAR deployment is available. However, Corticon does support EAR files as a packaging for your enterprise application where you want to deploy multiple applications. You could add multiple WARs and your applications to an EAR file and deploy one EAR file into a supported application server that then deploys each of the WARs individually.
  • No longer supports Server Console—Corticon no longer supports the older Server Console that was distributed as a subset of the Server download in 5.6 and 5.7. The Corticon Web Console is a distinct Corticon Server installation, Corticon.war, that provides browser access to administrative features for many Corticon Servers, and enables many powerful features such as deployment across all Servers in a group, staging of deployment packages from Studio, batch processing, and analysis of Server performance.
    Figure 1. Distributed Corticon Servers centrally managed by Corticon Web Console


  • .NET Server changed from IKVM to JNBridge—Starting at 6.0, Corticon .NET Server no longer uses IKVM. With IKVM, you were cross-compiling Corticon into .NET code so that your code could call directly into the Server. Now, with JNBridge, the .Net code can connect to a new Corticon-JNBridge Proxy, which forwards the call to a in-memory Java JVM where Corticon Server is running. This reduces the complexity and amount of extra processing to deal with cross-compiled code.


    When deploying Corticon .NET in-process, the layout is similar:


    There are limitations to the JNBridge implementation:
    • Business objects are supported in Corticon, but not on .NET Servers. If you are using Business Objects, convert your payloads from business objects to JSON or XML, and then pass JSON or XML over the JNBridge.
    • If you have Corticon extensions for special operators and service call-outs, you need to obtain the JNBridge SDK for Java-to-.NET calls. For more information, see the Corticon Extensions Guide and the JNBridgePro Users' Guide.
      Note: IMPORTANT You must request a Corticon license specifically for evaluation and runtime of the Corticon .NET Server. No evaluation license is included when you install Corticon Server for .NET. Hence, it will not run without a proper license.
  • WSDL—Decision Service compilation no longer includes the WSDL and the report in the EDS file by default. If you use WSDL or reports in the Decision Service, add the following lines to the brms.properties file of the Studio that is producing the EDS:
    com.corticon.server.compile.add.wsdl=true
    com.corticon.server.compile.add.report=true.
    For more information, see the Deployment Guide topic "Properties that impact Decision Service compilation" in the Corticon Deployment Guide . See also the Web Console topic, "WSDL" in the Corticon Web Console Guide
  • Metadata tags—Metadata tags, a technique for annotating data to identify the entity and the instance, are only required on the root entity in a request. You will notice that metadata tags are given when you choose to export the request to JSON. Both are valid. However, metadata tags are required when you use #ref_id tags. See "About creating a JSON request message for a Decision Service" and "Sample JSON request and response messages" in the Deployment Guide
  • Corticon Extension JARs are now built-in—When ADC was introduced in 5.7.2, and REST in 6.0 was introduced, you had to specify the CcADCSco.jar and CcRESTSco.jar as Corticon Extensions. At 6.2, those JARs were added to the core Corticon Jars, so you no longer need to 1) add the JARs as Studio project extensions, 2) include the JARs in the .eds files, or 3) include the JARs in the deployed axis.war on an application server. However, you do need them if you choose to upgrade to 6.1.
    Note: The process to upgrade assets that had explicit specifications of these JARs will not have those references removed. You will see warnings after upgrading a project. The condition is benign. The files can be removed from the Corticon Extensions section of the Project properties. However, the packaging and testing techniques in Studio will ignore the listed JARs.
  • Database access properties melded with Datasource Configuration File—Starting at 5.7.2, the Datasource Configuration File datasource.xml replaced the database.properties file previously used with EDC Decision Services. While you can still deploy using the database.properties file, you are encouraged to move to the datasource.xml.
  • Corticon Server registration in Corticon Web Console—When new servers want to be managed in the Web Console or just to change an IP address, you can add properties to the server's brms.properties file that will connect and authenticate on the Web Console. For details, see "Server registration with Web Console" in the Server Guide
  • Swagger config file—The version of Swagger in the product is, as of 7.0, downloaded with the server installation, but it is no longer implemented by default. Further back, the config file changed from open-api in 6.1 to swagger in 6.3. See REST API Swagger documentation and Test the installed Corticon Server for details.
  • Custom extensions and Service Callouts—You might encounter conflicts if you have extended operators or service callouts that include 3rd party JARs that conflict with Corticon JARs. To resolve such conflicts, remove the conflicting JARs from your extension, or upgrade them to versions compatible with the version of Corticon.

Getting the new version

A new version requires that you have appropriate licenses and access to the Progress Electronic Software Download (ESD) site, accessed at https://www.progress.com/esd. While you are in the ESD, it is a good idea to download the End User Legal Agreement (EULA) and save it locally, as the EULA precisely describes the license terms.

  1. Are you under maintenance?—If so, have your license holder contact Progress Customer Order Management at com-global2@progress.com to get access to a new version of Corticon.
  2. Can you use your existing license?—Generally, no. All Corticon Studios, Corticon Servers, assets in projects, and deployed Decision Services must be at the same version. Check your ESD account to see if new licenses have been provided for you by Progress.
  3. How many cores does each server CPU have?—Corticon Server licenses can be restricted to the number of cores available for serving concurrent execution requests. For example, if you have a 4 core license, only 4 concurrent executions will be allowed regardless of the number of cores on the system.
  4. How long can you run the old and new in parallel? As stated in the End User Legal Agreement: Each Update to an On-Premise Product replaces part or all of the On-Premise Product (or earlier Update) previously licensed to you (“Replaced Product”) and will terminate such previously licensed Replaced Product to the extent replaced by the Update; provided, however, that you may continue to operate the Replaced Product for up to ninety (90) days from delivery of the Update to allow you to complete your implementation of the Update. You must cease all use of the Replaced Product at the end of the ninety (90) day period.
Note: Load balancing—If you have a load balancing architecture, traffic can be redirected when a new Corticon Server version is installed adjacent to a previous version. It is good practice to backup all workspaces before proceeding. If you are using the Corticon Web Console to administer Servers, remove one of the Servers from its Server group. Then, this architectural setup will incur no down time. Leave the previous version untouched until the new version is installed. Then, delete the other Corticon Server and re-install it as the newer version. When you add the Server to its Server group, all the updated Decision Services will be deployed. Note that the Web Console server itself should not be load balanced.