Proceso y componentes de la infraestructura de carga de datos
La infraestructura de carga de datos carga los datos de entrada en la base de datos de destino.
- DataReader: El lector de datos (DataReader) lee los datos de entrada de un origen de datos y devuelve un objeto que se pasa al creador de objetos de negocio (BusinessObjectBuilder).
- BusinessObjectBuilder: El creador de objetos de negocio (BusinessObjectBuilder) llena un objeto de datos basándose en el objeto que se ha pasado desde el lector de datos (DataReader). El objeto de datos se pasa entonces al mediador de objetos de negocio (BusinessObjectMediator).
- BusinessObjectMediator: El mediador de objetos de negocio (BusinessObjectMediator) transforma el objeto de datos en una lista de objetos físicos que se pasa entonces al grabador de datos (DataWriter).
- DataWriter: El grabador de datos (DataWriter) guarda los objetos físicos en la base de datos utilizando un archivo de lista o JDBC en el formato cargable nativo de la base de datos.
<_config:DataloadBusinessObjectConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/foundation/config ../../../xml/config/xsd/wc-dataload-businessobject.xsd"
xmlns:_config="http://www.ibm.com/xmlns/prod/commerce/foundation/config">
<_config:DataLoader className="com.ibm.commerce.foundation.dataload.BusinessObjectLoader">
<_config:DataReader className="com.ibm.commerce.foundation.dataload.datareader.CSVReader" firstLineIsHeader="true" useHeaderAsColumnName="true"/>
<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder"
packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="CatalogGroupType" >
<_config:DataMapping>
<_config:mapping xpath="CatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="GroupIdentifier" />
<_config:mapping xpath="displaySequence" value="Sequence" />
<_config:mapping xpath="Attributes/field1" value="Field1"/>
<_config:mapping xpath="Attributes/field2" value="Field2"/>
<_config:mapping xpath="" value="Delete" deleteValue="1"/>
</_config:DataMapping>
<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator" componentId="com.ibm.commerce.catalog" >
<_config:DataWriter className="com.ibm.commerce.foundation.dataload.datawriter.JDBCDataWriter" />
</_config:BusinessObjectMediator>
</_config:BusinessObjectBuilder>
</_config:DataLoader>
</_config:DataloadBusinessObjectConfiguration>
Al definir el archivo de configuración de objeto de negocio de carga de datos, debe asegurarse de que especifica la clase de implementación correcta para DataReader, BusinessObjectBuilder, BusinessObjectMediator y DataWriter. En la interfaz, el flujo de objetos del DataReader al BusinessObjectBuilder es un objeto Java genérico. Igualmente, el flujo de objetos del BusinessObjectBuilder al BusinessObjectMediator, y del BusinessObjectMediator al DataWriter son todos objetos Java genéricos. La clase de implementación específica espera que se pase un tipo específico de objeto. Por ejemplo, la clase CSVReader lee una línea de datos de un archivo CSV y devuelve una Correlación. Por consiguiente, la clase BaseBusinessObjectBuilder espera que se le pase una correlación. Por lo tanto, las clases CSVReader y BaseBusinessObjectBuilder se pueden utilizar juntas.
DataReader
- CSVReader
Esta clase lee el contenido de un archivo CSV, línea a línea, y crea un objeto Correlación. La clave de la Correlación se especifica en la configuración o en la primera línea del archivo CSV.
- XMLReader
Esta clase lee el contenido de un archivo XML, un elemento a la vez y crea un objeto Correlación. La clave de la Correlación se especifica en el archivo de configuración o en el elemento raíz del archivo XML.
- CSV
<_config:DataReader className="com.ibm.commerce.foundation.dataload.datareader.CSVReader" firstLineIsHeader="true" useHeaderAsColumnName="true"/>
- XML
<_config:DataReader className="com.ibm.commerce.foundation.dataload.datareader.XMLReader" />
BusinessObjectBuilder
- BaseBusinessObjectBuilderEsta clase rellena un objeto de negocio que se basa en el objeto de entrada. Espera que el objeto de entrada sea un objeto Correlación. Crea el objeto de negocio específico que se basa en los atributos que se especifican en la configuración: packageName y dataObjectType. El objeto de negocio se pasa a la instancia del BusinessObjectMediator especificado en la configuración.Nota: Utilice esta clase si la clase de implementación de DataReader es CSVReader, y la clase BusinessObjectMediator espera como entrada un objeto de negocio.
- TableObjectBuilderEsta clase llena con datos una lista de ExtendedTableDataObject basándose en la definición de tabla/columna que se especifica en la configuración. La lista de ExtendedTableDataObject se puede pasar al TableObjectMediator.Nota: Utilice esta clase si la clase de implementación de BusinessObjectMediator es TableObjectMediator.
<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder"
packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="CatalogGroupType" >
BusinessObjectMediator
- Mediador basado en nombres lógicos de HCL CommerceHay varias clases de implementación disponibles para los siguientes componentes:
- catalog
- inventario
- precio
- miembro
- Mediador basado en tablas
La clase implementada para este mediador es TableObjectMediator. Se puede utilizar con la clase TableObjectBuilder.
<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator" componentId="com.ibm.commerce.catalog" >
DataWriter
- JDBCDataWriter
Esta clase graba directamente en la base de datos los objetos físicos creados por BusinessObjectMediator. El grabador de datos JDBC mantiene el objeto físico en la base de datos directamente con las API de lotes JDBC. Las cargas iniciales se puede configurar para que utilicen el grabador de datos JDBC o el grabador de datos de archivo nativo. Las cargas delta deben configurarse para utilizar el grabador de datos JDBC.
- NativeDBDataWriterEsta clase genera solo archivos cargables nativos de base de datos. El grabador de datos de archivo nativo mantiene el objeto físico en un archivo en un formato cargable de base de datos nativo. A continuación, este archivo podrá cargarse en la base de datos con el programa de utilidad de carga nativo de la base de datos. Las cargas iniciales que requieran grandes cantidades de datos se pueden configurar para que generen y carguen datos con este formato de archivo de carga nativo de base de datos, para obtener un rendimiento óptimo.Nota: NativeDBDataWriter solo da soporte a DB2 y Oracle.
<_config:DataWriter className="com.ibm.commerce.foundation.dataload.datawriter.JDBCDataWriter" />