SlideShare a Scribd company logo
1 of 29
Download to read offline
ABDELGHANIAZRI
HYBRIS TECHNICAL LEAD
+ Summary:
✓ What is Hot folder ?
✓ Hot folder in other integration frameworks
✓ Advantages of Hot folder
✓ Basics configuration
✓ Demo
✓ Advanced customization
HOT FOLDER
15/09/2015© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 2
Hot folder
✓ What is Hot-folder ?
✓ A folder that serves as a staging area for some purpose. The hot folder is continuously
monitored, and when files are copied or dropped into it, they are automatically
processed. (PC Magazine)
✓ Following Hybris:
✓ Hot Folder = Scanned Folder periodically + processed
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 3
Hot folder
✓ Implementations
The hot folder mechanism is implemented by many frameworks:
▪ Camel
▪ Spring integration
▪ Mule ESB
▪ …
✓ Hybris case
▪ Hybris support hot folder by using Spring integration which:
▪ pluggable,
▪ highly configurable service-based design
▪ extendable.
▪ Easy integration with Hybris
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 4
Hot folder
✓ Why using Hot folder ?
✓ Automatize data import: product, stock, vendors…
✓ No need of Impex knowledge
✓ The use of .csv files instead of impex files (other formats: xml need
customization)
✓ Files can be generated by other systems: Talend for example.
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 5
+ Hot-folder mechanism: Batch diagram
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 6
+ Hot-folder mechanism
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 7
+ Hot-folder mechanism
✓ Batch integration
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 8
+ Hot-folder mechanism
✓ Batch import
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 9
+ Configuration
10
Configuration
HOT FOLDER
File Name Description
hot-folder-common-spring.xml Common configuration: delimeter, parser, fallback
extensionName-spring-
integration-siteName.xml
Extension related spring integration infrastructure including hot
folder setup.
Extension related ImpEx converters, filters and converter
mappings…
project.properties acceleratorservices.batch.impex.max-threads: number of
threads used for ImpEx.
acceleratorservices.batch.impex.basefolder: base folder of the
import infrastructure containing catalog specific sub folders.
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015
+ Task configuration
11
Configuration
HOT FOLDER
Configuration option Parameters
ImpexTransformerTask converterMap: used to map file prefixes to one or multiple converters to produce ImpEx files.
encoding: the file encoding to use (default: UTF-8).
linesToSkip: the lines to skip in all CSV files (default: 0).
fieldSeparator: the separator to use to read CSV files (default: ,).
HeaderSetupTask catalog: the catalog to use. This setting is applied to the default header substitution $CATALOG$
net: the net setting to apply to prices. This setting is applied to the default header substitution
$NET$
HeaderInitTask sequenceIdParser: the regular expression used to extract the sequence ID from the file name. In
the sample configuration, the sequence ID precedes the file extension separated by a hyphen, for
example: base_product-1.csv.
languageParser: the regular expression used to extract the language from the file name. In the
sample configuration, the language optionally precedes the sequence ID, for example:
base_product-de-1.csv.
fallbackLanguage: the language to use if the language is not set in the file name.
CleanupTask CleanupHelper.timeStampFormat: if set, append timestamp in the specified format to input files
moved to the archive or error subdirectory
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015
+ Converter configuration
12
Configuration
HOT FOLDER
Configuration Option Parameters
header $NET$: the net setting
$CATALOG$: the catalog prefix
$LANGUAGE$: the language setting
$TYPE$: an optional type attribute that can be applied if filtering is configured
impexRow {('+')? (<columnId> | 'S')}.: {+0} to make check of mandatory attribute, {+S} to generate a
sequence ID.
rowFilter: an optional row filter. Allow use of expression which must be a valid Groovy expression
For example, querying if the first column is not empty can be written as !row.
type: an optional type that can be retrieved in the header using the header substitution $TYPE$.
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015
+ Spring integration configuration
13
Configuration
HOT FOLDER
Configuration Option Parameters
int:channel Setup of a channel
int:service-activator activates a referenced bean when receiving a message on a configured channel to act as service
file:inbound-channel-adapter Scan a directory in a configurable interval and send files to a configured channel following order
defined by FileOrderComparator
file:outbound-gateway Move a file to the processing subdirectory.
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015
+ Configuration
1. 1-Base directory
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 14
+ Configuration
1. 2- Define inbound-channel-adapter to scan the input folder
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 15
+ Configuration
1. 3- Create an outbound-gateway to copy files to the usual processing folder
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 16
Hot folder Basics
✓ Configuration
1. 4- Define a specific converter for stock and according to this a converter mapping
Stock example:
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 17
Hot folder Basics
✓ Configuration
Vendors example:
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 18
Hot folder Basics
✓ Configuration
Converter mapping:
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 19
✓ Base directory structure
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 20
✓ Hot folder Basics
Input
Archive:
Files after
processing
processing
Error:
mandatory
attributes
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 21
Demo
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 22
✓ Hot folder Customization
Filter
• Used before
conversion
• Intercept format
errors: date,
numbers…
• Reject or import
line
Cell decorator
• intercept the
interpreting of a
specific cell of a
value line between
parsing and
translating
• Acts on a specific
column
Translator
• Change the
translate logic for
some attribute.
• Ex: header
attributes that have
no counterpart at
the type system
• Act on a specific
column
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 23
✓ Advanced customization: Filter
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 24
✓ Hot folder Customization: Decorator
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 25
✓ Hot folder Customization: Other customizations convert XML to CSV
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 26
✓ Conclusion:
✓ Hot folder as alternative solution to ImpEx
✓ Usability
✓ Configuration
✓ Customization
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 27
✓ References
✓ http://www.pcmag.com/encyclopedia/term/67604/hot-folder
✓ https://wiki.hybris.com/display/R5T/Hot+Folder
✓ http://www.enterpriseintegrationpatterns.com/patterns/messaging/Channel
Adapter.html
✓ https://wiki.hybris.com/display/forum/Execute+JOB+Now
✓ http://stackoverflow.com/questions/21413978/convert-an-xml-file-to-csv-
file-using-java
✓ https://wiki.hybris.com/display/release5/ImpEx+API
HOT FOLDER
© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 28
Merci …
QUESTIONS ?

