SlideShare a Scribd company logo
1 of 50
WebSphere Commerce v7




                                            An overview




Francesco Schettini              @FranSchettini
E-Commerce Solution Architect
Freelance
                                 http://fschettini.com
Overview
Scope

 CSVs

                 Trasformation    WebSphere
                 & Loading        Commerce

                 •   Products
 XML             •   Attributes
                 •   Prices
        Legacy   •   Filters
                 •   Inventory
                 •   Promotions
                 •   Categories
                 •   …
Transforming and Loading data
 WebSphere Commerce provides utilities for
  preparing and loading data into a WebSphere
  Commerce database.
 The loading utilities are flexible enough to handle
  customization that are made to the WebSphere
  Commerce schema.
 The two main loading utilities are
   the mass load utility
   the Data Load utility
 The Data Load utility is the recommended loading
 utility.
Tasks
 The Data Load utility performs the following functions
 in a single operation:
   Reads data from a source.
   Transforms the source data to WebSphere Commerce
    business objects.
   Allocates and resolves WebSphere Commerce business
    objects to physical data.
   Loads the physical data into the database.


       Data          BO         PD          DB
Tip
 CSV format is the suggested and most used way in
 data load flow!

Why? Cause WCS provides OutOfTheBox a
 CSV reader
Simple use case
   3 Products.CSV




                    Transform & Load
Not so simple use case
   cat.CSV       prod.CSV            color.CSV

     offer.CSV      size.CSV         …


                  Transform & Load
Complex use case
  Cat_01012013.CSV      Prod_01012013.CSV       Color_01012013.CSV

   Offer_01012013.CSV       Size_01012013.CSV    …



                        Transform & Load
                                                     Every Day!
Points of complexity
 Duplication
 Correctness
 Consistency
 Integrity
 Big data
 Performance
 Data Knowledge
…
Architectural Overview
                             Data                                 WCS
    Source
                            Loader                                DB




    Data                BO                    BO                   Data
   Reader              Builder              Mediator               Writer


              Java               Business              Phisical
             Objects             Objects               Objects
Data Load planification
                     1   Development
                            Phase
      Developer              1 week
                              1 year




                     2      Load
                            Phase
                             1 second   Repeat as
 PM
      System Admin          2 months    needed
Question
 A customer needs to load products data from its old
 e-commerce platform. Which approach would you
 suggest?
  A. Export the data as CSV and use dataload tool to load
     the data contained in the files;
  B. Export the data as CSV and use massload tool to load
     the data contained in the files;
  C. Run custom queries to load the data directly in the
     Commerce DB;
Development and Run
Classic ETL development tasks
 Create reader component
 Create transformer component
 Create loader component


                                 Extraction
                                 Transformation
                                 Loading
WCS loves you!
        CSV       Extraction
  1    Reader      com.ibm...CSVReader




         BO       Trasformation
 2    Builder &   com.ibm...BaseBusinessObjectBuilder
       Loader     com.ibm…BusinessObjectLoader



      Mediator    Loading
 3     & Data
       Writer
                  com.ibm...CatalogGroupMediator
                  com.ibm...JDBCDataWriter
Developer’s Tasks
 Create Business   Object templates files
 Create Environment’s configuration files
 Create Load order configuration files
Business Object Template’s content
 CSV reader configuration
 Business Object Builder Data Mapping
 Mediator configuration
 Data Writer configuration
Tip
 Create a different Template for each Business
 Object
BO Template, an example
Configuring Environment
 Default Store
 Default Language
 Default Currency
 Data Base connection coordinates
 IDResolver configuration
 Default Data Writer
Configuring Environment, an
example
Configuring Loading Order
 Environment configuration file
 Business object loading order
    CSV file
    Business Object Template File
Configuring Loading Order, an
example
Run!!!!!! (suggested approach)
 Log in to local WebSphere Commerce instance (shell)
 Run the script dataload.sh including the indication of
 the Configuration Loading Order file.

            WCS creates multiple logs- by
            default- for each run:
            • Main log file
            • A detailed log file for each
              Business Object
Basic skills required
 Deep understanding of WCS DB Schema
 Deep knowledge of SQL and DBMS
 Confidence using
    Management Center
    Accelerator
    Organizational Administration Console
 Experience with ETL procedures and XML
  configuration tasks
 Troubleshooting skills
 Java development
