17 Salesforce.com

It is important to understand how to work with Salesforce.com in Oracle Data Integrator.

This chapter includes the following sections:

17.1 Introduction

Oracle Data Integrator (ODI) seamlessly integrates with Salesforce.com. Oracle Data Integrator features are designed to work best with Salesforce.com, including reverse-engineering and mappings.

17.1.1 Concepts

The Salesforce.com database concepts map the Oracle Data Integrator concepts as follows: A Salesforce.com server corresponds to a data server in Oracle Data Integrator. Within this server, a database maps to an Oracle Data Integrator physical schema.

Oracle Data Integrator uses Java Database Connectivity (JDBC) to connect to a Salesforce.com data server. See Connectivity Requirements for more details.

17.1.2 Knowledge Modules

Oracle Data Integrator provides no Knowledge Module (KM) specific to the Salesforce.com technology. You can use the generic SQL KMs to perform the data integration and transformation operations of Salesforce.com data. See Generic SQL for more information.

17.2 Installation and Configuration

Make sure you have read the information in this section before you start using the Salesforce.com Knowledge Module:

17.2.1 System Requirements and Certifications

Before performing any installation, you should read the system requirements and certification documentation to ensure that your environment meets the minimum installation requirements for the products you are installing.

The list of supported platforms and versions is available on Oracle Technical Network (OTN):

http://www.oracle.com/technology/products/oracle-data-integrator/index.html.

17.2.2 Technology Specific Requirements

There are no technology-specific requirements for using Salesforce.com in Oracle Data Integrator.

17.2.3 Connectivity Requirements

This section lists the requirements for connecting to a Salesforce.com database.

JDBC Driver

Oracle Data Integrator uses the Salesforce.com JDBC Driver to connect to a Salesforce.com database.

17.3 Setting up the Topology

17.3.1 Creating a Salesforce.com Data Server

Create a data server for the Salesforce.com technology using the standard procedure, as described in Creating a Data Server of Developing Integration Projects with Oracle Data Integrator. This section details only the fields required or specific for defining a Salesforce.com data server:

  1. In the Definition tab:
    • Name: Name of the data server that will appear in Oracle Data Integrator

    • Instance/dblink (Data Server): Not required for Salesforce.com. Leave this field blank.

    • User/Password: User name and password for connecting to the data server

  2. In the JDBC tab:
    • JDBC Driver: weblogic.jdbc.sforce.SForceDriver

    • JDBC URL: The URL used for connecting to the data server. For example, jdbc:weblogic:sforce://login.salesforce.com.

  3. In the Properties section:
    • ConfigOptions: The configuration options that you want to use. For example, (AuditColumns=all;MapSystemColumnNames=0;).

    • DatabaseName: The instance of the database. This needs to be changed as per the JDBC URL used.

    Note:

    For more information on the connection properties supported by the Salesforce.com driver, see http://media.datadirect.com/download/docs/jdbc/alljdbc/help.html#page/jdbcconnect%2FConnection_Properties_11.html%23wwID0EZT5Y.

17.3.2 Creating a Physical Schema for Salesforce.com Data Server

An Oracle Data Integrator physical schema corresponds to a pair of schemas:

  • A Data Schema into which Oracle Data Integrator will look for the source and target data structures for the mapping.

  • A Work Schema into which Oracle Data Integrator can create and manipulate temporary work data structures associated with the sources and targets contained in the data schema.

Create a physical schema for the Salesforce.com data server using the standard procedure, as described in Creating a Physical Schema in Administering Oracle Data Integrator.

Create for this physical schema a logical schema using the standard procedure, as described in Creating a Logical Schema in Administering Oracle Data Integrator and associate it in a given context.

17.4 Setting Up an Integration Project

Setting up a project using Salesforce.com follows the standard procedure. See Creating an Integration Project of Developing Integration Projects with Oracle Data Integrator.

Import the following generic SQL KMs into your project for getting started with Salesforce.com:

  • IKM SQL to SQL Control Append

  • IKM SQL to SQL Incremental Update

See Generic SQL for more information about these KMs.

Note:

The following KMs are available in the system by default:

  • LKM SQL to Oracle (Built-In)

  • LKM SQL to SQL (Built-In)

  • LKM SQL Multi-Connect

  • IKM Oracle Insert

  • IKM Oracle Update

17.5 Creating and Reverse-Engineering a Salesforce.com Model

This section contains the following topics:

17.5.1 Create a Salesforce.com Model

Create a Salesforce.com model using the standard procedure, as described in Creating a Model of Developing Integration Projects with Oracle Data Integrator.

17.5.2 Reverse-engineer a Salesforce.com Model

Salesforce.com supports Standard reverse-engineering - which uses only the abilities of the JDBC driver.

To perform a Standard reverse-engineering on Salesforce.com, use the usual procedure, as described in Reverse-engineering a Model of Developing Integration Projects with Oracle Data Integrator.

17.6 Designing a Mapping

You can use Salesforce.com as a source or a target of a mapping, but not as the staging area.

The KM choice for a mapping or a check determines the abilities and performances of this mapping or check. The recommendations below help in the selection of the KM for different situations concerning a Salesforce.com server.

17.6.1 Loading Data from and to Salesforce.com

Salesforce.com can be used as a source or a target of a mapping. The LKM choice in the Mapping Flow tab to load data between Salesforce.com and another type of data server is essential for the performance of a mapping.

17.6.1.1 Loading Data from Salesforce.com

Oracle Data Integrator does not provide specific knowledge modules for Salesforce.com. Use the generic SQL KMs or the KMs specific to the technology used as the staging area. The following table lists some generic SQL KMs that can be used for loading data from Salesforce.com to any staging area.

Table 17-1 KMs to Load from Salesforce.com

Target or Staging Area KM Notes

Oracle

LKM SQL to Oracle

Loads data from any ANSI SQL-92 source database to an Oracle staging area.

SQL

LKM SQL to SQL

Loads data from an ANSI SQL-92 compliant database for an ANSI SQL-92 compliant staging area. This LKM uses the agent to read selected data from the source database and write the result into the staging temporary table created dynamically.

17.6.1.2 Loading Data to Salesforce.com

Because Salesforce.com cannot be used as staging area, you cannot use a LKM to load data into Salesforce.com. See Integrating Data in Salesforce.com for more information on how to integrate data into Salesforce.com.

17.6.2 Integrating Data in Salesforce.com

Oracle Data Integrator does not provide specific knowledge modules for Salesforce.com. Use the Generic SQL KMs or the KMs specific to the technology used as the staging area. For integrating with Salesforce.com, only the IKMs that do not require a LKM and that do not require the staging area to be set on target can be used. The following table lists the generic SQL KMs that can be used for integrating data from a staging area to Salesforce.com.

Table 17-2 KMs for Integrating Data to Salesforce.com

KM Notes

IKM SQL to SQL Control Append

Integrates data into an ANSI-SQL92 target database from any ANSI-SQL92 compliant staging area. This IKM is typically used for ETL configurations: source and target tables are in different databases and the mapping's staging area is set to the logical schema of the source tables or a third schema.

IKM SQL to SQL Incremental Update

Integrates data from any AINSI-SQL92 compliant database into any AINSISQL92 compliant database target table in incremental update mode. This IKM is typically used for ETL configurations: source and target tables are on different databases and the mapping's staging area is set to the logical schema of the source tables or a third schema.

To use this IKM, the FLOW_TABLE_LOCATION option should be set to STAGING.