You are previewing Microsoft® Windows® Workflow Foundation Step by Step.
O'Reilly logo
Microsoft® Windows® Workflow Foundation Step by Step

Book Description

Get hands-on guidance for using Microsoft Windows Workflow Foundation to create process-managed applications for Microsoft Windows—one step at a time. Understanding Windows Workflow Foundation is essential for every developer who works with multiple applications and services that must exchange data or results. Windows Workflow Foundation defines a process flow amongst people, applications, and services—mapping dependencies and sequences to allow automation of tasks across previously stand-alone programs. With STEP BY STEP, you work at your own pace through hands-on, learn-by-doing exercises to understand the core capabilities and fundamental techniques for working with Windows Workflow Foundation. New-to-topic developers can take a sequential approach to understanding workflows and learning how to create Windows Workflow Foundation–enabled applications and services. This book includes practice exercises and code samples to help developers accelerate their productivity.

Table of Contents

  1. Microsoft® Windows® Workflow Foundation Step by Step
    1. SPECIAL OFFER: Upgrade this ebook with O’Reilly
    2. A Note Regarding Supplemental Files
    3. Foreword
    4. Acknowledgments
    5. Introduction
      1. Who This Book Is For
      2. Finding Your Best Starting Point in This Book
      3. Conventions and Features in This Book
        1. Conventions
      4. System Requirements
      5. Code Samples
        1. Installing the Code Samples
        2. Installing and Configuring the Microsoft .NET Framework 3.0 (Windows XP Only)
        3. Installing the Visual Studio 2005 Extensions for .NET Framework 3.0
        4. Installing the Visual Studio 2005 Extensions for Windows Workflow Foundation
        5. Installing the SQL Server Management Studio Express Edition
        6. Using the Code Samples
        7. Uninstalling the Code Samples
      6. Online Companion Content
      7. Support for This Book
        1. Questions and Comments
    6. I. Introducing Windows Workflow Foundation (WF)
      1. 1. Introducing Microsoft Windows Workflow Foundation
        1. Workflow Concepts and Principles
          1. Enter the Operating System
          2. Multithreading and Workflow
        2. Comparing WF with Microsoft BizTalk and WCF
        3. Beginning Programming with WF
        4. Visual Studio Workflow Support
        5. Building Your First Workflow Program
        6. Chapter 1 Quick Reference
      2. 2. The Workflow Runtime
        1. Hosting WF in Your Applications
        2. A Closer Look at the WorkflowRuntime Object
        3. Building a Workflow Runtime Factory
        4. Starting the Workflow Runtime
        5. Stopping the Workflow Runtime
        6. Subscribing to Workflow Runtime Events
        7. Chapter 2 Quick Reference
      3. 3. Workflow Instances
        1. Introducing the WorkflowInstance Object
        2. Starting a Workflow Instance
        3. Starting a Workflow Instance with Parameters
        4. Determining Workflow Instance Status
        5. Terminating a Workflow Instance
        6. Dehydration and Rehydration
        7. Chapter 3 Quick Reference
      4. 4. Introduction to Activities and Workflow Types
        1. Introducing the Activity, the Basic Unit of Work
          1. The ActivityExecutionContext Object
          2. Dependency Properties 101
          3. Activity Validation
        2. Workflow Types
          1. Selecting a Workflow Type
        3. The Sequence Activity
        4. Building a Sequential Workflow Application
        5. The State Activity
        6. Building a State Machine Workflow Application
        7. Chapter 4 Quick Reference
      5. 5. Workflow Tracking
        1. Pluggable Services
        2. Workflow Tracking
        3. Workflow Event Tracking Using SqlTrackingService
        4. Setting Up SQL Server for Tracking
        5. Using the SqlTrackingService Service
        6. Tracking User Events
        7. Building Custom Tracking Profiles
        8. Viewing Tracking Information with WorkflowMonitor
        9. Chapter 5 Quick Reference
      6. 6. Loading and Unloading Instances
        1. Persisting Workflow Instances
        2. Setting Up SQL Server for Persistence
        3. Introducing the SqlWorkflowPersistenceService Service
        4. Unloading Instances
        5. Loading Instances
        6. Loading and Unloading Instances on Idle
        7. Chapter 6 Quick Reference
    7. II. Working with Activities
      1. 7. Basic Activity Operations
        1. Using the Sequence Activity Object
        2. Using the Code Activity
        3. Using the Throw Activity
        4. Using the FaultHandler Activity
          1. Quick Tour of the Workflow Visual Designer
            1. Additional Visual Designer Surfaces
            2. Visual Designer Debugging
        5. Using the Suspend Activity
        6. Using the Terminate Activity
        7. Chapter 7 Quick Reference
      2. 8. Calling External Methods and Workflows
        1. Building an ExternalDataService Service
          1. Workflow Intraprocess Communication
          2. Designing and Implementing Workflow Intraprocess Communication
        2. The Motor Vehicle Data-Checking Application
        3. Creating Service Interfaces
        4. Using the ExternalDataExchange Attribute
        5. Using ExternalDataEventArgs
        6. Creating External Data Services
        7. The CallExternalMethod Activity
        8. Creating and Using Custom External Data Service Activities
        9. Receiving Workflow Data Within the Host Application
        10. Invoking External Workflows with InvokeWorkflow
        11. Chapter 8 Quick Reference
      3. 9. Logic Flow Activities
        1. Conditions and Condition Processing
        2. The Questioner Application
        3. Using the IfElse Activity
        4. Using the While Activity
        5. Using the Replicator Activity
        6. Chapter 9 Quick Reference
      4. 10. Event Activities
        1. Using the HandleExternalEvent Activity
        2. Using the Delay Activity
        3. Using the EventDriven Activity
        4. Using the Listen Activity
        5. Using the EventHandlingScope Activity
        6. Host-to-Workflow Communication
          1. Creating the Communication Interface
        7. Chapter 10 Quick Reference
      5. 11. Parallel Activities
        1. Using the Parallel Activity
        2. Using the SynchronizationScope Activity
        3. Using the ConditionedActivityGroup (CAG) Activity
        4. Chapter 11 Quick Reference
      6. 12. Policy and Rules
        1. Policy and Rules
          1. Implementing Rules
          2. Rule Attributes
          3. The Update Statement
        2. Rule Conditions
        3. Forward Chaining
          1. Implicit Chaining
          2. Attributed Chaining
          3. Explicit Chaining
          4. Controlling Forward Chaining
          5. Controlling Rule Reevaluation
        4. Using the Policy Activity
        5. Chapter 12 Quick Reference
      7. 13. Crafting Custom Activities
        1. More About Activities
          1. Activity Virtual Methods
          2. Activity Components
          3. Execution Contexts
          4. Activity Lifetime
        2. Creating an FTP Activity
        3. Creating a Custom ActivityValidator
        4. Providing a Toolbox Bitmap
        5. Tailoring Activity Appearance in the Visual Workflow Designer
        6. Integrating Custom Activities into the Toolbox
        7. Chapter 13 Quick Reference
    8. III. Workflow Processing
      1. 14. State-Based Workflows
        1. The State Machine Concept
        2. Using the State Activity
        3. Using the SetState Activity
        4. Using the StateInitialization Activity
        5. Using the StateFinalization Activity
        6. Creating a State-Based Workflow Application
        7. Chapter 14 Quick Reference
      2. 15. Workflows and Transactions
        1. Understanding Transactions
          1. Classic (XA) Transactions
            1. ACID Properties
            2. Long-Running Transactions and Application State
            3. Compensation as a Solution
        2. Initiating Transactions in Your Workflows
          1. Workflow Runtime and Transactional Services
          2. Fault Handling
          3. Ambient Transactions
        3. Using the TransactionScope Activity
          1. Committing Transactions
          2. Rolling Back Transactions
        4. Using the CompensatableTransactionScope Activity
        5. Using the Compensate Activity
        6. Using the CompensatableSequence Activity
        7. Creating a Transacted Workflow
        8. Chapter 15 Quick Reference
      3. 16. Declarative Workflows
        1. Declarative Workflow—XML Markup
        2. Declaring Namespaces and Namespace Association
        3. Creating and Executing XAML-Based Workflows
        4. Chapter 16 Quick Reference
    9. IV. External Data Communication
      1. 17. Correlation and Local Host Communication
        1. Host and Workflow Local Communication
        2. Correlation
        3. The CorrelationParameter Attribute
        4. The CorrelationInitializer Attribute
        5. The CorrelationAlias Attribute
        6. Building Correlated Workflows
        7. Chapter 17 Quick Reference
      2. 18. Invoking Web Services from Within Your Workflows
        1. Web Services Architecture
        2. Using the InvokeWebService Activity
        3. Adding the Web Reference
        4. Configuring the Proxy
          1. Static Proxy Configuration
          2. Dynamic Proxy Configuration
        5. Working with Sessions
          1. Long-Running XML Web Services
        6. Building a Workflow That Uses an XML Web Service
        7. Chapter 18 Quick Reference
      3. 19. Workflows as Web Services
        1. Exposing a Workflow as an XML Web Service
          1. Creating the Workflow Runtime
          2. Configuring Services
          3. Workflow Housekeeping
        2. Using the WebServiceInput Activity
        3. Using the WebServiceOutput Activity
        4. Using the WebServiceFault Activity
        5. Creating a Host Web Service Project
        6. Chapter 19 Quick Reference
    10. About the Author
      1. Kenn Scribner
    11. Additional Resources for Developers
      1. Visual Basic 2005
      2. Visual C# 2005
      3. Web Development
      4. Data Access
      5. SQL Server 2005
      6. Other Visual Studio 2005 Topics
      7. Other Developer Topics
    12. More Great Developer Resources
      1. Developer Step by Step
      2. Developer Reference
      3. Advanced Topics
    13. Index
    14. SPECIAL OFFER: Upgrade this ebook with O’Reilly