![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/app/code/Soon/DataSync/docs/01_Getting_Started/ |
# Concepts and terminology ## Data Integration concepts DataSync is a data integration framework that runs on the Magento framework. The main component of a data integration system is "jobs". Jobs are processes whose task is to orchestrate the operations required to make successful data integration: * What type of data am I importing / exporting: csv, xml, ... * By which medium do I import / export this data: (s)ftp, local server, SOAP, REST... * What is my business logic to whether prepare the data to be exported or to treat the data I am receiving > In DataSync, a job is one way: import or export. A job cannot be both. > So, if you need to import data, apply your business logic to that imported data and then export it, > you must create two jobs: an import job and an export job. ## DataSync implementation In order to implement those concepts and make them fit into the Magneto technical ecosystem, DataSync is shipped with the following components: * The jobs "Stack" that gathers all jobs to be run and launch them according to their respective sort orders. * Several "DataTypes" that convert/parse raw data from/to an array * Several "TransferTypes" that know how to pull/push raw data from/to remote locations * The "Treatment" that you use to prepare the data you are exporting or affect the data your are importing. > Applying a Treatment to an imported data is not required. > A good example is a job that just reads the content of a remote file (an PDF invoice for example) in order to > send it to the browser for downloading. You may use DataSync to read the remote PDF content and send its raw content to the HTTP response.