Data Exchange Framework:Installation And Overview

This is the first post in the Data Exchange Frameworok Blog Series. Here we will understand basic DXF setup and various terminologies used.

Sitecore provides a very good documentaion for DXF with step by step walk though of creating a sample import from csv file. Here i will try to simplify the things and introduce the component gradually as required. We will first understand the DXF concepts, then we will create a small processor to import basic data and gradually we will learn the advanced concepts. By the end of the series, we will create a sitecore module which will be available in marketplace.

DXF packages can be downloaded from Here

There are 4 different packages available for download.

  1. Data Exchange Framework - Core framework
  2. Sitecore Provider for DXF - DXF Provider to read/write data from sitecore and xDB.
  3. DXF SDK - Libraries to create custom provider
  4. DXF Remote SDK - Libraries to access DXF Process from Non SItecore applications.

Install the Framework Package using Sitecore Installation Wizard. Once package is installed we will find following components in sitecore


Terminologies

Pipeline [Sitecore Item]

A pipeline contains one or more pipeline steps that needs to be processed together.

e.g. Install DXF Framework

Pipeline Step [Sitecore Item]

A pipeline step is the individual processing unit. It has the logics to process the data.

e.g. In above pipeline steps can be Download Package, Install Package, Verify the sitecore items

Converter [C# Class]

A Converter reads data from sitecore pipeline/pipeline step/endpoint.

Processor [C# Class]

A Processor actually process the data and contains all business logics.

PlugIn [C# Class]

Plugin is a simple POCO class that transfers data between a converter and processor. Converter creates plugin and add it to pipeline context or pipeline step context.

Pipeline Batch [C# Class]

Pipeline Batch is the entry point from DXF. A pipeline batch contains one or more pipelines. It keeps track of last run time, process log etc.