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.
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).
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