Updating configuration files and components to work with Sterling Order Management

To finish configuring your integration, update configuration files and components to enable optional features. Then, deploy your changes to production.

Procedure

  1. Update the order component configuration file to contain the required side-by-side integration values.
    1. Open HCL Commerce Developer and switch to the Enterprise Explorer view.
    2. Create a folder for your customized order component configuration file.

      workspace_dir\WC\xml\config\com.ibm.commerce.order-ext

      If this folder exists and contains a customized version of the wc-admin-component.xml file, or if a customized version exists elsewhere, open the customized version and skip to the next step. If the folder does not exist or contain a customized version, complete these substeps:

      1. Copy the file workspace_dir\WC\xml\config\com.ibm.commerce.order\wc-admin-component.xml to workspace_dir\WC\xml\config\com.ibm.commerce.order-ext\.
      2. Open the copied wc-admin-component.xml in an editor. This copy becomes the customized version of the wc-admin-component.xml file.
    3. Change properties.
      To change properties that are not currently in the customized file, copy those properties into your customized file from the default order component configuration file.
      1. Update the copyFrom, copyTo, and loggingDir properties to specify the directories that you created in the first task:
        
        <!--
         copyFrom: all of the new CSV files are under this directory
         copyTo: after the CSV files picked up by scheduler job, they will be copied to copyTo directory
         loggingDir: the logging files are created under this directory 
        -->
        <_config:configgrouping name="DOMInventoryAutoLoad">
            <_config:property name="copyFrom" value="/data/SCWC/CSV_DIR/copyFrom"/>
            <_config:property name="copyTo" value="/data/SCWC/CSV_DIR/copied"/>
            <_config:property name="loggingDir" value="/data/SCWC/CSV_DIR/logs"/>
        </_config:configgrouping>
      2. Update the SideBySideIntegration and enableP2P values as shown in the following code snippet to enable the features:
        
        <_config:configgrouping name="SideBySideIntegration">
              <_config:property name="enable" value="Y"/>
        </_config:configgrouping>
        
        <_config:configgrouping name="P2PIntegration">
              <_config:property name="enableP2P" value="true"/>
        </_config:configgrouping>
        
      3. Update any other values in the wc-admin-component.xml file for any other features that you require:
        OMSHeartbeatInterval
        Default = 5 minutes

        Sets the time interval for HCL Commerce to check for an OMS outage.

        OrderPendingOnTransferExpirationTime
        Sets the expiration time for orders in F status. The default is one day, or 86,400 seconds. An order that remains in F status for a period longer than its expiration value is retransferred by the order retransfer scheduler.
        IsSystemOutageTolerable
        Default =Yes

        Enables the OMS outage feature.

        IsRespectFallbackForInsuffQuant
        Default =Yes

        Controls how inventory status is handled and reported. You can configure the inventory messages to show status messages such as out of stock to the customer when the inventory is not sufficient.

        A value of N means that the item has inventory, but not enough to fulfill the request, so the item inventory status is out of stock.

        A value of Y means that, in case of insufficient inventory, the system uses the fallback inventory status as the order item inventory status.

        InventoryStatusForZeroQuantityInCache
        Default = Available

        This property is used for product display. It indicates the inventory status you want to recognize when the inventory is zero. When the value = Available, it means that inventory is treated as available if the inventory is zero.

        AllowPartialReservation
        Default = No

        Indicates whether support for partial reservation is allowed. A value of N means not supported, and Y means supported.

        accessProfile
        Default = IBM_TransferOrder

        This access profile is used during order transfer to Sterling Order Management.

        accessProfile
        Default = IBM_Summary

        This access profile is used during a change order.

        enableP2P
        Default = False

        If this property is set to True, it enables a Direct or "point-to-point" Integration.

      For more information, see Changing properties in the order component configuration file (wc-admin-component.xml).

    4. Remove any properties that are not set differently from the default order component configuration file. The customized file must contain only the differences.
    5. Save and close the customized file.
  2. Optional: To enable payment integration:

    To tokenize account numbers, you must configure the IBM_TransferOrder access profile to call the TokenizeAccountNumberCmd. This task command is called by the ComposeTransferOrderCmdImpl, an implementation of the ComposeOrderCmd task for the transfer order integration flow. This tokenizes the PAN when composing the payment-related information of an Order noun for the purpose of order transfer. HCL Commerce supports a dummy implementation called TokenizeAccountNumberCmdImpl by default. You can customize this flow to suit your business needs.

    1. Implement the class and patch it to the WebSphereCommerceServerExtensionsLogic.jar file and then deploy the patched file. For example: WebSphereCommerceServerExtensionsLogic.jar\com\ibm\commerce\sample\order\facade\server\commands\SampleTokenizeAccountNumberCmdImpl.class
    2. Add an entry into the CMDREG table. For example, if the name of the implemented class is com.ibm.commerce.sample.order.facade.server.commands.SampleTokenizeAccountNumberCmdImpl, you might use a SQL statement similar to the following:
      INSERT INTO CMDREG(STOREENT_ID, INTERFACENAME, CLASSNAME, TARGET) VALUES (
      0,'com.ibm.commerce.order.facade.server.commands.TokenizeAccountNumberCmd', '
      com.ibm.commerce.sample.order.facade.server.commands.SampleTokenizeAccountNumberCmdImpl','Local'); 
  3. Enable asynchronous actions for orders.
    1. Edit wc-component-client.xml files and deploy WC_eardir/xml/config/com.ibm.commerce.order.external/wc-component-client.xml.
    2. Copy the wc-component-client.xml to a temporary folder, edit and set the asynchronous to "true," as shown in the following code sample: <_config:action name="ProcessOrder" asynchronous="true"></_config:action>
    3. Add the following content under <_config:Invocationservice> below <_config:action name="ProcessOrder" asynchronous="true"></_config:action> to bind the action for the GetOrder message: <_config:action name="GetOrder" asynchronous="false" scope="action"></_config:action>
  4. Copy JAR files.
    1. Copy the following Sterling JAR file to your HCL Commerce server, then deploy the copied JARs to WC_eardir/lib: <INSTALL_DIR>/xapiclient/xapiclient.jar.
  5. Optional: Configue WebSphere Application Server for use with IBM MQ.

    You can configure WebSphere Application Server for use with IBM MQ by determining the maximum number of ManagedConnections for the JCA-JMS connector, creating a IBM MQ messaging provider queue connection factory, creating IBM MQ messaging provider queue destinations, and configuring advanced properties for JMSQueueConnectionFactory and JMSOutboundQueue.

  6. Optional: Create IBM MQ messaging.

    Perform these steps to create the JMS queues required for the HCL Commerce listener for IBM MQ.

    The JMS queues map to the IBM MQ message queues you identified or created in Configuring IBM MQ for use with HCL Commerce. Table 1 shows how the JMS queues map to the IBM MQ message queues.
    Table 1. JMS Queues and IBM MQ Message Queues
    JMS Queues IBM MQ Message Queues
    JMSSerialInboundQueue inbounds
    JMSParallelInboundQueue inboundp
    JMSInboundQueue inbound
    JMSOutboundQueue outbound
    JMSErrorQueue error

    A JMS queue is created by creating a IBM MQ messaging provider queue destination in WebSphere Application Server.

    The JMS queue names that are provided in the table are the default names that are used by HCL Commerce. If you modified the JMS queue names, the JMS queue names must be changed to match the new queue names.

    If you used customized JMS queue names or JMS queue connection factory names by editing the HCL Commerce configuration file, the JMS queue names must be added here to match the new queue names of IBM MQ.

    Note: The number of queues to define depends on the application with which HCL Commerce is integrated. These five queues are the minimum number of queues that are required for integration. The queue names are case-sensitive. Ensure that you use the correct case for the queue names.
  7. Deploy all your file changes to production. For more information, see Packaging customized code for deployment.