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

Hyperion 11-1-2-3-installation-guide-on-linux
Hyperion 11-1-2-3-installation-guide-on-linuxHyperion 11-1-2-3-installation-guide-on-linux
Hyperion 11-1-2-3-installation-guide-on-linuxAmit Sharma
 
Connecting Connect with Spring Boot
Connecting Connect with Spring BootConnecting Connect with Spring Boot
Connecting Connect with Spring BootVincent Kok
 
Solution Manager 7.2 SAP Monitoring - Part 3 - Managed System Configuration
Solution Manager 7.2 SAP Monitoring - Part 3 - Managed System ConfigurationSolution Manager 7.2 SAP Monitoring - Part 3 - Managed System Configuration
Solution Manager 7.2 SAP Monitoring - Part 3 - Managed System ConfigurationLinh Nguyen
 
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료수홍 이
 
Oa Framework Tutorial
Oa Framework TutorialOa Framework Tutorial
Oa Framework Tutorialnolimit797
 
Oracle Forms: Introduction to multiple Forms
Oracle Forms: Introduction to multiple FormsOracle Forms: Introduction to multiple Forms
Oracle Forms: Introduction to multiple FormsSekhar Byna
 
Ch9 .Best Practices for Class-Based Views
Ch9 .Best Practices  for  Class-Based ViewsCh9 .Best Practices  for  Class-Based Views
Ch9 .Best Practices for Class-Based ViewsWilly Liu
 
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌BESPIN GLOBAL
 
딥러닝 서비스에 쓰이는 GPU 인스턴스 비용 효율을 위한 스팟(Spot) 활용기 - 손은주, 매스프레소 :: AWS DevDay 2018
딥러닝 서비스에 쓰이는 GPU 인스턴스 비용 효율을 위한 스팟(Spot) 활용기 - 손은주, 매스프레소 :: AWS DevDay 2018딥러닝 서비스에 쓰이는 GPU 인스턴스 비용 효율을 위한 스팟(Spot) 활용기 - 손은주, 매스프레소 :: AWS DevDay 2018
딥러닝 서비스에 쓰이는 GPU 인스턴스 비용 효율을 위한 스팟(Spot) 활용기 - 손은주, 매스프레소 :: AWS DevDay 2018Amazon Web Services Korea
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6Jukka Zitting
 
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-viewFaina Fridman
 
(참고) Elk stack 설치 및 kafka
(참고) Elk stack 설치 및 kafka(참고) Elk stack 설치 및 kafka
(참고) Elk stack 설치 및 kafkaNoahKIM36
 
Amazon VPC와 ELB/Direct Connect/VPN 알아보기 - 김세준, AWS 솔루션즈 아키텍트
Amazon VPC와 ELB/Direct Connect/VPN 알아보기 - 김세준, AWS 솔루션즈 아키텍트Amazon VPC와 ELB/Direct Connect/VPN 알아보기 - 김세준, AWS 솔루션즈 아키텍트
Amazon VPC와 ELB/Direct Connect/VPN 알아보기 - 김세준, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlJava Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlArjun Thakur
 
Oracle Forms Triggers
Oracle Forms TriggersOracle Forms Triggers
Oracle Forms TriggersSekhar Byna
 
Oracle Forms : Multiple Forms
Oracle Forms : Multiple FormsOracle Forms : Multiple Forms
Oracle Forms : Multiple FormsSekhar Byna
 
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...Edureka!
 
Hibernate presentation
Hibernate presentationHibernate presentation
Hibernate presentationManav Prasad
 

What's hot (20)

Hyperion 11-1-2-3-installation-guide-on-linux
Hyperion 11-1-2-3-installation-guide-on-linuxHyperion 11-1-2-3-installation-guide-on-linux
Hyperion 11-1-2-3-installation-guide-on-linux
 
Connecting Connect with Spring Boot
Connecting Connect with Spring BootConnecting Connect with Spring Boot
Connecting Connect with Spring Boot
 
Solution Manager 7.2 SAP Monitoring - Part 3 - Managed System Configuration
Solution Manager 7.2 SAP Monitoring - Part 3 - Managed System ConfigurationSolution Manager 7.2 SAP Monitoring - Part 3 - Managed System Configuration
Solution Manager 7.2 SAP Monitoring - Part 3 - Managed System Configuration
 
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료
실전! 스프링과 함께하는 환경변수 관리 변천사 발표자료
 
Spring boot jpa
Spring boot jpaSpring boot jpa
Spring boot jpa
 
Oa Framework Tutorial
Oa Framework TutorialOa Framework Tutorial
Oa Framework Tutorial
 
Oracle Forms: Introduction to multiple Forms
Oracle Forms: Introduction to multiple FormsOracle Forms: Introduction to multiple Forms
Oracle Forms: Introduction to multiple Forms
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Ch9 .Best Practices for Class-Based Views
Ch9 .Best Practices  for  Class-Based ViewsCh9 .Best Practices  for  Class-Based Views
Ch9 .Best Practices for Class-Based Views
 
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
 
딥러닝 서비스에 쓰이는 GPU 인스턴스 비용 효율을 위한 스팟(Spot) 활용기 - 손은주, 매스프레소 :: AWS DevDay 2018
딥러닝 서비스에 쓰이는 GPU 인스턴스 비용 효율을 위한 스팟(Spot) 활용기 - 손은주, 매스프레소 :: AWS DevDay 2018딥러닝 서비스에 쓰이는 GPU 인스턴스 비용 효율을 위한 스팟(Spot) 활용기 - 손은주, 매스프레소 :: AWS DevDay 2018
딥러닝 서비스에 쓰이는 GPU 인스턴스 비용 효율을 위한 스팟(Spot) 활용기 - 손은주, 매스프레소 :: AWS DevDay 2018
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6
 
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
 
(참고) Elk stack 설치 및 kafka
(참고) Elk stack 설치 및 kafka(참고) Elk stack 설치 및 kafka
(참고) Elk stack 설치 및 kafka
 
Amazon VPC와 ELB/Direct Connect/VPN 알아보기 - 김세준, AWS 솔루션즈 아키텍트
Amazon VPC와 ELB/Direct Connect/VPN 알아보기 - 김세준, AWS 솔루션즈 아키텍트Amazon VPC와 ELB/Direct Connect/VPN 알아보기 - 김세준, AWS 솔루션즈 아키텍트
Amazon VPC와 ELB/Direct Connect/VPN 알아보기 - 김세준, AWS 솔루션즈 아키텍트
 
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlJava Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
 
Oracle Forms Triggers
Oracle Forms TriggersOracle Forms Triggers
Oracle Forms Triggers
 
Oracle Forms : Multiple Forms
Oracle Forms : Multiple FormsOracle Forms : Multiple Forms
Oracle Forms : Multiple Forms
 
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
 
Hibernate presentation
Hibernate presentationHibernate presentation
Hibernate presentation
 

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
 
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
 
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
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

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
 
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
 
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...
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

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