The Workflow Engine
The workflow engine provides the following features.
- Scheduling and executing workflows and activities. Workflows can be executed using one of three methods:
- Using WorkflowInvoker, which executes workflows on the calling thread (that is, a new thread is not created for the workflow). This means that the calling process will wait for the workflow to complete.
- Using WorkflowApplication, which executes workflows on a new thread (so that the calling application will not pause its execution while the workflow runs).
- Using WorkflowServiceHost, which will execute the workflow as a WCF Service. The resulting workflow service will typically use data from the network as inputs for contained activities.
- Managing the flow of execution between activities. Workflow execution can be modeled visually in the designer, using activities such as Flowchart, If, Sequence, Pick, and Parallel.
- Persisting workflows. Persisting a workflow saves the workflow's data to a persistent medium (such as SQL Server) and unloads the workflow from memory. The workflow can be reloaded after a specified time period, or when the workflow receives a message. By removing idle workflows from memory, the workflow engine can greatly increase the number of active workflows a system can handle, thus increasing scalability.
- Managing data for executing activities. Data is consumed by activities using Arguments and Variables, which the runtime maintains. Using arguments and variables to store data for activities means that the runtime has access to an activity's complete state in the event that it needs to be persisted. The runtime can also correlate incoming messages and data to a specific workflow instance in the case that several workflows are running concurrently.
- A built-in tracking provider that records built-in Workflow events (such as an activity starting, completing, or faulting), or custom events (such as a custom activity tracking application-specific data). The default tracking provider in .NET Framework version 4 records tracking events to the Windows event log, but a custom tracking provider can be developed to track events to other event repositories.
- Providing extensibility in the form of Workflow Extensions. Extensions are custom objects added to the runtime that provide custom functionality, such as enhanced communications with the host process or custom persistence and tracking functionality.
- Providing visual debugging capabilities using the workflow designer. Workflows can be executed in the development environment, and debugged using the same breakpoint and stepping processes used in debugging code.
Read more about this topic: Windows Workflow Foundation
Famous quotes containing the word engine:
“The will is never freeit is always attached to an object, a purpose. It is simply the engine in the carit cant steer.”
—Joyce Cary (18881957)
Related Phrases
Related Words