Question
 What’s the minimum amount of configuration files I
 need If I want to follow the suggested approach?
  A. 1
  B. 3
  C. 5
  D. Cannot be defined
Customization
Data Load Customizations
        OOB extension        Data
                             Load
  0
                            customizations
Use generic
TableObject
                        1              2        3
                  Data               Column    BO
                  Reader             Handler   Mediator
Use TableObject                                      0
 Extension to the concept of a business object builder;
 The table object builder is responsible for accepting
  data read by the data reader and constructing value
  objects representing physical tables (table data
  objects) in the data base;
 The partially populated table data objects will then
  be passed to the business object mediator for
  additional population.
Extension Table, an example 0
 Personal Wish List population;
 No OOB Business Object Mediators;
 Use generic TableObjectBuilder and Mediator;
 Tables involved:
    IITEMLIST
    IITEM
Extension Table, example 1 0
<_config:BusinessObjectBuilder className="com…TableObjectBuilder" >
<_config:Table name="IITEMLIST" excludeUnListedColumns="true">
         <_config:Column name="IITEMLIST_ID" value="itemlist_id” />
         <_config:Column name="MEMBER_ID" value="cust_id” />
</_config:Table>
<_config:Table name="IITEM" excludeUnListedColumns="true">
         <_config:Column name="CATENTRY_ID" value="catentry_id” />
         <_config:Column name="IITEMLIST_ID" value="itemlist_id” />
         <_config:Column name="STOREENT_ID" value="storeent_id” />
         <_config:Column name="MEMBER_ID" value="cust_id” />
         <_config:Column name="QUANTITY" value="quantity” />
</_config:Table>
<_config:BusinessObjectMediator className="com...TableObjectMediator" />
</_config:BusinessObjectBuilder>
Extension Table, example 2 0
<_config:BusinessObjectBuilder className="com...TableObjectBuilder" >
   <_config:Table name="USERREG" excludeUnListedColumns="true">
       <_config:Column name="USERS_ID" value="USERS_ID" valueFrom="IDResolve" >
                     <_config:IDResolve tableName="USERREG" generateNewKey="false"
>
                     </_config:IDResolve>
          </_config:Column>
          <_config:Column name="LOGONID" value="login" />
          <_config:Column name="PLCYACCT_ID" value="-1" valueFrom="Fixed" />
   </_config:Table>…
   …
  <_config:BusinessObjectMediator className="com...TableObjectMediator" />
</_config:BusinessObjectBuilder>
Supported File Formats                      1
 CSV
 XML (from FEP6)



http://pic.dhe.ibm.com/infocenter/wchelp/v7r0m0
/topic/com.ibm.commerce.data.doc/refs/rmldatalo
adsourcefile.htm
Custom data reader                                          1
 It is not necessary to change the format of your
  existing data to work with the Data Load utility.
 Create custom data reader
   Create new class extends AbstractDataReader;
   Implement next() abstract method;
   Override the init(), close(), and getSourcePosition()
    methods;
   In the <_config:DataReader> template files use the
    custom implementation.
Custom column handler                                 2
 Resolve data from database columns based on input
  values that cannot be mapped to the column value
  through the configuration;
 Create custom column handler
   Create new class extends AbstractColumnHandler;
   Implement resolveColumnValue() abstract method;
   Override the init(), close() methods;
   In the <_config:ColumnHandler> template files-using
    TableObject- use the custom implementation.
Custom column handler, an
example                                             2
 Password column in the database is a clear text
  password;
 Password column in the database table expects an
  encrypted value;
 Create a custom column handler to encrypt the clear
  text password and return an encrypted password from
  the resolveColumnValue() method.
Custom column handler, an
example                                                                 2
<_config:Column
         name="LOGONPASSWORD"
         value="LOGONPASSWORD"
         valueFrom="ColumnHandler" >
         <_config:ColumnHandler
className="com.mycompany...PasswordEncryptionHandler">
                  <_config:Parameter name="logonPassword"
value="logonPassword" />
                  <!-- WC-server.xml is the file to store the merchant key -->
            <_config:Parameter name="instanceConfigLocation"
                  value="c:IBMWCDE_ENT70workspaceWCxmlconfigwc-
