http://gis2.esri.com/library/userconf/devsummit06/papers/geoprocessing.pdf