Overall process logic

The process logic for this collaboration template’s Create verb.

  1. The communication process begins when the iSoft Peer-to-Peer Agent, TPI server, or WebSphere® Business Integration Connect receives the UCCnet worklist. It decrypts the message, writes it to a directory, and notifies the specific AS2 channel connector with the data necessary to retrieve the document.
  2. The AS2 channel connector starts the flow through a UCCnetMessageReceive collaboration object by instantiating the IBM® WebSphere Business Integration Data Handler for XML with the received UCCnet message, which contains the UCCnet worklist.
  3. The IBM WebSphere Business Integration Data Handler for XML creates a business object of the form UCCnetxxx_envelope (if iSoft connectivity is used), UCCnetTPIxxx_envelope (if TPI connectivity is used), or UCCnetJMSxxx_envelope (if WebSphere Business Integration Connect is used with JMS). This business object contains the entire UCCnet message, including each individual data instance and the commands related to it.
    Note: In this and the following steps, the variable xxx specifies the XML definition type used (DTD or XSD).
  4. The business object is converted to a UCCnetGBO_envelope business object by passing through an input map of the form UCCnetxxx_envelope_to_UCCnetGBO_envelope (if iSoft connectivity is used), UCCnetTPIxxx_envelope_to_UCCnetGBO_envelope (if TPI connectivity is used), or UCCnetJMSxxx_envelope_to_UCCnetGBO_envelope (if WebSphere Business Integration Connect is used with JMS). The DTD forms of these maps convert incoming ASBOs containing DTD-based publication information notifications into UCCnetGBO_envelope GBOs containing XSD-based Catalogue Item Notifications for ongoing processing by the solution.

    The XSD-based Catalogue Item Notifications, Price, and PriceBracket responses are not converted.

    The AS2 channel connector checks for subscriptions to the UCCnetGBO_envelope business object by collaboration objects. Collaboration objects based on the UCCnetMessageReceive collaboration template subscribe to it. Therefore, a UCCnetMessageReceive collaboration object is passed the business object through its FromAS2 port.

  5. The UCCnetMessageReceive collaboration object iterates through the UCCnetGBO_envelope business object, multiple times, separating each instance of a Catalogue Item Notification, Price, or PriceBracket response. It allows UDEX category codes as received by UCCnet to be changed to internal category codes through the configuration property CATEGORYMAP_FILE. See Mapping category codes (Catalogue Item Notifications).
  6. For a Catalogue Item Notification with a NEW_ITEM, DATA_CHANGE, WITHDRAW, or DE_LIST command, the UCCnetMessageReceive collaboration object persists the UCCnetGBO_envelope business object to a local identifier store by first converting it to a UCCnetGBO_identifier business object and then sending the object to its ToIdentifier_Store port. See Persisting items to a local identifier store (Catalog Item Notifications).

    Before sending the business object to the ToIdentifier_Store port, the collaboration object can configure the FILTER_DUPLICATE property to ensure that a duplicate item does not already exist. See Filtering to eliminate processing duplicate items.

  7. The UCCnetMessageReceive collaboration object persists the UCCnetGBO_envelope business object to a local message store for use in a return message by first converting it to a UCCnetGBO_storable business object and then passing it to its ToMessage_Store port. Ssee Persisting items to a local message store.
  8. The UCCnetMessageReceive collaboration object examines the UCCnetGBO_envelope business object for Catalogue Item Notifications to detect that it contains attributes required by UCCnet, that it came from an approved set of supply-side trading partners, that it belongs to an approved set of item categories, and that it passes a set of complex filters that are based on the interaction of multiple attributes. See Filtering publication requests (Catalogue Item Notifications) for more information about filtering business objects. Based on this analysis, the collaboration object handles processing, as follows:
    • If the UCCnetMessageReceive collaboration object detects that certain attributes required by UCCnet are missing, that the item is from a vendor or in a category not accepted by the demand-side trading partner, or that it did not pass the set of complex filters, it creates a Retail_Item business object by passing the UCCnetGBO_envelope business object containing the individual Catalogue Item Notification command and its data through the map specified in the TORETAIL_RESPONSE_MAP property. It then handles the resulting business object according to the value specified in the FILTER_FAIL_RESPONSE configuration property. Any status specified in the FILTER_FAIL_RESPONSE property is attached regardless of what the original message type was in the UCCnetGBO_envelope business object. The collaboration object then sends this Retail_Item business object through its ToRetail_Response port to a UCCnetMessageSend collaboration object for transmittal to UCCnet.
    • If the UCCnetMessageReceive collaboration object detects that all required information is complete, that the item is from a vendor and it is in a category accepted by the demand-side trading partner, and that the complex filter requirements were met, it creates a Retail_Item business object by passing the UCCnetGBO_envelope business object containing the individual Catalogue Item Notification and its data through the map specified in the TORETAIL_PROCESSING_MAP property. It then sets the status of the resulting item to Review, and sets the command type according to the original message type received from UCCnet.

      If configured to do so via collaboration properties, the collaboration builds a Retail_Audit business object from any optional audit information included in the triggering business object and other audit information specific to the collaboration instance and the Retail_Item being processed and sends the Retail_Audit object to the Audit port. The audit data, including any changes made by the external audit process, will be appended to the the Retail_Item.

      It sends this Retail_Item business object through its ToRetail_Processing port to a collaboration object or connector that provides continued processing of the business object.

  9. For a Price or PriceBracket response, the UCCnetMessageReceive collaboration object creates a Retail_Price business object by passing the UCCnetGBO_envelope business object containing the individual Price or PriceBracket response and its data through the map specified in the TOPRICE_PROCESSING_MAP property. It then sets the command type according to the original message type received from UCCnet.

    If configured to do so via collaboration properties, the collaboration builds a Retail_Audit business object from any optional audit information included in the triggering business object and other audit information specific to the collaboration instance and the Retail_Price being processed and sends the Retail_Audit object to the Audit port. The audit data, including any changes made by the external audit process, will be appended to the Retail_Price.

    It sends this Retail_Price business object through its ToPrice_Processing port to a user defined collaboration object or connector that provides continued processing of the business object.

If exceptions are encountered during processing, and if configured via a collaboration property to do so, the UCCnetMessageReceive collaboration object creates a Retail_Error business object containing information describing the exception and sends it to the Error port.

The UCCnetMessageReceive collaboration object waits for a return from the processing collaboration object or connector before sending the next item.

Parent topic: Collaboration template processes