Introduced in Feature Pack 3

Installing, Configuring and Deploying: SSFS with RTAM

SSFS is a flexible and powerful system. Due to this, each installation is likely configured differently. This task includes additional configurations made to SSFS to function with Real-time Availability Monitor (RTAM).

Important: Review the following information for your version of WebSphere Commerce:

About this task

To enable RTAM on an SSFS configuration, the flow resembles the following diagram:
RTAM with SFSS flow
Mappings from the Sterling Commerce AvailabilityChange message to the WC SyncInventoryAvailability service include:
  • The Sterling Commerce item ID mapped to the WebSphere Commerce part number.
  • An AvailabilityChange message for the default distribution group (IsDefaultDistributionGroup='Y'), or for a Sterling Commerce node corresponding to the WebSphere Commerce store's default fulfillment center, mapped to a SyncInventoryAvailability message for the online store.
  • Otherwise, mapped to the WebSphere Commerce store location corresponding to the Sterling Commerce node.

Procedure

  1. To create an API Service:
    1. Launch the Applications Manager.
    2. Select Applications > Applications Platform from the menu.
    3. Double click on Process Modeling.
    4. Select the General tab and double-click the General process type to open it.
    5. Click on the Service Definitions tab at the bottom of the left pane.
    6. Create a new service called EXTN_WC_RTAM. Ensure it is added to the WebSphere Commerce group.
      Set the service as synchronous.
    7. Drag components onto the palette so it resembles the above flow diagram.
    8. For the line going from theStart node to the Generic JMS node, use the following for the configuration parameters.
      Note:
      • These are just sample parameters. Your environment might be different so some of them might have to change. In particular, you will have to update the Provider URL to match the hostname and SOAP port of your WESB server.
      • The same queue is used by other Sterling Commerce to WebSphere Commerce messages, for demo purposes. It is likely a valid approach to use a separate queue for the inventory availability update messages.
      • If a parameter does not appear in the tables below, it denotes that the field is left blank.
      Runtime tab
      Parameter Value
      Queue Name WCToSSFSMediationModule/SSFSAPIsImport_RECEIVE_D
      Time To Live (seconds) 10
      Provider URL corbaloc:iiop:your_host_name:2809
      Initial Context Factory WebSphere MQ
      QCF Lookup WCToSSFSMediationModule/SSFSAPIsImport_QCF
      Persistent Selected
      Needs Decompression Not selected
      Commit of this message depends on parent transaction Selected
      Enable JMS Security Not selected
      Header tab
      Parameter Value
      Header Name TargetFunctionName
      Header Value sendAvailabilityChange
    9. Save your changes to the service definition.
  2. Select the Actions tab and click Create New to create a new action called EXTN_RTAM/RTAM/group and associated with the service definition created in the previous step. Ensure it is added to the WebSphere Commerce group.
    1. Use the following for the configuration parameters:
      Action Detail: RTAM (General)
      Parameter Value
      Action Code EXTN_RTAM
      Action Name RTAM
      Action Group WebSphere Commerce
      Invoked Services tab
      Parameter Value
      Invoke the following services as part of this action Selected, EXTN_WC_RTAM
    2. Save your changes to the action.
  3. Select the Transactions tab and double-click Real Time Availability Monitor to open it.
    1. In the middle section, under the Events tab, double-click the REALTIME_AVAILABILITY_CHANGE event.
    2. Navigate back to the Actions tab, locate the above action and drag and drop it on top of the Event Handler Definition section at the bottom.

      This causes the REALTIME_AVAILABILITY_CHANGE event to trigger the action and service definition.

    3. In the middle section, under the Events tab, right-click on the REALTIME_AVAILABILITY_CHANGE event and select Details.
    4. Select Is Active? and click OK.
    5. In the top section, under the Time Triggered tab, click Create New to create a new agent criteria with the following values:
      Note:
      • These are just sample parameters. Your environment might be different so some of them might have to change. In particular, you will have to update the Provider URL to match the hostname and SOAP port of your WESB server.
      • For the JMS QCF and queue, they should be a new QCF and queue reserved exclusively for the agent server. Any QCF and queue is suffice.
      • If a parameter does not appear in the tables below, it denotes that the field is left blank.
      Runtime Properties tab
      Parameter Value
      Agent Server RTAMAgent
      Note: Click Create New to create a new agent server.
      JMS Queue Name WCToSSFSMediationModule/RTAMAgent_Q
      No. of Threads 1
      Initial Context Factory WebSphere MQ
      QCF Lookup WCToSSFSMediationModule/RTAMAgent_QCF
      Provider URL corbaloc:iiop:your_host_name:2809
      Enable JMS Security Not selected
      Schedule Trigger Message Not selected
      Criteria Parameters tab
      Parameter Value
      Action Get
      Number of Records To Buffer 0
      MonitorOption 3
      CollectPendingJobs Y
      RaiseEventOnAllAvailabilityChanges N
    6. Save your changes.
  4. Select Applications > Global Inventory Visibility from the menu.
    1. Click Load Rules for Organization and select MadisonsRoot.
    2. Double-click Product Sourcing Distribution Groups and click Create New to create a new distribution group, for example test_dist_group.
    3. Click Save, then under the Distribution Details tab, click Create New to add Madisons (and other store nodes) as sources to the distribution group:
      Distribution Details
      Parameter Value
      Source Ship Node Madisons
    4. Click Save to save your changes.
    5. Double-click Inventory Rules to open it and select the Monitor Rules tab.
    6. Select Use Activity-Based Mode, if using monitor option 1.
    7. Select the distribution group created above for node-level monitoring.
    8. Under the ATP Monitor Rules section, click Create New to create a new ATP monitor rule, for example test, with the following values:
      ATP Monitor Rule Details
      Parameter Value
      ATP Monitor Rule test
      ATP Monitor Rule Name test rule
      Lead Time Override (Days) 0
      Disabled Not selected
      Event Based ATP Monitor Rule Selected
      High Quantity Boundary 100
      Medium Quantity Boundary 10
      Low Quantity Boundary 1
    9. Click Save to save your changes.
      Note: You might need to configure additional ATP monitor rules, depending on your scenario complexity.
  5. Select Applications > Catalog Management from the menu.
    1. Click Load Rules for Organization to switch to MadisonsRoot.
    2. Double-click Products > Items to open it.
    3. Enter the search criteria and click Search. If you do not enter any search criteria, all items are returned.
    4. Double-click an item to open it.
    5. Under the Inventory Information tab, change the ATP monitor rule and the node-level ATP monitor rule to one of the appropriate ATP monitor rules created in this task. Click Save to save your changes, and repeat for other necessary items.
  6. Start the RTAM agent defined earlier in this task:
    1. Telnet to the Sterling Commerce machine as wasuser.
    2. Navigate to the Sterling Foundation bin directory. For example, usr/Sterling/Foundation/bin
    3. Start the RTAM agent:
      
      nohup ./agentserver.sh RTAMAgent > ../logs/RTAMAgent.log 2>&1 &
      
    4. Monitor the RTAM agent:
      
      tail -f ../logs/RTAMAgent.log
      
      Optionally, use the System Management Console to enable verbose logging.
    5. Trigger the agent:
      
      ./triggeragent.sh TEST_RTAM_CRITERIA_OP3
      

What to do next

With RTAM set up correctly, you should see AvailabilityChange messages being received by the mediation module.

To verify that inventory cache push synchronization is working, check the WESB SystemOut.log for Sterling Commerce AvailabilityChange and WebSphere Commerce SyncInvnetoryAvailability messages, and confirm that the INVAVL table has been updated.