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

The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - BusinessThe Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - BusinessAmazon Web Services
 
AWS 서비스로 웹 애플리케이션 만들기 – 김주영, AWS 솔루션즈 아키텍트:: AWS Builders Online Series
AWS 서비스로 웹 애플리케이션 만들기 – 김주영, AWS 솔루션즈 아키텍트:: AWS Builders Online Series AWS 서비스로 웹 애플리케이션 만들기 – 김주영, AWS 솔루션즈 아키텍트:: AWS Builders Online Series
AWS 서비스로 웹 애플리케이션 만들기 – 김주영, AWS 솔루션즈 아키텍트:: AWS Builders Online Series Amazon Web Services Korea
 
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례 - 박경표 AWS 솔루션즈 아키텍트 / 임상석...
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례  - 박경표 AWS 솔루션즈 아키텍트 / 임상석...Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례  - 박경표 AWS 솔루션즈 아키텍트 / 임상석...
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례 - 박경표 AWS 솔루션즈 아키텍트 / 임상석...Amazon Web Services Korea
 
10 AWESOME Things We've Done With SharePoint
10 AWESOME Things We've Done With SharePoint10 AWESOME Things We've Done With SharePoint
10 AWESOME Things We've Done With SharePointRegroove
 
Arquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB AtlasArquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB AtlasMongoDB
 
Secure and Integrated - Using IAM with Amazon MSK | Mitchell Henderson, AWS
Secure and Integrated - Using IAM with Amazon MSK | Mitchell Henderson, AWSSecure and Integrated - Using IAM with Amazon MSK | Mitchell Henderson, AWS
Secure and Integrated - Using IAM with Amazon MSK | Mitchell Henderson, AWSHostedbyConfluent
 
Tips for salesforce einstein bot configuration !
Tips for salesforce einstein bot configuration !Tips for salesforce einstein bot configuration !
Tips for salesforce einstein bot configuration !AwsQuality
 
Relaciones de confianza entre servidores.diapositivas
Relaciones de confianza entre servidores.diapositivasRelaciones de confianza entre servidores.diapositivas
Relaciones de confianza entre servidores.diapositivasyuliaranda
 
CQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDCQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDDennis Doomen
 
How To Embed SlideShare Shows Into WordPress.com
How To Embed SlideShare Shows Into WordPress.comHow To Embed SlideShare Shows Into WordPress.com
How To Embed SlideShare Shows Into WordPress.comKathy Gill
 
Dataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreDataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreVikalp Bhalia
 
Security on AWS :: 이경수 솔루션즈아키텍트
Security on AWS :: 이경수 솔루션즈아키텍트Security on AWS :: 이경수 솔루션즈아키텍트
Security on AWS :: 이경수 솔루션즈아키텍트Amazon Web Services Korea
 
How to create a REST pass through in Oracle Service Bus (OSB) 12c
How to create a REST pass through in Oracle Service Bus (OSB) 12cHow to create a REST pass through in Oracle Service Bus (OSB) 12c
How to create a REST pass through in Oracle Service Bus (OSB) 12ccoolaboration
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilRoopa Nadkarni
 
System design for video streaming service
System design for video streaming serviceSystem design for video streaming service
System design for video streaming serviceNirmik Kale
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceAmazon Web Services
 
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API ManagerWSO2
 

What's hot (20)

The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - BusinessThe Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
 
AWS 서비스로 웹 애플리케이션 만들기 – 김주영, AWS 솔루션즈 아키텍트:: AWS Builders Online Series
AWS 서비스로 웹 애플리케이션 만들기 – 김주영, AWS 솔루션즈 아키텍트:: AWS Builders Online Series AWS 서비스로 웹 애플리케이션 만들기 – 김주영, AWS 솔루션즈 아키텍트:: AWS Builders Online Series
AWS 서비스로 웹 애플리케이션 만들기 – 김주영, AWS 솔루션즈 아키텍트:: AWS Builders Online Series
 
AWS Route53
AWS Route53AWS Route53
AWS Route53
 
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례 - 박경표 AWS 솔루션즈 아키텍트 / 임상석...
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례  - 박경표 AWS 솔루션즈 아키텍트 / 임상석...Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례  - 박경표 AWS 솔루션즈 아키텍트 / 임상석...
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례 - 박경표 AWS 솔루션즈 아키텍트 / 임상석...
 
10 AWESOME Things We've Done With SharePoint
10 AWESOME Things We've Done With SharePoint10 AWESOME Things We've Done With SharePoint
10 AWESOME Things We've Done With SharePoint
 
Arquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB AtlasArquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB Atlas
 
Secure and Integrated - Using IAM with Amazon MSK | Mitchell Henderson, AWS
Secure and Integrated - Using IAM with Amazon MSK | Mitchell Henderson, AWSSecure and Integrated - Using IAM with Amazon MSK | Mitchell Henderson, AWS
Secure and Integrated - Using IAM with Amazon MSK | Mitchell Henderson, AWS
 
Tips for salesforce einstein bot configuration !
Tips for salesforce einstein bot configuration !Tips for salesforce einstein bot configuration !
Tips for salesforce einstein bot configuration !
 
Boot camp - Migration to AWS
Boot camp - Migration to AWSBoot camp - Migration to AWS
Boot camp - Migration to AWS
 
Relaciones de confianza entre servidores.diapositivas
Relaciones de confianza entre servidores.diapositivasRelaciones de confianza entre servidores.diapositivas
Relaciones de confianza entre servidores.diapositivas
 
CQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDCQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDD
 
How To Embed SlideShare Shows Into WordPress.com
How To Embed SlideShare Shows Into WordPress.comHow To Embed SlideShare Shows Into WordPress.com
How To Embed SlideShare Shows Into WordPress.com
 
Dataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreDataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStore
 
Security on AWS :: 이경수 솔루션즈아키텍트
Security on AWS :: 이경수 솔루션즈아키텍트Security on AWS :: 이경수 솔루션즈아키텍트
Security on AWS :: 이경수 솔루션즈아키텍트
 
How to create a REST pass through in Oracle Service Bus (OSB) 12c
How to create a REST pass through in Oracle Service Bus (OSB) 12cHow to create a REST pass through in Oracle Service Bus (OSB) 12c
How to create a REST pass through in Oracle Service Bus (OSB) 12c
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
 
Getting Started on AWS
Getting Started on AWS Getting Started on AWS
Getting Started on AWS
 
System design for video streaming service
System design for video streaming serviceSystem design for video streaming service
System design for video streaming service
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line Interface
 
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
 

Viewers also liked

WebSphere Commerce Promotions overview
WebSphere Commerce Promotions overviewWebSphere Commerce Promotions overview
WebSphere Commerce Promotions overviewFrancesco Schettini
 
websphere commerce server v6 install guide
websphere commerce server v6 install guidewebsphere commerce server v6 install guide
websphere commerce server v6 install guidehoangminhtoan
 
websphere commerce server admin configuration
websphere commerce server admin configuration websphere commerce server admin configuration
websphere commerce server admin configuration Laxmi Kanth Kshatriya
 
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 (9)

WebSphere Commerce Promotions overview
WebSphere Commerce Promotions overviewWebSphere Commerce Promotions overview
WebSphere Commerce Promotions overview
 
websphere commerce server v6 install guide
websphere commerce server v6 install guidewebsphere commerce server v6 install guide
websphere commerce server v6 install guide
 
websphere commerce server admin configuration
websphere commerce server admin configuration websphere commerce server admin configuration
websphere commerce server admin configuration
 
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

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

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