More Related Content

What's hot

Snowflake: The most cost-effective agile and scalable data warehouse ever!
Snowflake: The most cost-effective agile and scalable data warehouse ever!Snowflake: The most cost-effective agile and scalable data warehouse ever!
Snowflake: The most cost-effective agile and scalable data warehouse ever!Visual_BI
 
Running Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on HadoopRunning Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on Hadoopclairvoyantllc
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsAlluxio, Inc.
 
Scaling Monitoring At Databricks From Prometheus to M3
Scaling Monitoring At Databricks From Prometheus to M3Scaling Monitoring At Databricks From Prometheus to M3
Scaling Monitoring At Databricks From Prometheus to M3LibbySchulze
 
Iceberg: A modern table format for big data (Strata NY 2018)
Iceberg: A modern table format for big data (Strata NY 2018)Iceberg: A modern table format for big data (Strata NY 2018)
Iceberg: A modern table format for big data (Strata NY 2018)Ryan Blue
 
Data Warehousing & Basic Architectural Framework
Data Warehousing & Basic Architectural FrameworkData Warehousing & Basic Architectural Framework
Data Warehousing & Basic Architectural FrameworkDr. Sunil Kr. Pandey
 
Challenges in Building a Data Pipeline
Challenges in Building a Data PipelineChallenges in Building a Data Pipeline
Challenges in Building a Data PipelineManish Kumar
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucketMedhat Dawoud
 
Hive+Tez: A performance deep dive
Hive+Tez: A performance deep diveHive+Tez: A performance deep dive
Hive+Tez: A performance deep divet3rmin4t0r
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucketSumin Byeon
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practiceMajid Hosseini
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHubVikram SV
 
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...StampedeCon
 
Apache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In PracticeApache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In PracticeDremio Corporation
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...Databricks
 

What's hot (20)

