Integration keys
Before you examine more technical components of dual-write, you’ll need to learn how integrations work based on integration keys, which is a key concept that’s used in data integration between Dataverse and finance and operations apps.
Dataverse and finance and operations apps are two discrete platforms, each having their own unique behaviors and business processes. When you want to integrate two different platforms, like finance and operations apps and Dataverse, you’ll need to ensure that uniquely identified information and records exist on either side. The simplest way to uniquely identify data in a row across platforms is to use natural keys, which contain the business context information. Natural keys make it easier for you to identify the data in Dataverse and finance and operations apps.
Dual-write uses integration keys to connect to each side of the integration. Without this key, no integration would know if it needed to do a create, update, or delete operation with the data. Integration keys are the natural keys that uniquely identify the rows across the two platforms, and they should match between the two. These integration keys are defined at the connection set and aren’t aware of the solution or the integration technology. If an Alternate key is used as the integration key, then it’s transported with a solution package. Alternate keys are static for each connection and shouldn’t change for each connection between integration keys in either system. In finance and operations apps, the entity key is the integration key for that system, and it should match the alternate key in Dataverse.
The following recommendations are based on patterns that have been seen for integration keys:
- You should always create alternate keys in Dataverse. Make sure that you mark these keys as Mandatory because multiple alternate keys can exist. For example, if a schema refresh occurs, you’ll need to redefine or refresh the connection set, especially if the alternate keys and integration keys have been customized for a particular business process or business logic.
- The key differences between finance and operations apps and Dataverse can lead to data inconsistencies, especially with custom entities instead of entities that come out of the box. Always examine those integration keys closely to ensure that they’re correct.
- Finance and operations apps has date-time effective entities, whereas Dataverse doesn’t. Dual-write takes the latest valid record and syncs this information. Because date-time records and auto closure of an elapsed record aren’t available in Dataverse, you might encounter a slight inconsistency in the records out of the box. Make sure that you monitor this information if it’s needed for auditing purposes. The dual-write out-of-box table maps have predefined table and field mappings that enable the flow of data between finance and operations apps and Dataverse. Because every business is different, dual-write supports customization so you can change table maps and field mappings. To review your customizations, you can run a table map health check that runs best practices checks against your customizations and provides recommendations.
For more information, see Dual-write FAQ - What is the purpose of the integration key.