Overview and Problem with Existing System(sc 8.x)
Before diving in to xConnect let us understand what is the problem with existing system(sitecore 8.x).
Overview of Existing System xDB(sc 8.x):
As we know in xDB It stores all analytics and interaction data for users across all of your digital properties, whether those users are known or anonymous.In order to provide really good insight to the marketers
From the Documentation:
The Sitecore Experience Database (xDB) collects all your customer interactions from all channel sources in a real-time, big data repository. It connects interaction data to create a comprehensive, unified view of each individual customer, and makes the data available to marketers to manage the customer experience in real time.
You will create marketing definitions from the marketing control panel like marketing taxonomy,Campaigns based on the business. Once your marketing definition is ready it is deployed to the CD role.For each page view you may assign your marketing definitions and you trigger it based on the based on business needs.
When the visitor browse your brand on web the interactions for each page view will be stored in the device session and once session ends contacts activity will be flushed to your xDB.
- when the visitor browse your site the contact activity for each page view will be accumulated in the session (session name device)
- As the visitor browse your site the goal,interaction,event for the configured page will be captured in the session
- Once the session ends all the contacts activity will be flushed in to collection database(mongo db) and then processing server process the data in a form which can be deployed to reporting and then the data will be pushed to your reporting database.
This is very high level overview how the existing system works.if you want to know more you can read the documents from sitecore sdn and other blogs
Now we can analysize the problem with the existing system:
Problems with Existing System (sc 8.x)
Tightly coupled with sitecore kernel:
The legacy system is capable oxConnect Part 2f collecting the contact activity from different channels.But the way it collects it differs.The contact and interaction model was architected around web interactions.
If you look the above picture.You had to create a fake Page to hold the event, goal or outcome, just to add it to the interaction .That is when a Contact, was interacting with your brand on the web. A Contact had multiple Interactions and those interactions held a collection of Pages that had been visited. Those pages then held any Page Events, Goals or Outcomes that had been triggered.So you need your page for hold your contact activity.
Because it was architected around web interactions, all data flowing in to and out of xDB had to go through a full, kernel-based Sitecore instance.
If you are familier with the existing system you might aware of contact locking.Assume when the contact on your website the record gets locked and the other system cannot update the contact information until record gets released.
If the contact is browsing your brand on web.The contact will be locked meanwhile if the other systems like CRM or from from some other system if your trying to update the contact it will not allow to update the contact information until the record gets released.
To know more continue reading xConnect Part 2