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.

Nota: Puede cargar datos en un espacio de trabajo. Al cargar datos en un espacio de trabajo, el programa de utilidad de carga de datos respeta la política de bloqueo establecida en el espacio de trabajo. Sin embargo, el mediador de objetos de tabla no da soporte al bloqueo en espacios de trabajo.
La infraestructura de carga de datos consta de cuatro componentes principales:
  1. 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).
  2. 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).
  3. 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).
  4. 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.
DataReader, BusinessObjectBuilder, BusinessObjectMediator y DataWriter son también nombres para las interfaces. La implementación de estas interfaces se define en el archivo de configuración de objeto de negocio de carga de datos. El fragmento de código siguiente es un archivo de configuración de objeto de negocio de carga de datos de ejemplo:
<_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

DataReader es una interfaz para un lector de datos físicos. Las clases siguientes implementan la interfaz 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.

Consulte la API com.ibm.commerce.foundation.dataload.datareader.DataReader para obtener más información.
  • 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

BusinessObjectBuilder es una interfaz para crear un objeto de negocio. Las clases siguientes implementan la interfaz BusinessObjectBuilder:
  • BaseBusinessObjectBuilder
    Esta 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.
  • TableObjectBuilder
    Esta 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.
Consulte la API com.ibm.commerce.foundation.dataload.businessobjectbuilder.BusinessObjectBuilder para obtener más información.
<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder" 
	packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="CatalogGroupType" >

BusinessObjectMediator

BusinessObjectMediator es una interfaz para transformar un objeto de negocio en una lista de objetos físicos. Las clases siguientes implementan la interfaz BusinessObjectMediator:
  • Mediador basado en nombres lógicos de HCL Commerce
    Hay 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.

Consulte la API com.ibm.commerce.foundation.dataload.businessobjectmediator.BusinessObjectMediator para obtener más información.
<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator" componentId="com.ibm.commerce.catalog" >

DataWriter

DataWriter es una interfaz para un grabador de datos físicos. Las clases siguientes implementan la interfaz 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.

  • NativeDBDataWriter
    Esta 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.
Consulte la API com.ibm.commerce.foundation.dataload.datawriter.DataWriter para obtener más información.
<_config:DataWriter className="com.ibm.commerce.foundation.dataload.datawriter.JDBCDataWriter" />