Patent ID: 8250520

Claim:
A method of executing workflows, the method comprising: initializing, at a front-end computing system, a workflow instance, the workflow instance being an instance of a workflow, the workflow containing a plurality of activities, the workflow instance containing a plurality of activity objects, each activity object in the plurality of activity objects being an instance of an activity assembly in a plurality of activity assemblies, each activity assembly in the plurality of activity assemblies implementing an activity in the plurality of activities, the plurality of activities including a shim activity, the plurality of activity objects containing a shim activity object implementing the shim activity, the shim activity object being an instance of a shim activity assembly in the plurality of activity assemblies, the shim activity assembly being fully trusted by an administrator of the front-end computing system, the workflow implementing a business process of an enterprise, each activity in the plurality of activities implementing a task in the business process, the shim activity object including a property specifying a custom activity assembly, the custom activity assembly not being fully trusted by an administrator of the front-end computing system, the custom activity assembly implementing a custom activity; during execution of the workflow instance at the front-end computing system, executing, at the front-end computing system, the shim activity object, execution of the shim activity object causing the front-end computing system to: automatically send the custom activity assembly to a sandbox computing system via an electronic communications network, the sandbox computing system configured to generate a custom activity object instantiating the custom activity assembly automatically, the sandbox computing system configured to execute the custom activity object automatically, the sandbox computing system being isolated from the front-end computing system such that unexpected behavior of the sandbox computing system does not cause unexpected behavior of the front-end computing system; after sending the custom activity assembly to the sandbox computing system, receive a modified workflow context object via the electronic communications network, the modified workflow context object including properties having values equivalent to values of properties of the custom activity object; in response to receiving the modified workflow context object, update values of properties of the shim activity object based on the values of the properties of the modified workflow context object; and after updating the values of the properties of the shim activity object, complete execution of the shim activity object; and after completing execution of the shim activity object, completing, at the front-end computing system, execution of the workflow instance, thereby completing the business process.