Processus et composants de l'infrastructure de l'utilitaire de chargement de données
L'infrastructure de chargement de données charge les données d'entrée dans votre base de données cible.
- DataReader : Ce composant lit les données d'entrée depuis une source de données et renvoie un objet qui est transmis au composant BusinessObjectBuilder.
- BusinessObjectBuilder : Ce composant alimente un objet de données en fonction de l'objet transmis par DataReader. L'objet de données est ensuite transmis au composant BusinessObjectMediator.
- BusinessObjectMediator : Ce composant transforme l'objet de données en liste d'objets physiques qui est ensuite transmise au composant DataWriter.
- DataWriter : Ce composant enregistre les objets physiques dans la base de données à l'aide de JDBC ou d'un fichier de liste au format de chargement natif de la base de données.
<_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>Lorsque vous définissez le fichier de configuration d'objet métier de chargement de données, veillez à spécifier la classe d'implémentation appropriée pour les éléments DataReader, BusinessObjectBuilder, BusinessObjectMediator et DataWriter. Depuis l'interface, le flux d'objets depuis l'élément DataReader vers l'élément BusinessObjectBuilder constitue un objet Java générique. De même, le flux d'objets depuis l'élément BusinessObjectBuilder vers l'élément BusinessObjectMediator et depuis l'élément BusinessObjectMediator vers l'élément sont tous des objets Java génériques. La classe d'implémentation spécifique attend la transmission d'un type d'objet spécifique. Par exemple, CSVReader lit une ligne de données depuis un fichier CSV et renvoie une Mappe. Par conséquent, BaseBusinessObjectBuilder s'attend à recevoir une mappe. De la sorte, CSVReader et l'élément BaseBusinessObjectBuilder peuvent être utilisés ensemble.
DataReader
- CSVReader
Cette classe lit le contenu d'un fichier CSV, une ligne à la fois, et construit un objet Mappe. La clé dans la mappe est spécifiée soit dans la configuration, soit dans la première ligne du fichier CSV.
- XMLReader
Cette classe lit le contenu d'un fichier XML, un élément à la fois, et construit un objet Mappe. La clé dans la mappe est spécifiée dans le fichier de configuration ou dans l'élément racine du fichier 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
- BaseBusinessObjectBuilderCette classe alimente un objet métier en fonction de l'objet en entrée. L'objet en entrée attendu est une mappe. Elle génère l'objet métier spécifique en fonction des attributs qui sont spécifiés dans la configuration : packageName et dataObjectType. L'objet métier est transmis à l'instance BusinessObjectMediator spécifiée dans la configuration.Remarque : Utilisez cette classe si la classe d'implémentation de DataReader est CSVReader et que la classe BusinessObjectMediator attend un objet métier en entrée.
- TableObjectBuilderCette classe alimente une liste d'éléments ExtendedTableDataObject d'après la définition table/colonne spécifiée dans la configuration. La liste ExtendedTableDataObject peut être transmise au médiateur TableObjectMediator.Remarque : Utilisez cette classe si la classe d'implémentation de médiateur BusinessObjectMediator est TableObjectMediator.
<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder"
packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="CatalogGroupType" >BusinessObjectMediator
- Médiateur logique basé nom de HCL CommercePlusieurs classes d'implémentation sont disponibles pour les composants suivants :
- catalogue
- stock
- price
- membre
- Médiateur basé table
La classe implémentée pour ce médiateur est TableObjectMediator. Elle peut être utilisée avec TableObjectBuilder.
<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator" componentId="com.ibm.commerce.catalog" >
DataWriter
- JDBCDataWriter
Cette classe écrit directement dans la base de données les objets physiques qui sont créés par BusinessObjectMediator. L'éditeur de données JDBC rend persistant l'objet physique directement dans la base de données avec les API de lot JDBC. Les chargements initiaux peuvent être configurés pour utiliser soit l'éditeur de données JDBC, soit l'éditeur de données de fichier natif. Les chargements de deltas devraient être configurés pour utiliser l'éditeur de données JDBC.
- NativeDBDataWriterCette classe génère uniquement les fichiers chargeables natifs de la base de données. L'éditeur de données de fichier natif rend persistant l'objet physique dans un fichier sous un format de chargement natif de la base de données. Ce fichier peut ensuite être chargé dans la base de données avec l'utilitaire de chargement natif de celle-ci. Pour des performances optimales, les chargements initiaux impliquant un grand volume de données peuvent être configurés pour générer et charger des données avec ce format de fichier natif de la base de données.Remarque : NativeDBDataWriter prend uniquement en charge DB2 et Oracle.
<_config:DataWriter className="com.ibm.commerce.foundation.dataload.datawriter.JDBCDataWriter" />