Windows Workflow Foundation(1)- Windows Workflow Foundation 概述
2008-12-24 11:51
316 查看
Windows Workflow Foundation(第一章)- Windows Workflow Foundation 概述
工作流概述
活动(Activity)是工作流的基本单元,用于描述实际进程。工作流(workflow)提供了一种方法,用于描述多项短期运行或长期运行的工作之间的执行顺序和依赖关系。此工作从头到尾地贯穿模型,并且活动可以人工执行或由系统功能执行。工作流运行时引擎
每个正在运行的工作流实例(instance)都是由进程中 “工作流运行时(workflowruntime)”引擎创建和维护的。在一个应用程序域中可以有多个工作流运行时引擎,并且运行时引擎的每个实例均可支持多个并发运行的工作流实例。工作流模型经过编译后,可以在包括控制台应用程序、基于窗体的应用程序、Windows 服务、ASP.NET 网站和 Web 服务在内的任意 Windows 进程中执行。由于工作流是在进程中承载,因此工作流可以轻松地与其主机应用程序通信。
下面的插图显示了如何在一个主机应用程序的进程中同时承载工作流、活动和工作流运行时引擎。
活动概述
活动(Activity)是工作流的基本单元。以编程方式将活动添加到工作流中,与向根节点添加 XML DOM 子节点的方式类似。当给定流路径中的所有活动都完成运行时,工作流实例即完成。活动可以执行单个操作,如向数据库写入值,也可以执行复合活动并包含一组活动。活动有两种行为类型:运行时(runtime)和设计时(design)。运行时行为在执行时指定操作。设计时行为控制在设计器中显示的活动的外观及其交互。
Windows Workflow Foundation 包括一个标准活动库,并为您提供创建自己的活动的机制即自定义活动,以便工作流之间的扩展性和可重用性。
服务概述
当工作流实例运行时,工作流运行时引擎使用多种服务。Windows Workflow Foundation 提供可满足多种应用程序需要的运行时服务的默认实现,例如在 SQL 数据库中存储工作流实例的执行详细信息的持久性(persistence)服务。这些服务组件是可插拔得的,这样,应用程序就可以以特定于执行环境的方式提供这些服务。运行时引擎使用的其他类型服务包括计划(planing)服务、事务(transaction)服务和跟踪(tracking)服务。通过从基服务类派生可以创建自定义服务以扩展 Windows Workflow Foundation 平台。使用 XML 文件而不使用数据库进行存储的持久性服务就属于这种情况。
补偿概述
补偿(compensation)是由于工作流中其他位置发生异常而做出的一种行为,这种行为撤消由成功完成的可补偿活动所执行的任何操作。本地通信和关联概述
宿主(承载工作流运行的应用程序)进程可以通过借助自定义本地通信服务交换数据来与工作流进行通信。这些本地通信服务实现具有以下作用的用户定义的接口:定义将在工作流和宿主进程之间进行传递的方法和事件。通过使用在宿主进程和工作流之间作为事件参数传递的唯一 ID,宿主进程还可以在特定的工作流实例中与特定的活动进行交互。这称为“关联(correlation)”。
持久性概述
Windows Workflow Foundation 简化了有状态的、长期运行的持久性工作流应用程序的创建过程。工作流运行时引擎管理工作流的执行情况,而且允许工作流长期保持活动状态并在应用程序重新启动之后存在。这种持久性是 Windows Workflow Foundation 的关键原则。它意味着可以在等待输入时从内存中卸载工作流,而且工作流可以序列化为持久性存储(如 SQL 数据库或 XML 文件)。只要收到了输入,工作流运行时引擎就会将工作流状态信息重新加载到内存中并继续执行工作流。Windows Workflow Foundation 提供的 SQL持久化服务(SqlWorkflowPersistenceService )可以与 Microsoft SQL Server 2005 Express、SQL Server 2000(或更高版本)或 SQL Server 2000 Desktop Engine (MSDE) 很好地集成,以便方便而又高效地保持工作流信息。您还可以通过从 持久化服务(WorkflowPersistenceService) 基类派生来创建自己的持久性服务,以便按照所需的方式存储工作流状态信息。
跟踪概述
“跟踪(tracking)”是一项功能,用于指定并捕获有关工作流实例的信息,并在这些实例执行时存储该信息。Windows Workflow Foundation 提供了 SqlTrackingService 这一跟踪服务,该服务使用 SQL 数据库来存储所收集的跟踪信息。您也可以编写自己的跟踪服务来收集该信息,并以您应用程序需要的任何格式将其存储下来。创建新工作流时,该跟踪服务会请求一个要与该工作流相关联的跟踪通道。之后,会将该工作流中的所有跟踪信息发送到该跟踪通道。
该跟踪服务可以跟踪三种类型的事件:工作流实例事件、活动事件和用户事件。通过提供跟踪配置文件,您可以配置您的服务要为特定工作流实例或特定类型的工作流接收的信息类型和数量。
跟踪框架还能够在事件期间提取与活动或工作流相关的信息。如果需要跟踪活动或工作流中的特定属性或字段,您可以在跟踪配置文件的提取节中提供此信息,将在指定事件期间提取该信息。
序列化概述
对工作流、活动和规则可以进行序列化持久化服务(serialation)和反序列化。这样就可以保持它们,在工作流标记文件中使用它们,以及在工作流设计器中查看其属性、字段和事件。Windows Workflow Foundation 为标准活动提供了默认的序列化功能,您也可以为自定义活动创建自己的序列化功能。例如,利用自定义活动序列化程序,可以决定对哪些成员进行序列化以及如何对其进行序列化。这也将确定这些成员在工作流设计器中是可见还是隐藏。
工作流更改概述
使用 Windows Workflow Foundation,可以在运行时动态更新工作流实例和声明性规则。在计划待执行的活动之前,可以更改预期行为、流控制等。使用该功能,可以修改业务处理逻辑,且不必重新编译和重新启动工作流。“规则和条件”概述
Windows Workflow Foundation 可将业务逻辑作为规则或条件来实现。IfElseBranchActivity、ConditionedActivityGroup、WhileActivity 和 ReplicatorActivity 活动使用条件来控制活动的执行。条件可以声明方式表示,也可以在代码中定义。声明性条件以代码 DOM 语句的形式在规则的 XML 文件中创建。基于代码的条件可引用工作流的代码文件中的一个方法,该方法通过 Result 属性返回其结果。与条件一样,规则以代码 DOM 语句的形式表示,并收集到规则的 XML 文件中。规则包含一个条件语句和一些操作集合,这些操作是根据条件的结果来执行的。规则将会收集到规则集中,规则集既支持规则的简单依序执行,也支持规则的复杂正向链接。规则集由 PolicyActivity 活动执行。
使用规则和声明性条件定义逻辑的一个主要优点是,通过使用工作流更改来执行动态更新,可在运行时修改这些规则和声明性条件。此外,规则使您可将业务逻辑与工作流分开,以便与其他工作流共享这些规则。最后,通过在规则中定义业务逻辑,可在对象模型之上构建高级工具,如依赖关系可视化工具和影响分析工具。
错误处理概述
工作流运行时引擎在一个称为“错误处理”的进程中异步处理活动中所出现的异常。异常被安排在队列中以便日后处理。如果异常类型与特定 FaultHandlerActivity 活动所处理的类型相符,则该活动将处理此异常。如果无法处理异常,则通过父活动向上冒泡,直到最终导致工作流实例终止。工作流标记概述
基于可扩展应用程序标记语言 (XAML) 的工作流标记可以使开发人员和设计人员以声明方式为业务逻辑建模,并将其与由代码旁置文件建模的低级实现细节区分开。因为工作流可以声明方式建模,所以可以在运行时,通过直接将工作流标记文件加载到工作流运行时引擎的方式来激活工作流。相关文章推荐
- Windows Workflow Foundation(工作流开发)之概述
- Windows Workflow Foundation之概述
- Windows WorkFlow Foundation 入门之一(工作流概述)
- Windows Workflow Foundation 入门
- Windows Workflow Foundation is coming...
- Windows workflow foundation入门
- WWF(Windows Workflow Foundation)的简介[翻译]
- Getting Started with Microsoft Windows Workflow Foundation: A Developer Walkthrough
- 书讯 -- Microsoft Windows Workflow Foundation Step by Step
- 书讯 -- Microsoft Windows Workflow Foundation Step by Step
- Windows Workflow Foundation实验01——Windows Workflow Foundation快速入门(练习一)
- Essential Windows Workflow Foundation(Windows 开发流程基础
- Essential Windows Workflow Foundation(Windows 开发流程基础
- Essential Windows Workflow Foundation(Windows 开发流程基础
- Essential Windows Workflow Foundation(Windows 开发流程基础
- 现在可用:Workflow Foundation Activity Pack for Windows Azure CTP 1
- 最先进的技术:Windows Workflow Foundation
- [转帖]Windows Workflow Foundation之旅(五)——指南3(创建自定义活动)
- 我的Windows Workflow Foundation 之旅---(1)Hello,Workflow!
- Windows Workflow Foundation Web Workflow Approvals Starter Kit(转)