Force.com to Heroku and Back: Sharing Dynamic Logic – Dreamforce ’12

If you didn’t make it to Dreamforce ’12 in September, or were unable to attend my From Force.com to Heroku and Back: Sharing Dynamic Logic session, you can now watch it on YouTube

Formulas are great, but they have their limits as business logic grows in complexity. What if you could write complex formulas in an existing dynamic language? Join us to learn how we implemented a formula language that enabled us to jump between Force.com and Heroku to leverage the strengths of both platforms. Come prepared to dive into the cloud and think about ways that you could leverage multiple Salesforce platforms in your own company.

This entry was posted in Dreamforce, Heroku, Java, Salesforce.com. Bookmark the permalink.

2 Responses to Force.com to Heroku and Back: Sharing Dynamic Logic – Dreamforce ’12

  1. Fernando says:

    Rick,

    Very interesting implementation!
    It reminded me of what we can do in .NET with the CSharpCodeProvider class.

    What was the volume of requests that made inviable to run the Javascript incentive plan formulas on the VisualForce page instead of on Heroku?

    Regards,
    Fernando

    • Rick Ross says:

      Hi Fernando,

      Thank you.

      Great question. From a pure technical perspective, I am not aware of a reason why you couldn’t execute the JavaScript in VisualForce page. That being said, there were a number of reasons why I chose to execute JavaScript in Heroku rather than on a VisualForce page.

      1. The number of agents was expected to rapidly increase. I believe we started with approximately 300 agents.
      2. The anticipated complexity of future incentive formulas was going to get very complex.
      3. The need to be able to perform incentive pay for managers, rolling up to into regional, divisional and corporate incentives
      4. Harder to test due to a lack of control of which browser(s) would have been used to do the incentive pay calculations and a concern about browser compatibility along with future browsers that could potentially break working incentive pay calculations (although the likelihood of this is probably pretty low).
      5. If, in the future, I wanted to use another scripting engine, it would have been trivial to extend/enhance the existing service to support additional languages.

      If you get ambitious, I’d love to see an implementation of this that executes in a VisualForce page. 🙂

      Best Regards
      Rick

Leave a Reply

Your email address will not be published. Required fields are marked *