Every marketing tool needs to work with data. In an ideal word, all different data would be stored in one common place. The Hero Marketing Tool would have all this data available so it can easily operate with them, filter them, add new data, etc. But this is not the reality. In the real word – and Oriflame is not an exception – data is spread across a variety of different systems. Then it really becomes important how far and with which tools it’s possible to bring all the necessary data to the proper place.
Sitecore is using the Data Exchange Framework for this purpose. As mentioned in the Sitecore documentation, this framework is used to build connections that integrate third-party content, analytics, and other data with the Sitecore Experience Platform. Technically speaking, the Data Exchange Framework is based on the principles of classical ETL (extract – transform – load) tools.
What is really specific to Sitecore here is the fact that all integration processes are modelled at the level of Sitecore items. A typical tenant (tenant is a basic encapsulating unit) consists of:
- Value Accessors – items representing the data itself
- Endpoints – a representation of the Source/Target systems
- Pipelines – items used to model the whole process
- Mappings – items representing the relationships between source and target data
At the beginning, it can look quite funny, but there is a real advantage of such an approach. Basically, all the processes can be modelled on the fly, without developers having to get involved!
Out of the box Sitecore comes with several prepared connectors (providers) that one can utilise. But what is this connector really? Actually, it’s a set of functionality that helps you to connect with the selected data source (e.g. with SQL database) plus it allows you to make certain operations over that data (e.g. read a row from the table). Skipping the connectors to CRM systems, Sitecore offers these providers:
- SQL provider – possibilities to work over SQL tables
- Sitecore provider – possibilities to work over Sitecore items
- xConnect provider – ability to work over contacts in a collection database
In addition to these existing connectors, we have developed our own custom one as well. It provides the ability to connect with Azure Service Bus and read messages from the selected subscription:
By using this provider we are able to easily integrate data coming from Service Bus. Typically, this data flow channel is used for initial data set-up or integration with data from third-party systems (not owned by Oriflame).
The source code of the Service Bus Provider is available at the GitHub repository.
Even though the learning curve in the domain of the Data Exchange Framework is not really low and flat, the added value is quite huge. The possibilities of the framework are big and we are able to cover many different scenarios with it. In addition, the work can be basically done by Solution Experts only (meaning without development resources).
Leave a Reply