function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Haris Osmanagic, B&HHaris Osmanagic, B&H 

Force.com platform vs Custom integration - what are the pros and cons?

Hi all,

What are the pros and cons of
* developing an application integration with Salesforce using Force.com platform (packages), and
* developing it (in Java) using SF's SOAP/REST/etc. API.

The points I'm especially interested are:
* dev. experience (availability of support, tools, etc.)
* user experience (installation, permission stuff etc.)
* limits (in the sense of manipulating an organization's data, or in other words: is there something which can be done with an org's data using Force.com platform that can't be done using it's SOAP/REST/etc. APIs?)

(I'm a Salesforce newbie, so I may haved missed the right terminology at some points.)

Thanks in advance!

Haris
pbattissonpbattisson
A lot of these decisions are use case dependent, could you provide more information?
Haris Osmanagic, B&HHaris Osmanagic, B&H
Thanks for your interest in the question, Paul!

Basically, I'm trying to write an integration, which will work with a set of user data, of variable size: may be couple of objects but can also be the whole set of objects user has in his account, it's a user decision. The user may want to perform a search in his account's data to select what he'd like to be processed. The data will be sent it to a 3rd party service for processing and retrieve it back (to begin with, the retrieval will be user-initiated).
pbattissonpbattisson
In that case you would be better off doing it on Salesforce (assuming I am understanding correctly that the data is all stored there). This will make the searching quicker and easier and you can simply call out to the 3rd party service to submit the data for processing.

If you do this in Java you would need to write 2 sets of web services (one to talk to Salesforce, one to talk to the processing system) whereas you will need a single service only on Salesforce. You can use all of Salesforce's standard abilities (user permissions etc.) which you would not get with a Java app and obviously no need to setup a separate server etc.

Hope that helps!
Haris Osmanagic, B&HHaris Osmanagic, B&H
A part of the data is stored in a user's account, and the processed is stored in a 3rd party service (the user may use the data any time).

Other than the benefits of a PaaS (infrastructure), I could understand there are two benefits to building a native app: not having to write a service to talk to Salesforce (I have built-in support for accessing a user's data on SF?) and some standard abilities, e.g. user permissions. Regarding this, what's in the SF's user permissions which makes it better than simply authenticating with OAuth? Also, apart from those mentioned benefits, are there any more?