Enabling Sterling Omni-Configurator integration with HCL Commerce

Enable the Sterling Omni-Configurator integration with HCL Commerce by configuring Visual Modeler, Omni-Configurator, and HCL Commerce.

Before you begin

  1. Ensure that you meet the following system requirements:
    • Your Sterling Configurator server is running JDK 1.8.
    • Your Sterling CPQ 9.5 is using Fix Pack 7 (or later).
  2. If you are using a B2B store model, you must install HCL Commerce 9.0.0.7 (or higher).
  3. Download and install Sterling Visual Modeler.
  4. Deploy the Sterling Omni-Configurator.

    To verify that your Omni-Configurator is properly deployed, access any Omni-Configurator basic REST service URL. For example, https://configuratorServer:port/configurator/api/organization/matrix/models?language=en&country=US.

Procedure

Configure Sterling Visual Modeler.
  1. Create a storefront by using the Sterling Configurator Visual Modeler tool.
    Notes:
    • Ensure that the correct product information is used for defining the models in the Sterling Configurator Visual Modeler by creating a storefront with the same Skin ID as the Organization Code of the catalog organization.
    • When you create a storefront, you must set the External Partner ID.
  2. Configure Sterling Visual Modeler to connect to Omni-Configurator.

    To view and test your compiled models, you need to connect the Omni-Configurator backend (REST APIs) and the Configurator UI to Sterling Configurator Visual Modeler.

    1. Open the Sterling Configurator Visual Modeler System Administration Console by accessing the following URL:
      http://hostname:port/Sterling/en/US/enterpriseMgr/admin
    2. Log in as a user with administrative authority.
    3. From the Fulfillment page, click System Services > Sterling Fulfillment, then complete the following fields:
      Field Description
      IBM Configurator System URL http://hostname:port/configurator
      IBM Configurator UI URL This URL path depends on how the Configurator UI add-on is deployed.
      • If it is deployed as an independent web application, then the URL is: http://hostname:port/context_root/index.html#
      • If it is deployed within an existing web application, then the URL is: http://hostname:port/context_root/path_to_the_Configurator_UI_folder/index.html#
      Note: If the Omni-Configurator REST APIs (configurator.war) and the Configurator UI add-on are deployed on different machines, then in such scenario you must configure the Configurator System URL in the index.html file present in the Configurator UI directory. If you don't perform this configuration, the sample Configurator UI is not launched from the Sterling Configurator Visual Modeler application.
    4. Click Save all.
Configure Omni-Configurator.
  1. Configure the tenant-specific Omni-Configurator adapter properties.

    You can define communications between Omni-Configurator and HCL Commerce by configuring Omni-Configurator adapter properties.

    1. Create a tenant_id.properties file in the tenant_repository/tenant_id directory.

      Where

      tenant_id
      Refers to the External Partner ID set in the Sterling Configurator Visual Modeler when you created your storefront.
    2. Configure the tenant-specific Omni-Configurator adapter properties.
      To connect to HCL Commerce, for example, if the tenant_id is matrix then you need to define all the catalog and pricing adapter properties in the tenant_repository/matrix/matrix.properties file. The following code sample shows the properties file for the tenant matrix:
      //For catalog adapter
      cnfg.matrix.catalog.adapter.impl=com.ibm.commerce.omniconfigurator.catalog.adapter.impl.WCCatalogAdapter
      cnfg.matrix.catalog.provider.url=https://[wc-transaction-server-cmc:port]/lobtools/cmc/VisualModeler
      1cnfg.matrix.catalog.provider.username=[adminuser]
      cnfg.matrix.catalog.provider.password=[adminpassword]
      cnfg.matrix.catalog.provider.orgcode=matrix
      cnfg.matrix.catalog.entitlement.provider.url=https://[wcssearch-server:port]
      
      //For Pricing adapter
      cnfg.matrix.pricing.adapter.impl=com.ibm.commerce.omniconfigurator.pricing.adapter.impl.WCPricingAdapter
      cnfg.matrix.pricing.provider.resturl=https://[wc-transaction-server:port]
      //Misc Properties
      cnfg.matrix..wcs.storeid = [the catalog storeId mapped to this tenant]
      cnfg.matrix..validation.customer.enabled=true
      cnfg.matrix..validation.allowguestcustomer.enabled=true
      cnfg.matrix..validation.currency.enabled=true
      cnfg.matrix..priceandentitlement.cache.additional.param.name=WC_USERACTIVITY,storeId,
        contractId,currency,identityId,identitySignature
      • 1 Create an Administrator user in HCL Commerce; for example, sterlingAdmin. For information about creating HCL Commerce users, see Creating a user. When you select a role for the user, add Site Administrator authority for the root organization.
  2. Deploy the Adapter JAR file and the dependency JAR file.
    1. Go to the following directory in your HCL Commerce Developer environment.
      WCDE_installdir\samples\integration\OmniConfigurator
    2. Copy OmniConfigurator-WCAdapter.jar and jersey-client-1.19.1.jar to following directory on your Omni-Configurator server.
      tenant_repository/tenant_id
  3. Import the certificate from HCL Commerce.
    1. Log in to the WebSphere Application Server Administrative Console.
       https://hostname:port/ibm/console
    2. Go to SSL certificate and key management > Key stores and certificates > NodeDefaultTrustStore > Signer certificates > Retrieve from port.
    3. Complete the following fields.
      Field Description
      Host The host name of your HCL Commerce Transaction server.
      Port The port number for your HCL Commerce Transaction server.
      SSL configuration for outbound connection Select NodeDefaultSSLSettings
      Alias The alias for your HCL Commerce Transaction server.
    4. Click Retrieve signer information, then click Apply.
    5. Restart your Omni-Configurator server.
