Syniti Universal Connect
Using Syniti Universal Connectwith Integrate
October 2017 - Applies to DSP 6.6.1 and above
Introduction
Starting with DSP 6.6.1, Syniti Universal Connect is now integrated into the platform and can be used from Collect, Integrate and page events. This article shows how data from the DSP can be sent to an external system using Integrate and Syniti Universal Connect.
The DSP installation manual, requirements and sizing guide, and online help have been updated to include Syniti Universal Connect information.
Prerequisites
If you plan to build the content yourself, you will require the following:
- A DSP instance. This must be version 6.6.1 or above.
- Access to an external system. In the example below we use a Salesforce tenant.
- A Boomi account provisioned by BackOffice Associates. The account must have a minimum of 2 licensed connections. One connection is required for Salesforce, and one connection for the source SQL Server database.
- A Boomi local Atom.
We assume the reader has a basic working knowledge of DSP, SQL Server Management Studio, and Boomi development.
Configuring DSP/Syniti Universal Connect to Create Salesforce Account Data
The following steps describe how to build and configure a process to create Salesforce accounts using data from the DSP. The steps are applicable to any external system, the only difference will be in the Boomi processes that are created.
The steps are:
- Create and register a target database.
- Create the data model.
- Register the Boomi account.
- Build and deploy the Boomi process.
- Register and execute the Boomi Process via Integrate.
Create and Register a Target Database
In SQL Server Management Studio, create a new database. In this example, we will create accounts in an instance of Salesforce for North America, so we called the database dswSalesforceNA.
Register the source database in DSP by navigating to Common > Configuration > Data Source Registry. The data source type should be Migration Object Database.
Create the Data Model
Integrate can automatically create certain DSP database objects; however, database objects required for the Boomi process must be created manually. In our example, a table will be used to store account data for the posting requests. The structure of this table is dependent on the data that will be posted to the external system; however, a RequestID column must be used to partition the data for each posting request. In our example, we use the DDL in Appendix A to create a source table called txAccount_Create.
The diagram below shows the logical data flow and how the data is filtered using a request ID.
Register Boomi Account
The Boomi account must be provisioned by BOA as it requires specific content in it. Register the account in DSP by adding a new data source. Navigate to Common > Configuration > Data Source Registry to add the account. The data source type must be IG Universal Connect.
Once you have entered your account ID and credentials, you can select a default atom. The default atom can be overridden in Integrate.
Build and Deploy the Boomi Process
Prior to building the Boomi processes for Integrate, you must configure the IGUC template provided by BackOffice Associates in your Boomi account. Refer to Configuring and Using the IG Universal Connect Template for more information. If you have a limited number of Boomi connections, the template can be configured using the connection that will be used for the source SQL Server database (in our example, dswSalesforeNA).
- Log in to your Boomi account and create connections for your external system (in our case Salesforce) and your source SQL Server database.
- Replicate the IGUC template (as described in Configuring and Using the IG Universal Connect Template) and save it with a name following the guidelines in the IG Universal Connect Best Practices document. We used the name INT Migrate SFDC Account Create.
- Add a connector to query the Account data from the source SQL Server database.
We used the Import feature to build the SELECT statement and define the fields from the source table txAccount_Create. - Add a parameter to be used to filter the data for each posting request.
- Modify the generated SQL Script and add a WHERE clause to filter the data using the parameter. The modified SQL Script is:
SELECT AccountNumber, ID, Name, Phone, RequestID, Type FROM txAccount_Create where RequestID = ? - Configure the database connector and add a mapping for the SQL parameter. Map the parameter to a dynamic process property. The process property can have any name, but you must use the exact name when configuring it in DSP (covered later).
- Configure the Notify shape called Write DSP Parameters and add a mapping for the dynamic process property used in the previous step. This writes the parameter value to the process log which is useful for debugging.
- Add a connector to create the accounts in Salesforce.
- Add a Map shape to map the database table to the Salesforce create request.
Some target fields might not have a matching column from the source profile, these can be left unmapped. - Save and test the process. When executing the process in test mode, you must provide a UUID as the value for the dynamic process property LinkID (as described in Configuring and Using the IG Universal Connect Template). You must also provide a value for the dynamic process property you are using for the posting request ID.
The test data we used.
The process should execute successfully.
The accounts were created in Salesforce.
Once the process has been successfully tested, it must be deployed. Only deployed processes can be used with IGUC.
Register and Execute the Boomi Process via Integrate
- Navigate to Integrate > Categories and add a new category.
- Add a new template and, on the Vertical View, select the Boomi process previously built for this template.
- Activate the template by clicking the Activate/Deactivate button.
- Add a Category Process, select the previously created Template and Data Source on the Vertical View.
- Click the Loops button for the Template linked to this Process.
- Click the Auto Generate Database Objects button.
DSP will create a view and an associated staging table in the specified data source and register the view in DSP.
The Name/Value field mappings allow the process to pass control data to the Boomi Process at execution time. Each Name/Value pair is passed as a Boomi dynamic process property. - Click the Allowed Connections button.
- Select an IGUC Connection and click Save, then click the Set Default button to set it as the default connection.
- If required you can change the Atom on the Vertical View.
- Activate the Process by clicking the Activate/Deactivate button.
The Process becomes active.
To test this process we can perform a manual posting from Integrate. This involves manually inserting request data into the table automatically created by DSP, and inserting account data into the source table that the Boomi process reads.
The control data we manually inserted into the table generated by DSP (ttSFDC_Account_Create_SFDC_Account_Create_Parameters_Upload) is shown below. In our example, we require a dynamic process property called RequestID to be set to the value of the DSP request ID. If additional dynamic process properties are required, they can be provided by inserting additional rows for each request.
The account data we manually inserted into the source table (txAccount_Create) is shown below.
Click the Postings button to create a manual posting.
Click the Post button to perform the posting.
Integrate executes the Boomi process and each Name/Value pair in the staging table is passed as a dynamic process property.
The Boomi process reads the account data using the RequestID as a filter and creates a new account in Salesforce.
Appendix A - DDL to create txAccount_Create source table
CREATE TABLE [dbo].[txAccount_Create](
[ID] [int] IDENTITY(1,1) NOT NULL,
[RequestID] [int] NOT NULL,
[Name] [nvarchar](255) NOT NULL,
[Type] [nvarchar](40) NOT NULL,
[Phone] [nvarchar](40) NOT NULL,
[AccountNumber] [nvarchar](40) NOT NULL,
CONSTRAINT [PK_txAccount_Create] PRIMARY KEY CLUSTERED
(
[ID] ASC
)
)