server.xml"
                  valueFrom="Fixed" />
         </_config:ColumnHandler>
</_config:Column>
Default BO Mediators                                3
 Catalog Mediators
 Inventory Mediators
 Price Mediators



http://pic.dhe.ibm.com/infocenter/wchelp/v7r0m0/topic/co
m.ibm.commerce.data.doc/refs/rmlmediators.htm
Custom business object
mediator                                              3
 Create custom business object mediator
    Create new class extends
     AbstractBusinessObjectMediator;
    Implement transform() abstract method to transform
     the custom business objects into a list of physical
     objects;
    Override the methods as necessary to achieve mediate
     functionality;
    In the <__config:BusinessObjectMediator> template
     files use the custom implementation.
A real common case
The legacy architecture

                       3rd party    Live
                        System     Stores

  Product Managers
  Marketing Managers
  …
Why do not introduce WCS?
                       3rd party
                        System     Stores


  Product Managers
  Marketing Managers
  …
                         CSV
                         files     WCS
Why do not use WCS?
       3rd party
        System              Stores




                            WCS


       Product Managers
       Marketing Managers
       …
Involve DL tasks
                       3rd party
                        System            Stores


  Product Managers
  Marketing Managers
  …
                         CSV       Data     WCS
                         files     Load     Data
The WCS architecture
 Staging                          Production

     WCS                                 WCS
   instance                             Cluster
                                                     FE Store
              CMC
                    propagation

                                    Production
   Staging                             DB         Production
     DB                              Main WS         DB
                                                     WS1
The WCS architecture + DL
          Staging                Production

             WCS                      WCS
           instance                  Cluster
CSV                                            FE Store           CSV
                      CMC
files                                                             files

                       propagation
                                     Production
  DL        Staging                               Production      DL
                                        DB
Catalog       DB                      Main WS        DB        Inventory
                                                     WS1




  1                         2                                     3
Problems to overcome
 Complex CSV data structure
 Complex mapping with WCS BOs
 Daily loading of huge CSV files
 One single file containing whole data set
 Not clean data
…
References
 http://pic.dhe.ibm.com/infocenter/wchelp/v7r0m0/in
 dex.jsp
The end!
Thanks for your attention

  Francesco Schettini             @FranSchettini
  E-Commerce Solution Architect
  Freelance
                                  http://fschettini.com

More Related Content

What's hot

Oracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsOracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsJames Bayer
 
Exchange 2013 Architecture Details
Exchange 2013 Architecture DetailsExchange 2013 Architecture Details
Exchange 2013 Architecture DetailsHuy Phạm
 
Indexing Text and HTML Files with Solr
Indexing Text and HTML Files with SolrIndexing Text and HTML Files with Solr
Indexing Text and HTML Files with SolrLucidworks (Archived)
 
Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB  en Debian BullseyePostfix y Dovecot con cuentas MariaDB  en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB en Debian BullseyeHenry Cristian Cuesta Vega
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the UnionDimitris Andreadis
 
Low Code Lowdown: APEX vs Visual Builder: Which is For You?
Low Code Lowdown:  APEX vs Visual Builder: Which is For You? Low Code Lowdown:  APEX vs Visual Builder: Which is For You?
Low Code Lowdown: APEX vs Visual Builder: Which is For You? Karen Cannell
 
Fundamentals of Web for Non-Developers
Fundamentals of Web for Non-DevelopersFundamentals of Web for Non-Developers
Fundamentals of Web for Non-DevelopersLemi Orhan Ergin
 
Oracle flashback
Oracle flashbackOracle flashback
Oracle flashbackCambodia
 
MySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellMySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellFrederic Descamps
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기NHN FORWARD
 
SOA OSB suite cluster installation
SOA OSB suite cluster installationSOA OSB suite cluster installation
SOA OSB suite cluster installationRakesh Gujjarlapudi
 
Exchange server.pptx
Exchange server.pptxExchange server.pptx
Exchange server.pptxVignesh kumar
 
Less05 storage
Less05 storageLess05 storage
Less05 storageImran Ali
 