Snowflake: The most cost-effective agile and scalable data warehouse ever!
Snowflake: The most cost-effective agile and scalable data warehouse ever!Snowflake: The most cost-effective agile and scalable data warehouse ever!
Snowflake: The most cost-effective agile and scalable data warehouse ever!
 
Apache Ranger Hive Metastore Security
Apache Ranger Hive Metastore Security Apache Ranger Hive Metastore Security
Apache Ranger Hive Metastore Security
 
Running Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on HadoopRunning Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on Hadoop
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic Datasets
 
Scaling Monitoring At Databricks From Prometheus to M3
Scaling Monitoring At Databricks From Prometheus to M3Scaling Monitoring At Databricks From Prometheus to M3
Scaling Monitoring At Databricks From Prometheus to M3
 
Git
GitGit
Git
 
Iceberg: A modern table format for big data (Strata NY 2018)
Iceberg: A modern table format for big data (Strata NY 2018)Iceberg: A modern table format for big data (Strata NY 2018)
Iceberg: A modern table format for big data (Strata NY 2018)
 
Data Warehousing & Basic Architectural Framework
Data Warehousing & Basic Architectural FrameworkData Warehousing & Basic Architectural Framework
Data Warehousing & Basic Architectural Framework
 
Challenges in Building a Data Pipeline
Challenges in Building a Data PipelineChallenges in Building a Data Pipeline
Challenges in Building a Data Pipeline
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
 
Hive+Tez: A performance deep dive
Hive+Tez: A performance deep diveHive+Tez: A performance deep dive
Hive+Tez: A performance deep dive
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
 
Fast analytics kudu to druid
Fast analytics  kudu to druidFast analytics  kudu to druid
Fast analytics kudu to druid
 
Hive tuning
Hive tuningHive tuning
Hive tuning
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
 
HDF5 Tools
HDF5 ToolsHDF5 Tools
HDF5 Tools
 
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
 
Apache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In PracticeApache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In Practice
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
 

Similar to SAP hybris hot folder

HDFS tiered storage: mounting object stores in HDFS
HDFS tiered storage: mounting object stores in HDFSHDFS tiered storage: mounting object stores in HDFS
HDFS tiered storage: mounting object stores in HDFSDataWorks Summit
 
SAP HANA SPS10- Enterprise Information Management
SAP HANA SPS10- Enterprise Information ManagementSAP HANA SPS10- Enterprise Information Management
SAP HANA SPS10- Enterprise Information ManagementSAP Technology
 
Apama, Terracotta, webMethods Upgrade: Avoiding Common Pitfalls
Apama, Terracotta, webMethods Upgrade: Avoiding Common Pitfalls Apama, Terracotta, webMethods Upgrade: Avoiding Common Pitfalls
Apama, Terracotta, webMethods Upgrade: Avoiding Common Pitfalls Software AG
 
Box to Google Shared Drive Migration Guide for IT Admins
Box to Google Shared Drive Migration Guide for IT AdminsBox to Google Shared Drive Migration Guide for IT Admins
Box to Google Shared Drive Migration Guide for IT AdminsVazhayil Aiswarya
 
Box to Google Shared Drive Migration
Box to Google Shared Drive Migration Box to Google Shared Drive Migration
Box to Google Shared Drive Migration ArunJyothi12
 
Box Vs Google Drive
Box Vs Google DriveBox Vs Google Drive
Box Vs Google DriveMahesh kumar
 
Box to Google Drive Migration Guide
Box  to Google Drive Migration Guide Box  to Google Drive Migration Guide
Box to Google Drive Migration Guide Archana bhatam
 
Box to Google Shared Drive Business Migration Guide for IT Admins
Box to Google Shared Drive Business Migration Guide for IT AdminsBox to Google Shared Drive Business Migration Guide for IT Admins
Box to Google Shared Drive Business Migration Guide for IT AdminsArchana bhatam
 
BOX to Google Drive
BOX to Google DriveBOX to Google Drive
BOX to Google DriveArunJyothi12
 