Configure HCL Commerce.
  1. Enable the Sterling Transport from the HCL Commerce Administration Console.
    1. Open the Administration Console.
    2. Go to Configure > Transport.
    3. Configure the Sterling transport by completing the following fields.
      Field Description
      Sterling Organization Code The tenant ID found in Omni-Configurator.
      IBM Configurator API URL https://configuratorServer:port/configurator/api
      Visual Modeler User Name Your Visual Modeler user name.
      Visual Modeler Password Your Visual Modeler user password.
      Visual Modeler URL Visual Modeler storefront skin URL.
  2. Configure the Omni-Configurator server URL in your STORECONF database table by running the following SQL statement.
    insert into storeconf values ($storeId,'wc.configurator.url'$configuratorServerURL,1);
    Where
    storeId
    Your store ID. If your store is at the site level, use a 0 value.
    configuratorServerURL
    The Omni-Configurator server URL; for example:

    https://configuratorServer:port/configurator

  3. Enable the Sterling Configurator store function in HCL Commerce Management Center.
    1. Log in to Management Center for HCL Commerce and open the Store Management tool.
    2. Select your store; for example, AuroraESite. Then, click the Catalog tab.
    3. Click the Sterling Configurator check-box.
  4. Import the Omni-Configurator certificate to HCL Commerce.
    • For development environments:
      1. Log in to the WebSphere Application Server Administrative Console on your development environment.
      2. Go to SSL certificate and key management > Key stores and certificates > NodeDefaultTrustStore > Signer certificates > Retrieve from port.
      3. Complete the following fields.
        Field Description
        Host The host name of your Configurator server.
        Port The port number for your Configurator server.
        SSL configuration for outbound connection Select NodeDefaultSSLSettings
        Alias The alias for your Configurator server.
      4. Click Retrieve signer information, then click Apply.
    • For production environments:
      1. Export the Omni-Configurator certificate.
        1. Log in to the Sterling Configurator Administrative Console on your runtime environment.
        2. Go to SSL certificate and key management > Key stores and certificates > NodeDefaultKeyStore > Personal certificates > Extract certificate.
        3. Complete the following fields.
          Field Description
          Certificate alias to extract The certificate alias.
          Certificate file name The certificate file name.
          Data type Your data type, for example, Base64-encoded ASCII data.
        4. Click Apply.
      2. Import the extracted certification to the HCL Commerce Transaction Server by one of two ways:
        • Manage certificates manually.
          Notes:
          • When you copy the certificates to the JSON file, you must replace the line-break with \n to ensure that the entire certificate string is on one line.
          • This integration with Omni-Configuration uses one-way SSL certificate validation. For one-way SSL certificate validation, where one application needs a certificate to communicate with another application that has SSL enabled, you need only to define the issuing_ca in the JSON file.
          • Load the JSON files to the /SETUP/certs/custom/ directory of your Docker container.
        • Manage certificates with Vault.

What to do next