Presentation oracle net services
Presentation    oracle net servicesPresentation    oracle net services
Presentation oracle net servicesxKinAnx
 

What's hot (20)

Oracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsOracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic Concepts
 
Web servers
Web serversWeb servers
Web servers
 
Exchange 2013 Architecture Details
Exchange 2013 Architecture DetailsExchange 2013 Architecture Details
Exchange 2013 Architecture Details
 
Indexing Text and HTML Files with Solr
Indexing Text and HTML Files with SolrIndexing Text and HTML Files with Solr
Indexing Text and HTML Files with Solr
 
Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB  en Debian BullseyePostfix y Dovecot con cuentas MariaDB  en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
 
Low Code Lowdown: APEX vs Visual Builder: Which is For You?
Low Code Lowdown:  APEX vs Visual Builder: Which is For You? Low Code Lowdown:  APEX vs Visual Builder: Which is For You?
Low Code Lowdown: APEX vs Visual Builder: Which is For You?
 
Fundamentals of Web for Non-Developers
Fundamentals of Web for Non-DevelopersFundamentals of Web for Non-Developers
Fundamentals of Web for Non-Developers
 
Oracle flashback
Oracle flashbackOracle flashback
Oracle flashback
 
MySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellMySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a Nutshell
 
Apache tomcat
Apache tomcatApache tomcat
Apache tomcat
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
 
SOA OSB suite cluster installation
SOA OSB suite cluster installationSOA OSB suite cluster installation
SOA OSB suite cluster installation
 
web server
web serverweb server
web server
 
Exchange server.pptx
Exchange server.pptxExchange server.pptx
Exchange server.pptx
 
Tomcat
TomcatTomcat
Tomcat
 
Strict mode in JavaScript
Strict mode in JavaScriptStrict mode in JavaScript
Strict mode in JavaScript
 
Networks
NetworksNetworks
Networks
 
Less05 storage
Less05 storageLess05 storage
Less05 storage
 
Presentation oracle net services
Presentation    oracle net servicesPresentation    oracle net services
Presentation oracle net services
 

Viewers also liked

websphere commerce server v6 install guide
websphere commerce server v6 install guidewebsphere commerce server v6 install guide
websphere commerce server v6 install guidehoangminhtoan
 
Feature Pack 8 for WebSphere Commerce – Are you making the most of latest rel...
Feature Pack 8 for WebSphere Commerce – Are you making the most of latest rel...Feature Pack 8 for WebSphere Commerce – Are you making the most of latest rel...
Feature Pack 8 for WebSphere Commerce – Are you making the most of latest rel...Royal Cyber Inc.
 
WebSphere Commerce Portal
WebSphere Commerce PortalWebSphere Commerce Portal
WebSphere Commerce PortalDarnley Etienne
 
Websphere Commerce SEO
Websphere Commerce SEOWebsphere Commerce SEO
Websphere Commerce SEOShinu Suresh
 
Websphere commerce 7.0 the social commerce platform
Websphere commerce 7.0 the social commerce platformWebsphere commerce 7.0 the social commerce platform
Websphere commerce 7.0 the social commerce platformCarlo Visani
 
IBM WebSphere Commerce Product Overview
IBM WebSphere Commerce Product OverviewIBM WebSphere Commerce Product Overview
IBM WebSphere Commerce Product Overviewebuerger
 

Viewers also liked (7)

websphere commerce server v6 install guide
websphere commerce server v6 install guidewebsphere commerce server v6 install guide
websphere commerce server v6 install guide
 
Feature Pack 8 for WebSphere Commerce – Are you making the most of latest rel...
Feature Pack 8 for WebSphere Commerce – Are you making the most of latest rel...Feature Pack 8 for WebSphere Commerce – Are you making the most of latest rel...
Feature Pack 8 for WebSphere Commerce – Are you making the most of latest rel...
 
WebSphere Commerce Portal
WebSphere Commerce PortalWebSphere Commerce Portal
WebSphere Commerce Portal
 
Websphere Commerce SEO
Websphere Commerce SEOWebsphere Commerce SEO
Websphere Commerce SEO
 
#dd12 WebSphere Commerce + WCM
#dd12 WebSphere Commerce + WCM#dd12 WebSphere Commerce + WCM
#dd12 WebSphere Commerce + WCM
 
