Architectural overview of the IBM Product Recommendations data extraction utility

The data extraction utility for IBM Product Recommendations, formerly known as Coremetrics Intelligent Offer consists of a series of components that extract catalog data from the WebSphere Commerce database, format the data, and write the data to CSV-format files. If you are customizing the IBM Product Recommendations data extraction utility, you should understand how the components work together to produce the EPCMF and ECDF files that IBM Product Recommendations requires.

The following diagram shows the flow of data from one utility component to the next:


Data extraction utility component diagram

The data extraction utility process is described here:

  • 1 The data extraction utility calls the data reader. Two data reader classes are provided:
    • For EPCMF (catalog entry) data: com.ibm.commerce.catalog.dataload.datareader.CatalogEntryReaderMediator
    • For ECDF (category) data: com.ibm.commerce.catalog.dataload.datareader.CatalogGroupReaderMediator
    The data reader invokes the CatalogEntry and CatalogGroup web services to retrieve objects from the database. The data reader returns a single logical service data object to pass to the business object builder.
  • 2 The business object builder (com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseExtractBusinessObjectBuilder) passes the service data object to the business object mediator. The business object builder does not perform any additional functions.
  • 3 The business object mediator (com.ibm.commerce.foundation.dataload.businessobjectmediator.BusinessObjectToCSVTransformMediator) transforms the logical service data object, which is highly structured, to a hashmap object that more closely matches the output file format. The hashmap object contains name-value pairs according to the XPath-to-column data mappings defined in the business object configuration file.
  • 4 The business object mediator passes the hashmap object to the data writer (com.ibm.commerce.foundation.dataload.datawriter.CMDataWriter). The data writer writes the contents of the hashmap to a CSV file according to the column definitions in the business object configuration file.