After purchasing your new software system you probably need to integrate it. Integration streamlines your processes, reduces costs, improves data quality, and can breathe new life into adjacent legacy systems you are stuck with.
Integration collects related data scattered across different systems. By consolidating these fragments into a complete view, users can stay in their preferred system while leveraging the data collected by other users in adjacent systems.
The usual approach to integration is either data syncing (replication) or creating a single source of truth (SSOT) for real-time access. Some benefits of integration differ depending on the approach you take:
- User Convenience
- An integrated system is more efficient
- It provides the user with a holistic view of their data - building a better picture
- Less data entry is required which reduces mistakes caused by human error
- Creates better data - particularly if using a SSOT
- Eliminates the need for users to be trained on other systems
- Reduces Costs
- Can reduce user licensing as the key data may be exposed in an adjacent system
- Using a single data source eliminates disjointed storage (applicable for SSOT)
- Fewer data sources mean fewer installations, upgrades, and maintenance
- Reduced licensing fees associated with data storage
- Improved Reporting
- With key data in one place, it's easy to create cross-system reports
- Better reports are possible because records contain all the required fields
- Real-time reporting delivers up-to-the-minute intelligence (with a SSOT)
- Wider Visibility
- Integration with cloud technologies makes key data, potentially locked away in old systems, available to a wider range of users
Just thinking about integration creates new ideas and possibilities. At FuseIT, we have integrations between Sitecore CMS, Salesforce CRM, and Micro Focus Content Manager. Some of the benefits of integrating these technologies are:
- Sales reps in the CRM can see a lead's website behavior
- Website visitors see page content related to settings in their CRM contact record
- Submitted website forms create or update CRM leads or contacts
- An individual's email subscription preferences in the CRM can be edited on a website page
- CRM users can save attachments to the Record Management System
Sync vs Real-Time
Off-the-shelf integrations usually share system data via public APIs. For a one-way integration between System A and System B, an event in A can push data to B. Alternatively, an event in B can pull data from A to B. The result is the same, the data in A is now in B. The first consideration is, "If the data is changed in A, when does the updated data appear in B?". If the integration uses syncing, there will be a delay before a scheduled sync updates B. Compare this to real-time integrations that "gets" the data when it needs it - an event in B would pull the data from A to B.
The second consideration is, "Is the data saved in B?" If the integration uses syncing, the data exists in both systems however the exact state of the data is unknown as we cannot be sure if it has been updated in either system. Real-time integrations have high-quality data as they generally have a single source so the data is only stored in one system, in this case, A.
Syncing integrations require additional thinking around what data to sync when the scheduler fires. A common approach is to only sync data that has changed since the previous sync e.g check the Last Modified Date of each record in System A. Syncing integrations introduce a number of risks including:
- Because syncing is blind, any data in System B that has been changed since the last sync will be overwritten
- A schema change in System A will cause all the data to be synced e.g. if a new field is added to a record object, the Last Modified Date of all System A records will be updated
- If a record in System A has a varying number of child elements, the integration needs to handle that, so the receiver field(s) in System B can accept those elements. This challenges most simple syncing integrations
The above is a simple one-way integration whereas most are bi-directional - welcome to the exciting world of integration architecture!
In choosing an integration approach you need to consider many factors - just a few are:
- Functional requirements
- Data quality requirements (CRATA)
- Performance and security requirements
- System API constraints and data sharing capabilities
- System proximity and inter-system bandwidth and latency
- System's customization capabilities
- Budget and project constraints
You can see why it is useful to find a partner with solid experience integrating your exact technologies before making an integration technology decision.
Integrations can be simple but if they are, it is likely there will be sacrifices in data quality or performance. To understand these concessions, it is important to identify the "must haves" before choosing an integration technology. As system integrators, we recommend using integration software proven in high volume situations and choosing an experienced implementation team to reduce project risk.
It is well worth it! Successful integrations can improve your operational effectiveness, attract more business by surfacing sales intelligence, and reduce costs. If you need help or need to learn more about how to add value to your business in this way please contact us for more information.