Callout architecture

Preview:

DESCRIPTION

from October North Bay salesforce DUG. How to use a callout proxy and non-blocking rolling curl to break through force.com governor limits.

Citation preview

High performance Web Service Callouts on force.com

Problem #1

Per-Transaction limits

Problem #2

Platform limits

Native solution

callout 1callout 2callout 3…callout 100

HTTP:callout 1callout 2…callout 10

BACKLOG:callout 11…callout 100

HTTP:callout 11callout 12…callout 20

BACKLOG:callout 21…callout 100

HTTP:callout 91callout 92…callout 100

BACKLOG:

Native solution code demo• https://na15.salesforce.com

• http://some.webservice.com/viewer.php

demo

demo

demo

Scalable, but slow.

Proxy solution

1 calloutInfinite

records

calloutproxy

request full record data from IDs

Some web service

Receive full record data

Rolling curl• Smarter Implementation of php’s

curl_multi_exec

• https://code.google.com/p/rolling-curl

demo

Demo code on github

https://github.com/danieljpeter/high_performance_force.com_callouts

Scalable, fast, but another thing to maintain.

Thanks!@danieljpeter

Recommended