Integration, like ice cream, comes in many flavours. And like ice cream, some are better suited to your needs than others. On a hot summer’s day, a refreshing sorbet might be your preference. If you’re throwing the ice cream on top of a warm apple pie however, Madagascan vanilla (obviously!). Sometimes you’ll see a kiosk advertising ice cream, but really they’re flogging some vile frozen chemical cream-like product which is neither good for man nor beast.
So … (need to stop thinking about ice cream) when is integration not integration?
There are many ways you can expose data from one system when working in another. Different requirements will drive different approaches. In this post, we share some of the common ways to share data between systems.
Syncing data between systems
Data in System A is loaded into System B and vice-versa. The data is actually loaded into the database of the other application. This includes ensuring that all the cross-referencing within data is correct. New data creates new records, updated data updates existing records. This is the real deal when it comes to integration. The data is physically copied from one system into the other.
There are two significant advantages of this approach. Firstly, you can continue to use both systems normally – the user experience is uninterrupted. Additionally, the second system may offer features which the first doesn’t, e.g. data analytics. You can use any features in the second system across the entire, potentially blended, data set. Users of either system continue to use their application as normal, what they see on screen is the most recent version of the information that the company has.
An example of Freshdesk tickets, synced into Dynamics 365 and exposed in a Dynamics dashboard
One example which we often come across is the loading of helpdesk tickets into a CRM system. Companies are using service management applications for working the tickets. Loading the ticket information into CRM gives the sales team up-to-date knowledge about clients. We’ll also sync company and contact information between the two systems, so that the most recent information is always to hand. The synced data is loaded into CRM and so all CRM features are available.
Our integration service, Seamless, is an example of the kind of tooling used to deliver this kind of integration.
Embedding apps / windows across systems
With the advent of web delivered systems, it has become much easier to embed App A within App B. Behind the scenes this is usually done by embedding a browser frame which is looking at App A on the relevant page in App B. From the user perspective, there is nothing additional they need to do.
This can be a quick way to expose data or systems features at the point that a user requires them. There are some disadvantages though, most notably that the underlying data still sits separately in both systems. If there are cases where the data needs to interact, e.g. placing Company Details from Application A onto a form in Application B, this is limited to copy and paste. Another disadvantage of this approach is that any given user will need to have licenses for both systems.
Enterprise master data service by an enterprise service bus
In large enterprise IT environments, it is not uncommon to find that the enterprise architecture design has separated data from processing. Master data is stored in a centralised repository and individual applications performing various business functions access / update data through some sort of enterprise service bus.
Ideally, the service bus will make a number of services, e.g. “create customer record”, “update customer record”, etc. available to all applications through a standardised interface. As long as applications can engage with the service bus interface, it can interact with the master data.
These architectures are complicated to setup and maintain. In practical terms, they only offer real benefits when operating at significant scale. They may be better suited to enterprises which have a number of bespoke applications as these applications can be built to engage with the service bus.
Additionally, where a company is using a number of different vendor applications, some of the benefits will be lost as the applications will be built to operate without relying on other systems for data.
Another approach that has become much easier to deliver using web systems is the add-in app. This is where a third-party vendor builds an app that delivers a specific feature on top of an existing application. These add-in apps typically blend data from the underlying system into their own feature set.
Salesforce was one of early leaders of this approach with their marketplace, AppExchange, launched in 2005 (now evolved into the Lightning Platform). Many other vendors have followed suit with a view that building an ecosystem around your application(s) extends the attractiveness of your core offering.
In some cases, these apps will be specific to their underlying applications (think ClickDimensions for marketing automation on Dynamics). In other cases, the app might be written to be platform independent and the vendor will develop deep integrations to a series of different underlying applications (think QuoteWerks for CPQ which can be integrated to a number of CRM and accounting platforms).
A benefit of using add-in apps is that you’re making the most of your existing investment in the underlying application. By spending a bit extra, you’re addressing a new requirement. Typically, that “bit extra” will be significantly less than the cost of an entirely new application. Additionally, you’re blending the add-in app onto existing data. Rolling out an add-in application tends to be more straightforward than rolling out an entirely new application.
Ice cream is better than no ice cream
Just like ice-cream, there is no right answer. Except to say that ice cream is better than no ice cream, and the same can be said of integration. Different business scenarios will require different approaches. If you’re considering bringing data across different systems together, please reach out and we can join a conversation on the most suitable approach (or approaches) to meet your business needs.