WebSphere Commerce Enterprise

Propagating ILOG JRules rules using the stagingprop utility

If you have configured a staging environment for ILOG JRules integration, you can use the stagingprop utility to propagate ILOG JRules rules data. The stagingprop utility first propagates rules data from the staging Rule Execution Server to the production Rule Execution Server. If the propagation is successful, the utility then propagates WebSphere Commerce data from the WebSphere Commerce staging server to the WebSphere Commerce production server, as usual.

You must run the stagingprop utility with the -ILogConfigPath parameter to trigger the propagation on the Rule Execution Servers. It triggers the execution of another stand-alone utility resprop that stands for Rule Execution Server Propagation. This utility is to propagate ILOG JRule from staging RES to production RES. To use resprop utility, you need to integrate the stand-alone dependant data that is referred in the external price. For example, the catalog and price list, are already synchronized between the WebSphere staging database and production database. If they are not synchronized, an error can occur in run time when running the external price rule in ILOG rule execution server.

Before you begin

On the staging server, make sure you have configured the propagation-related parameters in the ILogJRulesConfiguration.properties file. These parameters are required for connectivity to the production Rule Execution Server. For more information, look for the parameters that start with propagation. in Configuring the registry and proxy for the WebSphere ILOG JRules rule engine.

Procedure

  1. Log on to the machine on which you installed the ILOG JRules product.
  2. Copy the following JAR file:

    ILogJRulesInstallDir/executionserver/applicationservers/WebSphere7/jrules-res-session-WAS7.jar

  3. On the staging server, put the copied file here:

    WC_installdir/lib/jrules

  4. Run the stagingprop utility with the -ILogConfigPath parameter. See stagingprop utility.
    • If the rule data propagation is successful, the console displays a message similar to resprop.sh completed, with a path to a log file you can review. The stagingprop utility then propagates the WebSphere Commerce data from staging to production, as usual.
    • If the rule data propagation is not successful, the console displays a message similar to Error invoking resprop.sh. The stagingprop utility stops propagation until the problem is resolved.
  5. Review the log file from the propagation at:
    WC_installdir/logs/resprop_yyyymm.dd._hh.mm.ss.zzz.log

Results

After the stagingprop utility runs successfully, the new rules data is available on the production Rule Execution Server.
If you encounter problems with the propagation, check for the following issues:
  1. If it appears that the JMX connection to the production Rule Execution Server cannot be established, check whether the following security configuration applies to your staging and production servers (note that this is not a required configuration):
    • WebSphere Application Server global security, including application security, is enabled on the staging and production servers used for ILOG JRules integration.
    • The certificate on the staging server is different from the one on the production server.
    If so, you must extract the proper certificate from the production server and add it into the client default truststore on the staging server before running the stagingprop utility with the -ILogConfigPath parameter. This should allow the JMX connection to be established.
  2. In rare cases, the staging server in a clustered environment has no WebSphere Enterprise Archive, or an invalid WebSphere Enterprise Archive. If this applies to your staging server, use the following workaround:
    1. On the staging server, create a temporary directory, for example:

      /opt/temp/wc_ear

    2. On a machine in the staging cluster environment that has a valid WebSphere Enterprise Archive, copy the contents of WC_eardir/properties to the temporary directory on the staging server. The result should be:

      /opt/temp/wc_ear/properties

      Then, when running the stagingprop utility, for the -ILogConfigPath parameter value, specify the path of the temporary directory on the staging server, for example:

      /opt/temp/wc_ear