SAP HANA SPS10- SAP HANA Dynamic Tiering
SAP HANA SPS10- SAP HANA Dynamic TieringSAP HANA SPS10- SAP HANA Dynamic Tiering
SAP HANA SPS10- SAP HANA Dynamic TieringSAP Technology
 
What's new for SAP HANA SPS 11 Dynamic Tiering
What's new for SAP HANA SPS 11 Dynamic TieringWhat's new for SAP HANA SPS 11 Dynamic Tiering
What's new for SAP HANA SPS 11 Dynamic TieringSAP Technology
 
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 5: BI Installation and Patching
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 5: BI Installation and PatchingSAP #BOBJ #BI 4.1 Upgrade Webcast Series 5: BI Installation and Patching
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 5: BI Installation and PatchingSAP Analytics
 
SAP HANA SPS09 - Application Lifecycle Management
SAP HANA SPS09 - Application Lifecycle ManagementSAP HANA SPS09 - Application Lifecycle Management
SAP HANA SPS09 - Application Lifecycle ManagementSAP Technology
 
CA Project and Portfolio Management - A Data Warehouse Deep Dive
CA Project and Portfolio Management - A Data Warehouse Deep DiveCA Project and Portfolio Management - A Data Warehouse Deep Dive
CA Project and Portfolio Management - A Data Warehouse Deep DiveCA Technologies
 
Hdf5 parallel
Hdf5 parallelHdf5 parallel
Hdf5 parallelmfolk
 
Big Data as easy as 1, 2, 3, ... 4 ... with KNIME
Big Data as easy as 1, 2, 3, ... 4 ... with KNIMEBig Data as easy as 1, 2, 3, ... 4 ... with KNIME
Big Data as easy as 1, 2, 3, ... 4 ... with KNIMERosaria Silipo
 

Similar to SAP hybris hot folder (20)

HDFS tiered storage: mounting object stores in HDFS
HDFS tiered storage: mounting object stores in HDFSHDFS tiered storage: mounting object stores in HDFS
HDFS tiered storage: mounting object stores in HDFS
 
SAP HANA SPS10- Enterprise Information Management
SAP HANA SPS10- Enterprise Information ManagementSAP HANA SPS10- Enterprise Information Management
SAP HANA SPS10- Enterprise Information Management
 
Apama, Terracotta, webMethods Upgrade: Avoiding Common Pitfalls
Apama, Terracotta, webMethods Upgrade: Avoiding Common Pitfalls Apama, Terracotta, webMethods Upgrade: Avoiding Common Pitfalls
Apama, Terracotta, webMethods Upgrade: Avoiding Common Pitfalls
 
SAP ASE In The Cloud
SAP ASE In The Cloud SAP ASE In The Cloud
SAP ASE In The Cloud
 
Box to Google Shared Drive Migration Guide for IT Admins
Box to Google Shared Drive Migration Guide for IT AdminsBox to Google Shared Drive Migration Guide for IT Admins
Box to Google Shared Drive Migration Guide for IT Admins
 
Box to Google Shared Drive Migration
Box to Google Shared Drive Migration Box to Google Shared Drive Migration
Box to Google Shared Drive Migration
 
Box Vs Google Drive
Box Vs Google DriveBox Vs Google Drive
Box Vs Google Drive
 
Box to Google Drive Migration Guide
Box  to Google Drive Migration Guide Box  to Google Drive Migration Guide
Box to Google Drive Migration Guide
 
BOX-GSD.pptx
BOX-GSD.pptxBOX-GSD.pptx
BOX-GSD.pptx
 
Box to Google Shared Drive Business Migration Guide for IT Admins
Box to Google Shared Drive Business Migration Guide for IT AdminsBox to Google Shared Drive Business Migration Guide for IT Admins
Box to Google Shared Drive Business Migration Guide for IT Admins
 
BOX to Google Drive
BOX to Google DriveBOX to Google Drive
BOX to Google Drive
 
Hive Does ACID
Hive Does ACIDHive Does ACID
Hive Does ACID
 
SAP HANA SPS10- SAP HANA Dynamic Tiering
SAP HANA SPS10- SAP HANA Dynamic TieringSAP HANA SPS10- SAP HANA Dynamic Tiering
SAP HANA SPS10- SAP HANA Dynamic Tiering
 
