Title: Wrestling with Windows Workflow Foundation
1Wrestling with Windows Workflow Foundation
- Simon Thurman
- Jeremy Stimson
2Objectives
- Workflow Concepts
- Impact on Application Architecture
- Demonstrate through Technology
3Agenda
- Workflow Overview
- Scenarios
- Technology
- Framework
- Office12
- Demonstrations
4Hello World Workflow
5What Is a Workflow?
A set of activities that coordinate people and /
or software ...
EscalateToManager
CheckInventory
Example activities
6Workflow Scenario Spectrum
- Participants people, roles
- Flow style flexible, dynamic
- Data unstructured, documents
- Participants apps, services
- Flow style prescriptive, protocols
- Data structured, transactional
7Why Workflow Technology?
8Windows Workflow Foundation
Extensible framework and tools for building
workflow into Windows applications
- Single workflow technology for Microsoft
products, partners and customers - A framework to build on not a server or
application - Key features
- Enables long running workflows in any application
or server - Extensible activity framework
- Unified model for human and system workflow
scenarios - Visual designer for graphical and code-based
authoring - Availability
- Exposed via WinFX powers Office 12 workflow
9WF Runtime Engine and Services
Host Process
My custom workflow
Windows Workflow Foundation
WF Base Activity Library
Runtime Engine provides intrinsic behaviours to
activities
TrackingInfrastructure
State Management
WorkflowExecution
Dynamic Update
Runtime Services pluggable implementations with
defaults
Persistence
Communication
Tracking
10Windows Workflow Foundation
Visual Designer
- Workflows are a set of Activities
A Workflow
- Workflows run within a Host Process any
application or server
- Developers can build their own Custom Activity
Libraries
An Activity
Custom Activity Library
Components
Windows Workflow Foundation
- Base Activity Library Out-of-box activities and
base for custom activities
Base Activity Library
- Runtime Engine Workflow execution and state
management
Runtime Engine
- Runtime Services Hosting flexibility and
communication
Runtime Services
- Visual Designer Graphical and code-based
construction
Host Process
11Hello World Workflow
12Activities
- Activities allow you to model an application
semantics in an explicit way - Activities all the way down!
- Basic opaque/leaf nodes of a program tree
- Composite transparent/modelling
constructs/containers for other activities - Root a special composite that is a unit of
activation
13When Do You Write Custom Activities?
- Out-of-the-box Activities get you started
- Write custom activities for
- modelling advanced control flows
- modelling various workflow styles
- integrating with technologies
- aligning with standards
- Out-of-the-box activities built using the same
framework thats available to developers
14Why Rules?
15Workflow Rules
- Conditions on activities
- If-Else
- While
- Replicator
- Conditioned Activity Group (CAG)
- ltYour custom activitygt
- Policy activity
- Contains and executes a RuleSet
- RuleSet execution provides priority-based,
forward-chaining semantics
16Rules
17Rules and Application Development
Model-driven development
Application logic
18Flexible Control Flow
State Machine Workflow
Sequential Workflow
External events drive processing order
Sequential structure prescribes processing order
Step1
Event
Step2
Event
- Prescriptive, formal
- Automation scenarios
- Flowchart metaphor
- Reactive, event-driven
- Skip/re-work, exception handling
- Graph metaphor
Rules-driven Activities
Rule1
Step1
Rules data state drive processing order
Data
Step2
Rule2
- Data-driven
- Simple conditions, complex policies
- Constrained Activity Group
19State Machine
20Workflow and BizTalk Server
BizTalk Server
- Premium BPM server
- Distinct server product
- Use in B2B, EAI, BPM scenarios
- Deployable solutions
- Manageability, scale-out
Business Activity Monitor and Admin Tools
Accelerators
Design Tools
Workflow
Orchestration
Messaging
Transformation
- Future version will migrate to Windows Workflow
Foundation for orchestration
Adapters
- Workflow framework
- Exposed via WinFX
- Broad set of scenarios
- Used to build solutions
- Enables manageability
- and scale-out in solutions
- Use for building workflow into apps or
workflow-enabled servers
Visual Studio Designer
WinFX
Windows Workflow Foundation
21Office Workflow Vision
- Facilitate human processes by attaching business
logic to items and documents in Windows
SharePoint Services, while providing context and
tracking progress - Empower information workers using Office Server
with out-of-the-box solutions and self-service
tools to support a broad range of routing
tracking scenarios without IT involvement - Empower organisations to build a broad range of
sophisticated workflow solutions that take
advantage of the full functionality of the
Windows Workflow Foundation (WWF) platform and
integrate into the SharePoint and Office
experiences
22Authoring Scenario Pyramid
LOB Integration Industry-specific Processes
Visual Studio Workflow SDK
FrontPage Workflow
Custom Tracking Apps Document Processes Custom
Form Actions
Professional Developer
End User
Routing Approval Tracking Applications List
Moderation Document Expiration
Out-of-the-Box Solutions (with customisation)
23Workflow Authoring Tools
FrontPage (Web Designer)
Visual Studio (Pro-Dev)
Development Model Visual workflow designer
Development Model Wizard-based workflow designer
Activities Re-use OOB/deployed activities
Activities Re-use OOB/deployed activities Can
author new activities
Forms Autogenerated Forms -InfoPath -ASPX
Forms Designed Forms -InfoPath -ASPX
Deployment Solutions package generated Box
administrator installable
- Deployment
- Workflow authored live against server
- Runtime compilation
24Office
25(No Transcript)