1. A non-transitory computer storage medium storing computer-executable instructions that when executed by a computer cause the computer to perform corresponding functions, the functions including: storing a plurality of activity instances in a repository where each activity instance includes: one or more parameters for an activity; and two or more blocks of executable code for performing the activity, where each block of executable code is associated with a different target platform; providing a user interface through which a user can create a process instance by selecting one or more activity instances and specify a sequence in which the activity instances are to be performed; storing the process instance in the repository; in response to a request to run the process instance on a target having a given platform, creating a target definition that will cause the target to perform the functions corresponding to the selected activity instances; and providing the target definition to an execution application.