What's new for SAP HANA SPS 11 Dynamic Tiering
What's new for SAP HANA SPS 11 Dynamic TieringWhat's new for SAP HANA SPS 11 Dynamic Tiering
What's new for SAP HANA SPS 11 Dynamic Tiering
 
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 5: BI Installation and Patching
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 5: BI Installation and PatchingSAP #BOBJ #BI 4.1 Upgrade Webcast Series 5: BI Installation and Patching
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 5: BI Installation and Patching
 
SAP HANA SPS09 - Application Lifecycle Management
SAP HANA SPS09 - Application Lifecycle ManagementSAP HANA SPS09 - Application Lifecycle Management
SAP HANA SPS09 - Application Lifecycle Management
 
S4HANA Migration Overview
S4HANA Migration OverviewS4HANA Migration Overview
S4HANA Migration Overview
 
CA Project and Portfolio Management - A Data Warehouse Deep Dive
CA Project and Portfolio Management - A Data Warehouse Deep DiveCA Project and Portfolio Management - A Data Warehouse Deep Dive
CA Project and Portfolio Management - A Data Warehouse Deep Dive
 
Hdf5 parallel
Hdf5 parallelHdf5 parallel
Hdf5 parallel
 
Big Data as easy as 1, 2, 3, ... 4 ... with KNIME
Big Data as easy as 1, 2, 3, ... 4 ... with KNIMEBig Data as easy as 1, 2, 3, ... 4 ... with KNIME
Big Data as easy as 1, 2, 3, ... 4 ... with KNIME
 

Recently uploaded

Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfSrushith Repakula
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimaginedpanagenda
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jNeo4j
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxNeo4j
 

Recently uploaded (20)

Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 

