Possible architecture for data analytics systems integrations

Overview

This is a technical generic how-to, displaying technical architectures for a Data analytics integration.

We will suppose in the following lines, that an institution wants to achieve an integration between S-360 and an external Data Analytics system, called DatX (fake name).

We expect this integration to provide those two basic features:

Synchronisation of contact data from S-360 to DatX

→ if a contact is created/updated in S-360, we want the modification to be pushed to DatX

Synchronisation of order data from S-360 to DatX

→ if an order is created/updated in S-360, we want the content of the order to be pushed to DatX

Synchronisation of other data from S-360 to DatX

→ Other entities can be pushed to DatX according to DatX needs.

The table below list some technological choices allowing to synchronise those data.

Contact synchronisation

Pushing contact data from S-360 to DatX

The table below describes some technical possibilities from S-360 to achieve that objective.

Solution Description Technologies Pros Cons
Flat file export The exact data needed by the Data Analytics system are extracted incrementally from S-360 using a Data Export Query. Then a flat file is produced and pushed to a external repository. This export can be produced up to one time per minute. Flat file (CSV, TSV, TXT...), SFTP or S3 for the repository The exact data needed can be exported. Can be ordered as a service by S-360 client Needs file parsing and specific integration on DatX side
Firehose contact plugin For each contact created/updated, S-360 executes a process defined by the external Data Analytics system : filtering the contact, calling one or many webservices, etc. Any webservice technology that can be called from S-360. S-360 executes exactly the processes defined by the Data Analytics system. A specific development (plugin) must be delivered by S-360. This development can also be executed by an external company, but S-360 is involved in validating the final result before the plugin is deployed.
Firehose contact webhook For each contact created/updated, S-360 calls a specific URL defined by the external Data Analytics system. See global documentation here https Immediately available in S-360, very simple integration. The DatX system needs to create a specific endpoint and process the contact.

Order synchronisation

Pushing order data from S-360 to DatX.

The technologies offered are exactly the same as for the contacts

Solution Description Technologies Pros Cons
Flat file export The exact data needed by the Data Analytics system are extracted incrementally from S-360 using an internal query. Then a flat file is produced and pushed to a external repository. This export can be produced up to one time per minute. Flat file (CSV, TSV, TXT...), SFTP or S3 for the repository The exact data needed can be exported. Can be ordered as a service by S-360 client Needs file parsing and specific integration on DatX side
Firehose order plugin For each order closed, S-360 executes a process defined by the external Data Analytics system : filtering the order, calling one or many webservices, etc. Any webservice technology that can be called from S-360 S-360 executes exactly the processes defined by the Data Analytics system. A specific development (plugin) must be delivered by S-360. This development can also be executed by an external company, but S-360 is involved in validating the final result before the plugin is deployed.
Firehose order webhook For each order closed, S-360 calls a specific URL defined by the external Data Analytics system. See global documentation here https Immediately available in S-360, very simple integration. The DatX system needs to create a specific endpoint and process the order.

Other data synchronisation

Pushing other data from S-360 to DatX.

S-360 offers many possibilities to extract data from its system.

Solution Description Technologies Pros Cons
Flat file export The exact data needed by the Data Analytics system are extracted incrementally from S-360 using a Data Export Query. Then a flat file is produced and pushed to a external repository. This export can be produced up to one time per minute. Flat file (CSV, TSV, TXT...), SFTP or S3 for the repository The exact data needed can be exported. Can be ordered as a service by S-360 client Needs file parsing and specific integration on DatX side
Data Export plugin S-360 executes an internal query and, from the results, calls any endpoint provided by the partner. Any webservice technology that can be called from S-360 S-360 executes exactly the processes defined by the Data Analytics system. A specific development (plugin) must be delivered by S-360. This development can also be executed by an external company, but S-360 is involved in validating the final result before the plugin is deployed.
Data export webhook S-360 executes a Data Export Query and, from the results pushes a JSON object which field names are the columns of the query. See global documentation here https The Data Export Query must be developed by S-360 Service Team, then the deployment is very fast. The DatX system needs to create a specific endpoint and process the payload.