1 - Introduction

What is DBSync?

DBSync is an integration platform used to integrate databases, Software as a Service (SaaS) and other software applications as it sees fit.

Why use DBSync?

  • DBSync provides an integration platform for quick and easy synchronization, replication, and integration of data between multiple data sources.
  • DBSync is a platform built for users who require the need for bi-directional data synchronization, replication, migration, scrubbing and integration with your On-Demand or SaaS application.
  • DBSync integrates with your back-end database or applications.
  • DBSync provides an easy to use interface to configure and manage multiple integration profiles with essential features including:
    • Business process models
    • Field data mapping
    • Schedulers

Figure 1: A visualization of how DBSync works

Key Components

DBSync Key Components consists of:

  • Profiles A Profile is a combination of connectors, adapters, business processes, and mappings, which together solve a business integration requirement.
  • Adapters Adapters are modules that encapsulate all the necessary protocols and logic to effectively communicate with the end points.
  • Scheduler Allows you to schedule the processes in profiles to run at scheduled intervals.
  • Library Contains pre-built profiles with default mappings for integrating applications such as Salesforce and QuickBooks.

How DBSync works

Before I discuss how it works, let me put the application in context so that one can get a better understanding of the purpose of the application. The following is a practical example as to why one would use DBSync.

Example

You are using Salesforce as your CRM application, and you want to send and write the information to QuickBooks, while simultaneously updating the same data in Salesforce; DBSync serves as a facilitator to integrate these processes. With DBSync, you don’t have to manually enter the data in two different places, as whatever data entered in QuickBooks is automatically sent to Salesforce as well (or vice versa). DBSync serves as the integration engine or “translator” so to speak.

The Fundamentals of How DBSync Works

DBSync “translates” or sends data from one database (Salesforce.com for example) to another database (QuickBooks for example) through a process called “ETL”. Below you will find details as to how the data is extracted from one database (in this example we will say Salesforce.com) and sent to another database (in this example we will say the other database is QuickBooks)

ETL is an acronym that stands for Extract, Transform, Load.

  • Process of Extracting is equivalent to “Reading”, which is what needs to be done when Extracting info from a database, so Extracting = Reading.
  • Transforming data after it has been read from one database (Salesforce for example) so it can be understood and read by another database (QuickBooks for example) is also called “mapping” Transforming = mapping.
  • Lastly, we need to load the transformed or “mapped” data so it can be read in the new database. In order to load data we need to “write” it so loading = writing.

Figure 2. Extract, Transform, Load is synonymous with Read, Translate, and Write


Figure 3. Data flows in this example from left to right, from one database to another. This diagram represents a "state" The reasons as to why it is referred to as a "state" are discussed in the next section

States

A “state” consists of a data flow, and two databases or endpoints. One state can ONLY have ONE extractor (By "extractor" we are referring to "extract" in the ETL process.) When you split data they are all in the same state.

A “state” is represented in the application as a “gear” icon, and is illustrated in the “Get Started” page in the screen shot below:

  • As a rule of thumb, there are generally four maps for each state. For example, in the screen shot above, update and upsert in the CustomerToAccount “state” has been shown. The maps are for updating the existing customer’s or for creating a new customer.
  • The global variables are provided and the values for them are entered by the user so that they get replaced in the query automatically for the execution.

Acronyms and Abbreviations

Term Description
API Application Programming Interface
CSV Comma Separated Values
DBSync Database Synchronization
JDBC Java Data Base Connectivity
SQL Structured Query Language
SF Salesforce.com
QB QuickBooks
QBOE QuickBooksOnline
XML Extended Mark Up Language
Adapter Manages all the logic required to communicate with the end points.
PDL Process Definition Language
Reader Reads the data from the specified adapter based on the query.
Writer Writes the data in the specified adapter.
StatusWriter Writes the status/result data to the specified adapter.
Mapping Maps the objects and fields from source to destination


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.