Websphere commerce 7.0 the social commerce platform
Websphere commerce 7.0 the social commerce platformWebsphere commerce 7.0 the social commerce platform
Websphere commerce 7.0 the social commerce platform
 
IBM WebSphere Commerce Product Overview
IBM WebSphere Commerce Product OverviewIBM WebSphere Commerce Product Overview
IBM WebSphere Commerce Product Overview
 

Similar to WebSphere Commerce v7 Data Load

Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileRoy Kim
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?ukdpe
 
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMicrosoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMark Kromer
 
Steps towards business intelligence
Steps towards business intelligenceSteps towards business intelligence
Steps towards business intelligenceAhsan Kabir
 
Professional Portfolio
Professional PortfolioProfessional Portfolio
Professional PortfolioMoniqueO Opris
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudMicrosoft ArcReady
 
The web as it should be
The web as it should beThe web as it should be
The web as it should bethebeebs
 
Bi Ppt Portfolio Elmer Donavan
Bi Ppt Portfolio  Elmer DonavanBi Ppt Portfolio  Elmer Donavan
Bi Ppt Portfolio Elmer DonavanEJDonavan
 
MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMaarten Balliauw
 

Similar to WebSphere Commerce v7 Data Load (20)

Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI Mobile
 
Sap bo xi r4.0
Sap bo xi r4.0Sap bo xi r4.0
Sap bo xi r4.0
 
Sap bo xi r4.0
Sap bo xi r4.0Sap bo xi r4.0
Sap bo xi r4.0
 
Sap bo xi r4.0
Sap bo xi r4.0Sap bo xi r4.0
Sap bo xi r4.0
 
Sap bo xi r4.0
Sap bo xi r4.0Sap bo xi r4.0
Sap bo xi r4.0
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?
 
Sap bo xi r4.0
Sap bo xi r4.0Sap bo xi r4.0
Sap bo xi r4.0
 
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMicrosoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
 
Steps towards business intelligence
Steps towards business intelligenceSteps towards business intelligence
Steps towards business intelligence
 
RavenDB overview
RavenDB overviewRavenDB overview
RavenDB overview
 
Professional Portfolio
Professional PortfolioProfessional Portfolio
Professional Portfolio
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
The web as it should be
The web as it should beThe web as it should be
The web as it should be
 
Sap bo xi r4.0 short
Sap bo xi r4.0  shortSap bo xi r4.0  short
Sap bo xi r4.0 short
 
Sap bo xi r4.0 short
Sap bo xi r4.0  shortSap bo xi r4.0  short
Sap bo xi r4.0 short
 
Sap bo xi r4.0 short
Sap bo xi r4.0  shortSap bo xi r4.0  short
Sap bo xi r4.0 short
 
SAP BI/BW
SAP BI/BWSAP BI/BW
SAP BI/BW
 
Bi Ppt Portfolio Elmer Donavan
Bi Ppt Portfolio  Elmer DonavanBi Ppt Portfolio  Elmer Donavan
Bi Ppt Portfolio Elmer Donavan
 
CouchDB
CouchDBCouchDB
CouchDB
 
MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows Azure
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

