- AUTHOR Dan Appleman
- January 25, 2013
- No Comments
There are all kinds of applications available to help you take full advantage of Salesforce in your organization. All of them fall into two categories – outside services that integrate with Salesforce, and applications that are native – that run entirely on the Force.com platform.
It’s not always easy to tell the difference – as some outside services provide managed packages that can connect to and utilize the outside service. But does it matter? Should this even be a consideration?
There are some cases where integrating an outside service is the best or only approach – for example, if the functionality that you need is not available natively on Force.com, or if the task is not a good fit for the Force.com platform. An application that processes very large amounts of data might be too costly to run on Force.com, and one that is very computationally intensive might not be able to run within Force.com platform limits.
But in cases where you have a choice – where you can find a completely native solution to solve a problem, there are significant advantages in doing so.
A native application always shares your Salesforce.com database. There is no potential for synchronization problems between outside data and your Salesforce data.
A native application is always available – at least, if Salesforce is available. You don’t have to worry about handling error conditions that might occur if the outside service cannot connect to Salesforce or vice versa.
Security is dramatically simplified with a native application – it shares you existing Salesforce security model. You don’t have to worry about the security policies and procedures of the outside service provider.
There’s sometimes a non-technical issue as well – when a company builds a fully native Force.com application, they are committing to the Force.com platform, just as you are in choosing Salesforce. For some outside service providers, supporting their Salesforce integration is secondary to other development tasks. So they may not always be responsive or even aware of platform issues – which can be important on a platform that has releases three times a year.
Even a few years ago, this issue rarely came up. Salesforce was much more an application than a software development platform, and only the simplest applications could be implemented natively – so integrating with outside services was the only option. But since then, the technology has changed considerably, and you’ll be seeing more and more fully native solutions, like the Full Circle CRM Response Management Application, available to solve even the toughest challenges.