Deployment configurations

Deployment configurations define the decision operations, target servers, and a version policy for the deployed RuleApps and rulesets. You use deployment configurations to deploy decision services.

You can create or edit a deployment configuration in Rule Designer or in the Decision Center Business console. In the Business console, only users with configuration manager or administrator rights can create or edit a deployment configuration. When working within the governance framework, a deployment configuration can be created or edited only within a change activity.

A deployment configuration generates a RuleApp archive that contains rulesets. These rulesets are defined in the decision operations in the decision service. You can select all the rules, or extract only the rules of your choice, by applying either a custom validator or a query.

You can create more than one deployment configuration for a decision service. Each deployment configuration can serve a different purpose. For example, one can be used for testing and another for deploying to a production server.

A deployment configuration includes the following information:
  • A configuration type: production or nonproduction. This can be used to limit deployment to certain servers.
  • The RuleApp name that is used by the client application to request a decision.
  • The decision operations with the rules to be deployed.
  • The target servers.
  • The ruleset version base number and versioning policy.
In the Business console, the deployment configuration also contains the groups that can deploy using that configuration, and options for managing snapshots.
Note: When you deploy from the Business console, you review your configuration and specify some settings in a configuration dialog. In this dialog, you can select a check box to include information for debugging purposes, which includes an ARL file in your deployed archive. This check box is available only if you applied the configuration parameter Include debug information for Decision Engine archives from the Enterprise console, and you set its value to true. For more information, see Installation Settings Wizard: Setting configuration parameters.

The deployment configuration contains, for each operation, a ruleset base version that has distinct roles depending on the version policy that is in use. In the increment version policy, it defines the minimal version. In the base version policy, it defines the deployed ruleset version. In the user-defined version policy, it is used to calculate a proposed ruleset version at deployment time.

You can also set ruleset execution options in the deployment configuration:
  • Enabled: You can enable execution of a ruleset in a decision service. When you disable a ruleset, this ruleset is not taken into account by the rule engine at execution time.
  • Debug: You can enable debug mode on a ruleset in a decision service.
  • Trace: You can monitor ruleset execution by generating execution traces.
  • Bytecode generation: If you are using decision engine and have the XOM available in Decision Center, you can generate the ruleset with Java™ bytecode from the Business console. For more information about XOM management in Decision Center, see XOM deployment from Decision Center.

Configuration type

You indicate whether a deployment configuration is for a nonproduction or production environment:

Nonproduction
The nonproduction setting limits the target servers that can be used with the configuration. More importantly, it imposes some restrictions on deployment from the Business console within the governance framework.
Production
When a release of a decision service is complete in the governance framework, you can deploy it to a production server.

Target servers

When deploying from a decision service, you can choose from the target Rule Execution Servers defined in the deployment configuration.

The list of servers can indicate which are for production or testing. The release state and user permissions in the Business console determine the servers that can be used. For example, if you are working in a change activity, you can deploy to a test environment but not to production. Typically, business users are limited to test environments, while administrators can deploy to production.

Rule Execution Server Connections view

A deployment configuration lists the target servers for the deployment. However, only a symbolic name for each target server is stored in the deployment configuration. The connection details for the servers are defined in the Rule Execution Server Connections view, which is separate from the deployment configuration.

All developers of a decision service can have their own definition of a target server that is referenced by a deployment configuration. For example, a deployment configuration called Development can be defined in a decision service project with a target server named RES Development. Then, each user can define in the Rule Execution Server Connections view the actual connection details for the RES Development server. Each can point to a different server so that each developer deploys to a unique server to avoid deployment conflicts. However, all the developers import the definitions of the staging and production servers from a file that lists the shared servers.