Friday, August 28, 2009

SalesForce Java Migration Tools for Lots of Records

For a recent SalesForce migration, we developed a strongly typed java toolkit based on SFDC's WSDL.  We have found the the kit highly resusable:
  • To save us a lot of time, we wrote a code generator (template based) for creating strongly typed access classes to any SObject.
  • Connection pooling.
  • Since I am a unit test coverage fanatic (I love Lemma (the ECLemma variant)) the code is we exercised.
  • Optional Eclipse framework  exposes the capabilities. We use this for one-off tasks because we can easily push solutions to end-users.
  • In our migration effort, we transferred the contents of a  30GB  SFDC into a 2nd SFDC database during a long Friday evening.
Anyone trying to modify a lot of records in SFDC (using Apex) quickly runs into governor limits.   You can beat this with clever Apex/PageReference programming in many cases but the result is brittle code.  A better solution is often a toolkit that hides many of the governor limits and is written in a language with a solid eco-system.