Building a componentized workflow model via an application programming
interface. Each step of the workflow is modeled as an activity that has
metadata to describe design time aspects, compile time aspects, and
runtime aspects of the workflow step. A user selects and arranges the
activities to create the workflow via the application programming
interfaces. The metadata associated with each of the activities in the
workflow is collected to create a persistent representation of the
workflow. Users extend the workflow model by authoring custom activities.
Users also compile the workflow via the application programming
interface.