For today's Tech Tuesday our Senior Technical Consultant, Chris Hanson, discusses the difference between the change based data sources and the real-time data sources within SmartConnect. Both of the options have their own advantages and uses when you are setting up integrations on your system.
Change based data sources are always handled at the SQL level. SmartConnect is creating change triggers and a tracking table that will record the key fields of any record that has an insert, update, delete or any combination of those. Change sources can also be used with CRM or Salesforce by using custom entities that SmartConnect will create to mimic that same process.
Change based data sources do not run automatically though, they need to be run manually or setup on a periodic schedule. Real-time sources on the other hand, will fire off the moment one of the inset, update, or delete events occur.
Up to this point, real-time sources could only be setup on GP (and Extender), CRM, or Salesforce. This is because we use whichever method that is support by those products to trigger the event. So for CRM we use plugins, Salesforce uses the built-in scripting methods, and GP uses the dexterity triggers thrown off by the interface.
That last point is important, especially for GP real-time sources. Since we use the dexterity triggers and events coming from GP, our GP real-time sources will only fire if someone enters data through the interface – and only if we have our SmartConnect dictionary loaded on the client that the action occurs on. So in order to use the GP real-time sources we would need to have our dictionary installed on every GP client.
With all of that said, in the SmartConnect 2014 release that will be out soon there is an option for a SQL real-time data source. That will combine the benefits of tracking the events at the SQL level with instantly running the map on any event that occurs. This can be used on any SQL server/tables that you have access to and can even be used in place of the GP real-time option if you have multiple clients and do not want to load the SmartConnect dictionary on them.
If you have any questions on these data sources let us know in the comments or head over to our forums and start a discussion there. We would be happy to expand on this or any other feature.