Version policies

Version policies determine how client applications identify deployed rulesets.

In a deployment configuration for a decision service, you establish the version policies to define the paths of the rulesets in the RuleApp deployment. The ruleset path determines how an application calls a ruleset through Rule Execution Server.

The ruleset path can have the following structure:
DeploymentConfiguration/RAVmajor.RAVminor/Operation/RSVmajor.RSVminor

DeploymentConfiguration identifies the decision service. RAVmajor.RAVminor identifies the version of the decision service interface that is being used. Client applications use the version number to ensure that they are compatible with the decision service interface. Operation is the name of the ruleset. The major version number of a ruleset (Vmajor) often represents a specific release of the ruleset, and the minor version number (Vminor) represents a deployment version of the ruleset. Typically, client applications call the latest enabled ruleset, but what they actually call depends on the ruleset path that is used in the client application.

The version numbers use base numbers that you define in the deployment configuration. You manually define a base number for the RuleApp and each ruleset. Deployment increments the minor ruleset version number, or replaces or creates a ruleset version number (Vmajor.Vminor).

Note: The version policies that are set in a Rule Designer deployment configuration are synchronized with Decision Center.

Select a policy by the type of deployment

The version policy that you use depends on the type of deployment:

Type of deployment Version policy
Successive deployments of a release to a specific server Increment minor version numbers
Development of a decision service Use the base version numbers
Test fix to correct a deployed solution Use the base version numbers
Test fixes or updates to an earlier release Define the version numbers
Increment minor version numbers

This policy serves as the default setting. It deploys the decision operations of the release, changing the minor version number of each ruleset. It looks for the latest version number to increment across all the servers to which it has access, and the same deployed version number is used across the servers.

A client application uses a ruleset based on the ruleset path that is defined in the client application., but previous deployments remain available on Rule Execution Server. You can still use a previous deployment by specifying its full ruleset path. You use this policy with successive deployments of a release to a specific server.

The following table shows an example of the results of this policy:

Deployed RuleApp Base RuleApp Results after deployment
/RuleApp/1.0 
  /ruleset/1.0 
  /ruleset/2.0
/RuleApp/1.0
  /ruleset/2.0
/RuleApp/1.0
  /ruleset/1.0
  /ruleset/2.0
  /ruleset/2.1
Use the base version numbers

This policy deploys the decision operations and replaces the base version on Rule Execution Server. The replacement ensures that the deployment configuration path corresponds exactly to what is deployed on the server.

The following table shows an example of the results of this policy:

Deployed RuleApp Base RuleApp Results after deployment
/RuleApp/1.0
  /ruleset/1.0
  /ruleset/2.0
/RuleApp/1.0
  /ruleset/1.0
/RuleApp/1.0
  /ruleset/1.0
  /ruleset/2.0 (replaced)
The user can define the version numbers

With this policy, you enter a specific ruleset version number at deployment time. You use this policy with test fixes or updates to an earlier release. Upon deployment, Rule Execution Server uses the specified ruleset version, and replaces the last version of the ruleset.

The following table shows an example of the results of this policy:

Deployed RuleApp Base RuleApp Results after deployment
/RuleApp/1.0
  /ruleset/1.0
  /ruleset/2.0
/RuleApp/1.0
  /ruleset/1.0
/RuleApp/1.0
  /ruleset/1.0 (replaced)
  /ruleset/2.0