Data Load utility framework process and components

The data load framework loads your input data into your target database.

Note: We can load data into a workspace. When you load data into a workspace, the Data Load utility respects the locking policy set in the workspace. However, the table object mediator does not support workspace locking. The data load framework consists of four main components:

  1. DataReader: The DataReader reads the input data from a data source and returns an object that is passed to the BusinessObjectBuilder.

  2. BusinessObjectBuilder: The BusinessObjectBuilder populates a data object based on the object that is passed from the DataReader. The data object is then passed to the BusinessObjectMediator.

  3. BusinessObjectMediator: The BusinessObjectMediator transforms the data object into a list of physical objects that is then passed to the DataWriter.

  4. DataWriter: The DataWriter saves the physical objects to the database using JDBC or a list file in the database native loadable format.

The DataReader, BusinessObjectBuilder, BusinessObjectMediator, and DataWriter are also names for the interfaces. The implementation of these interfaces is defined in the data load business object configuration file. The following code snippet is a sample data business object configuration file:

When you define the data load business object configuration file, ensure that you specify the right implementation class for the DataReader, BusinessObjectBuilder, BusinessObjectMediator, and DataWriter. From the interface, the object flow from the DataReader to the BusinessObjectBuilder is a generic Java object. Similarly, the object flow from the BusinessObjectBuilder to the BusinessObjectMediator, and from the BusinessObjectMediator to the DataWriter are all generic Java objects. The specific implementation class expects that a specific type of object is passed around. For example, the CSVReader reads a line of data from a CSV file and returns a Map. Therefore, BaseBusinessObjectBuilder is expecting to have a map that is passed in. So the CSVReader and the BaseBusinessObjectBuilder can be used together.


DataReader

The DataReader is an interface for a physical data reader. The following classes implement the DataReader interface:

See the com.ibm.commerce.foundation.dataload.datareader.DataReader API for more information.


BusinessObjectBuilder

The BusinessObjectBuilder is an interface for building a business object. The following classes implement the BusinessObjectBuilder interface:

See the com.ibm.commerce.foundation.dataload.businessobjectbuilder.BusinessObjectBuilder API for more information.


BusinessObjectMediator

The BusinessObjectMediator is an interface for transforming a business object into a list of physical objects. The following classes implement the BusinessObjectMediator interface:

See the com.ibm.commerce.foundation.dataload.businessobjectmediator.BusinessObjectMediator API for more information.


DataWriter

The DataWriter is an interface for a physical data writer. The following classes implement the DataWriter interface:

See the com.ibm.commerce.foundation.dataload.datawriter.DataWriter API for more information.