SAP hybris hot folder

  • 2. + Summary: ✓ What is Hot folder ? ✓ Hot folder in other integration frameworks ✓ Advantages of Hot folder ✓ Basics configuration ✓ Demo ✓ Advanced customization HOT FOLDER 15/09/2015© SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 2
  • 3. Hot folder ✓ What is Hot-folder ? ✓ A folder that serves as a staging area for some purpose. The hot folder is continuously monitored, and when files are copied or dropped into it, they are automatically processed. (PC Magazine) ✓ Following Hybris: ✓ Hot Folder = Scanned Folder periodically + processed HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 3
  • 4. Hot folder ✓ Implementations The hot folder mechanism is implemented by many frameworks: ▪ Camel ▪ Spring integration ▪ Mule ESB ▪ … ✓ Hybris case ▪ Hybris support hot folder by using Spring integration which: ▪ pluggable, ▪ highly configurable service-based design ▪ extendable. ▪ Easy integration with Hybris HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 4
  • 5. Hot folder ✓ Why using Hot folder ? ✓ Automatize data import: product, stock, vendors… ✓ No need of Impex knowledge ✓ The use of .csv files instead of impex files (other formats: xml need customization) ✓ Files can be generated by other systems: Talend for example. HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 5
  • 6. + Hot-folder mechanism: Batch diagram HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 6
  • 7. + Hot-folder mechanism HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 7
  • 8. + Hot-folder mechanism ✓ Batch integration HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 8
  • 9. + Hot-folder mechanism ✓ Batch import HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 9
  • 10. + Configuration 10 Configuration HOT FOLDER File Name Description hot-folder-common-spring.xml Common configuration: delimeter, parser, fallback extensionName-spring- integration-siteName.xml Extension related spring integration infrastructure including hot folder setup. Extension related ImpEx converters, filters and converter mappings… project.properties acceleratorservices.batch.impex.max-threads: number of threads used for ImpEx. acceleratorservices.batch.impex.basefolder: base folder of the import infrastructure containing catalog specific sub folders. © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015
  • 11. + Task configuration 11 Configuration HOT FOLDER Configuration option Parameters ImpexTransformerTask converterMap: used to map file prefixes to one or multiple converters to produce ImpEx files. encoding: the file encoding to use (default: UTF-8). linesToSkip: the lines to skip in all CSV files (default: 0). fieldSeparator: the separator to use to read CSV files (default: ,). HeaderSetupTask catalog: the catalog to use. This setting is applied to the default header substitution $CATALOG$ net: the net setting to apply to prices. This setting is applied to the default header substitution $NET$ HeaderInitTask sequenceIdParser: the regular expression used to extract the sequence ID from the file name. In the sample configuration, the sequence ID precedes the file extension separated by a hyphen, for example: base_product-1.csv. languageParser: the regular expression used to extract the language from the file name. In the sample configuration, the language optionally precedes the sequence ID, for example: base_product-de-1.csv. fallbackLanguage: the language to use if the language is not set in the file name. CleanupTask CleanupHelper.timeStampFormat: if set, append timestamp in the specified format to input files moved to the archive or error subdirectory © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015
  • 12. + Converter configuration 12 Configuration HOT FOLDER Configuration Option Parameters header $NET$: the net setting $CATALOG$: the catalog prefix $LANGUAGE$: the language setting $TYPE$: an optional type attribute that can be applied if filtering is configured impexRow {('+')? (<columnId> | 'S')}.: {+0} to make check of mandatory attribute, {+S} to generate a sequence ID. rowFilter: an optional row filter. Allow use of expression which must be a valid Groovy expression For example, querying if the first column is not empty can be written as !row. type: an optional type that can be retrieved in the header using the header substitution $TYPE$. © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015
  • 13. + Spring integration configuration 13 Configuration HOT FOLDER Configuration Option Parameters int:channel Setup of a channel int:service-activator activates a referenced bean when receiving a message on a configured channel to act as service file:inbound-channel-adapter Scan a directory in a configurable interval and send files to a configured channel following order defined by FileOrderComparator file:outbound-gateway Move a file to the processing subdirectory. © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015
  • 14. + Configuration 1. 1-Base directory HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 14
  • 15. + Configuration 1. 2- Define inbound-channel-adapter to scan the input folder HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 15
  • 16. + Configuration 1. 3- Create an outbound-gateway to copy files to the usual processing folder HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 16
  • 17. Hot folder Basics ✓ Configuration 1. 4- Define a specific converter for stock and according to this a converter mapping Stock example: HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 17
  • 18. Hot folder Basics ✓ Configuration Vendors example: HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 18
  • 19. Hot folder Basics ✓ Configuration Converter mapping: HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 19
  • 20. ✓ Base directory structure HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 20
  • 21. ✓ Hot folder Basics Input Archive: Files after processing processing Error: mandatory attributes HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 21
  • 22. Demo HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 22
  • 23. ✓ Hot folder Customization Filter • Used before conversion • Intercept format errors: date, numbers… • Reject or import line Cell decorator • intercept the interpreting of a specific cell of a value line between parsing and translating • Acts on a specific column Translator • Change the translate logic for some attribute. • Ex: header attributes that have no counterpart at the type system • Act on a specific column HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 23
  • 24. ✓ Advanced customization: Filter HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 24
  • 25. ✓ Hot folder Customization: Decorator HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 25
  • 26. ✓ Hot folder Customization: Other customizations convert XML to CSV HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 26
  • 27. ✓ Conclusion: ✓ Hot folder as alternative solution to ImpEx ✓ Usability ✓ Configuration ✓ Customization HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 27
  • 28. ✓ References ✓ http://www.pcmag.com/encyclopedia/term/67604/hot-folder ✓ https://wiki.hybris.com/display/R5T/Hot+Folder ✓ http://www.enterpriseintegrationpatterns.com/patterns/messaging/Channel Adapter.html ✓ https://wiki.hybris.com/display/forum/Execute+JOB+Now ✓ http://stackoverflow.com/questions/21413978/convert-an-xml-file-to-csv- file-using-java ✓ https://wiki.hybris.com/display/release5/ImpEx+API HOT FOLDER © SQLI GROUP 2015 – Gestion des flux avec SAP Hybris Hot folder 15/09/2015 28