WebSphere Commerce v7 Data Load

  • 1. WebSphere Commerce v7 An overview Francesco Schettini @FranSchettini E-Commerce Solution Architect Freelance http://fschettini.com
  • 3. Scope CSVs Trasformation WebSphere & Loading Commerce • Products XML • Attributes • Prices Legacy • Filters • Inventory • Promotions • Categories • …
  • 4. Transforming and Loading data  WebSphere Commerce provides utilities for preparing and loading data into a WebSphere Commerce database.  The loading utilities are flexible enough to handle customization that are made to the WebSphere Commerce schema.  The two main loading utilities are  the mass load utility  the Data Load utility  The Data Load utility is the recommended loading utility.
  • 5. Tasks  The Data Load utility performs the following functions in a single operation:  Reads data from a source.  Transforms the source data to WebSphere Commerce business objects.  Allocates and resolves WebSphere Commerce business objects to physical data.  Loads the physical data into the database. Data BO PD DB
  • 6. Tip  CSV format is the suggested and most used way in data load flow! Why? Cause WCS provides OutOfTheBox a CSV reader
  • 7. Simple use case 3 Products.CSV Transform & Load
  • 8. Not so simple use case cat.CSV prod.CSV color.CSV offer.CSV size.CSV … Transform & Load
  • 9. Complex use case Cat_01012013.CSV Prod_01012013.CSV Color_01012013.CSV Offer_01012013.CSV Size_01012013.CSV … Transform & Load Every Day!
  • 10. Points of complexity  Duplication  Correctness  Consistency  Integrity  Big data  Performance  Data Knowledge …
  • 11. Architectural Overview Data WCS Source Loader DB Data BO BO Data Reader Builder Mediator Writer Java Business Phisical Objects Objects Objects
  • 12. Data Load planification 1 Development Phase Developer 1 week 1 year 2 Load Phase 1 second Repeat as PM System Admin 2 months needed
  • 13. Question  A customer needs to load products data from its old e-commerce platform. Which approach would you suggest? A. Export the data as CSV and use dataload tool to load the data contained in the files; B. Export the data as CSV and use massload tool to load the data contained in the files; C. Run custom queries to load the data directly in the Commerce DB;
  • 15. Classic ETL development tasks  Create reader component  Create transformer component  Create loader component Extraction Transformation Loading
  • 16. WCS loves you! CSV Extraction 1 Reader com.ibm...CSVReader BO Trasformation 2 Builder & com.ibm...BaseBusinessObjectBuilder Loader com.ibm…BusinessObjectLoader Mediator Loading 3 & Data Writer com.ibm...CatalogGroupMediator com.ibm...JDBCDataWriter
  • 17. Developer’s Tasks  Create Business Object templates files  Create Environment’s configuration files  Create Load order configuration files
  • 18. Business Object Template’s content  CSV reader configuration  Business Object Builder Data Mapping  Mediator configuration  Data Writer configuration
  • 19. Tip  Create a different Template for each Business Object
  • 20. BO Template, an example
  • 21. Configuring Environment  Default Store  Default Language  Default Currency  Data Base connection coordinates  IDResolver configuration  Default Data Writer
  • 23. Configuring Loading Order  Environment configuration file  Business object loading order  CSV file  Business Object Template File
  • 25. Run!!!!!! (suggested approach)  Log in to local WebSphere Commerce instance (shell)  Run the script dataload.sh including the indication of the Configuration Loading Order file. WCS creates multiple logs- by default- for each run: • Main log file • A detailed log file for each Business Object
  • 26. Basic skills required  Deep understanding of WCS DB Schema  Deep knowledge of SQL and DBMS  Confidence using  Management Center  Accelerator  Organizational Administration Console  Experience with ETL procedures and XML configuration tasks  Troubleshooting skills  Java development
  • 27. Question  What’s the minimum amount of configuration files I need If I want to follow the suggested approach? A. 1 B. 3 C. 5 D. Cannot be defined
  • 29. Data Load Customizations OOB extension Data Load 0 customizations Use generic TableObject 1 2 3 Data Column BO Reader Handler Mediator
  • 30. Use TableObject 0  Extension to the concept of a business object builder;  The table object builder is responsible for accepting data read by the data reader and constructing value objects representing physical tables (table data objects) in the data base;  The partially populated table data objects will then be passed to the business object mediator for additional population.
  • 31. Extension Table, an example 0  Personal Wish List population;  No OOB Business Object Mediators;  Use generic TableObjectBuilder and Mediator;  Tables involved:  IITEMLIST  IITEM
  • 32. Extension Table, example 1 0 <_config:BusinessObjectBuilder className="com…TableObjectBuilder" > <_config:Table name="IITEMLIST" excludeUnListedColumns="true"> <_config:Column name="IITEMLIST_ID" value="itemlist_id” /> <_config:Column name="MEMBER_ID" value="cust_id” /> </_config:Table> <_config:Table name="IITEM" excludeUnListedColumns="true"> <_config:Column name="CATENTRY_ID" value="catentry_id” /> <_config:Column name="IITEMLIST_ID" value="itemlist_id” /> <_config:Column name="STOREENT_ID" value="storeent_id” /> <_config:Column name="MEMBER_ID" value="cust_id” /> <_config:Column name="QUANTITY" value="quantity” /> </_config:Table> <_config:BusinessObjectMediator className="com...TableObjectMediator" /> </_config:BusinessObjectBuilder>
  • 33. Extension Table, example 2 0 <_config:BusinessObjectBuilder className="com...TableObjectBuilder" > <_config:Table name="USERREG" excludeUnListedColumns="true"> <_config:Column name="USERS_ID" value="USERS_ID" valueFrom="IDResolve" > <_config:IDResolve tableName="USERREG" generateNewKey="false" > </_config:IDResolve> </_config:Column> <_config:Column name="LOGONID" value="login" /> <_config:Column name="PLCYACCT_ID" value="-1" valueFrom="Fixed" /> </_config:Table>… … <_config:BusinessObjectMediator className="com...TableObjectMediator" /> </_config:BusinessObjectBuilder>
  • 34. Supported File Formats 1  CSV  XML (from FEP6) http://pic.dhe.ibm.com/infocenter/wchelp/v7r0m0 /topic/com.ibm.commerce.data.doc/refs/rmldatalo adsourcefile.htm
  • 35. Custom data reader 1  It is not necessary to change the format of your existing data to work with the Data Load utility.  Create custom data reader  Create new class extends AbstractDataReader;  Implement next() abstract method;  Override the init(), close(), and getSourcePosition() methods;  In the <_config:DataReader> template files use the custom implementation.
  • 36. Custom column handler 2  Resolve data from database columns based on input values that cannot be mapped to the column value through the configuration;  Create custom column handler  Create new class extends AbstractColumnHandler;  Implement resolveColumnValue() abstract method;  Override the init(), close() methods;  In the <_config:ColumnHandler> template files-using TableObject- use the custom implementation.
  • 37. Custom column handler, an example 2  Password column in the database is a clear text password;  Password column in the database table expects an encrypted value;  Create a custom column handler to encrypt the clear text password and return an encrypted password from the resolveColumnValue() method.
  • 38. Custom column handler, an example 2 <_config:Column name="LOGONPASSWORD" value="LOGONPASSWORD" valueFrom="ColumnHandler" > <_config:ColumnHandler className="com.mycompany...PasswordEncryptionHandler"> <_config:Parameter name="logonPassword" value="logonPassword" /> <!-- WC-server.xml is the file to store the merchant key --> <_config:Parameter name="instanceConfigLocation" value="c:IBMWCDE_ENT70workspaceWCxmlconfigwc- server.xml" valueFrom="Fixed" /> </_config:ColumnHandler> </_config:Column>
  • 39. Default BO Mediators 3  Catalog Mediators  Inventory Mediators  Price Mediators http://pic.dhe.ibm.com/infocenter/wchelp/v7r0m0/topic/co m.ibm.commerce.data.doc/refs/rmlmediators.htm
  • 40. Custom business object mediator 3  Create custom business object mediator  Create new class extends AbstractBusinessObjectMediator;  Implement transform() abstract method to transform the custom business objects into a list of physical objects;  Override the methods as necessary to achieve mediate functionality;  In the <__config:BusinessObjectMediator> template files use the custom implementation.
  • 42. The legacy architecture 3rd party Live System Stores Product Managers Marketing Managers …
  • 43. Why do not introduce WCS? 3rd party System Stores Product Managers Marketing Managers … CSV files WCS
  • 44. Why do not use WCS? 3rd party System Stores WCS Product Managers Marketing Managers …
  • 45. Involve DL tasks 3rd party System Stores Product Managers Marketing Managers … CSV Data WCS files Load Data
  • 46. The WCS architecture Staging Production WCS WCS instance Cluster FE Store CMC propagation Production Staging DB Production DB Main WS DB WS1
  • 47. The WCS architecture + DL Staging Production WCS WCS instance Cluster CSV FE Store CSV CMC files files propagation Production DL Staging Production DL DB Catalog DB Main WS DB Inventory WS1 1 2 3
  • 48. Problems to overcome  Complex CSV data structure  Complex mapping with WCS BOs  Daily loading of huge CSV files  One single file containing whole data set  Not clean data …
  • 50. The end! Thanks for your attention Francesco Schettini @FranSchettini E-Commerce Solution Architect Freelance http://fschettini.com