Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We are supposed to design the Integration approach between Salesforce App and an Enterprise System. The characteristics of the Integration is as below:

Baches of data to be moved from the Source System to Salesforce App on a daily basis. A maximum of 1000 receords to be moved per night. Number of Fields are going to be less than 10.

What is the best Approach? Cld you pls share some learnings on designing this solution, in this case I guess A Scheduled batch? How do we get the data from the source system, is it via an XLS?

share|improve this question

Consider these, in no particular order:

  1. Can Salesforce talk to your system?

    • It has publicly visible IP / domain name... or at least is accessible (via some proxy) from the pool of well known SF IP addresses range
    • This other system exposes a REST / SOAP interface (or you're willing to play with stuff like Canvas)
    • It requires either no authentication or something that SF can send (Basic, Digest etc are OK; MicroSoft'y NTLM/SPNEGO isn't)
    • in case of emergency - where the button to "send data now" should be?
  2. Characteristics of the data:

    • is it possible that size of data will grow in future, especially to a point where it will start hitting Apex governor limits (mostly heap size & script statements)
    • XML? JSON? CSV? CSV parsing can be surprisingly tricky in Apex
  3. Error handling should be heavier on side of which system? Do you need some kind of mapping "production talks with production, sandboxes talk with test server"?

If answers to 1 or 2 look like it's safer to make this other system an actor that initiates integration, then you have plenty of options to choose:

  1. All the integration articles on
  2. All paid plugins from AppExchange (I'm not going to list names, there are some heavy lifting apps that at least currently it doesn't look like you need)
  3. Database connectors that have an ODBC translation layer (or whatever is the proper name) so you'd have a stored procedure in SQL Server and it'd have INSERTS etc written in normal SQL but really fly to Salesforce as proper SOAP API commands.
  4. Last but not least - you can get pretty amazing results with simply scripting Data Loader to run from command line at scheduled times!
share|improve this answer
Thank you very much indeed .... I am exploring Option 4 and the option of CANVAS from your List ... Will get back soon ..... – sKaLiDhAsAn Feb 2 '13 at 5:29
The requirement is just a nightly Data Load. We have decided upon Data Loader CLI as you suggested however one key requirement is to encrypt (using AES256) the data in transit and at rest on the cloud. How do we achieve this? We have designed the solution by asking the external system to extract the required data into a CSV and Data Loader will be scheduled to read the file and push it into SFDC. I also came to know that direct DB connection (Oracle, SQL) is also possible using JDBC... Which would be the best approach? What are the Error files / Logs that gets generated during the operation? – sKaLiDhAsAn Feb 7 '13 at 6:36
Hmm... SF does have an encrypted fields capability but it's AES128 and not all data can be encrypted (…) - 175 chars limit for example. Ask your SF rep what kind of encryption do they actually use transparently to us, maybe it'll fit the bill out of the box. Re:JDBC - just check out the various offerings on AppExchange? In the past I've been quite happy with Informatica, Relational Junction and DBAmp (last one is for MS SQL Server). From cmd line you'll get same error files as from manually run Data Loader. – eyescream Feb 7 '13 at 8:00
Thank you very much ... SF claims AES256 is supported by default ... only the browser needs to be tweaked (by default IE supports AES128) ... my concern is about the Encryption while on Transit (while Data Loades pushes the data into SFDC) what encryption could be enforced by the Data Loader? – sKaLiDhAsAn Feb 7 '13 at 10:55
The below URL throws some insight in tweaking IE to support AES256...… – sKaLiDhAsAn Feb 7 '13 at 10:58

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.