.NET Framework 3.0/Windows Workflow Foundation 简介
Windows Workflow Foundation 是 .NET Framework 3.0 引入的一个新组件。
工作流是指通过对资源、定义的角色以及质量、能量和信息流的系统化组织,实现可靠可重复的活动模式,从而形成可记录和学习的工作流程。工作流始终旨在实现某种处理意图,例如物理转换、服务提供或信息处理。
工作流是一组活动。每个活动都是一个类,执行特定操作。在 Windows Workflow Foundation (WWF) 中,它们使用称为 XAML 的语言进行编码,该语言专门为此目的而引入。
工作流活动是作者创建的类,其中包含作者编写的可由工作流调用和执行的方法。活动有不同的类型:基本活动和复合活动。基本活动是工作流执行的单个活动,而复合活动由活动组成。除此之外,用户还可以根据现有活动创建自定义活动。
通常,WWF 由多个活动或单个程序组成,这些程序使用 XAML 代码相互关联。因此,我们需要包含命名空间 System.Workflow.ComponentModel。
WWF 提供两种类型的工作流。
- 顺序工作流
- 状态机工作流
WWF 由以下组件组成
|
基本活动库通常包含一些众所周知或经常使用的活动,这些活动由工作流执行。此外,用户还可以将自定义构建的活动添加到工作流中以供使用。这些活动可以是根据现有活动开发的活动,也可以是从头开始编写的活动。基本活动库与 .NET 框架的基类库 (BCL) 和 Java 类库非常相似。
Windows Workflow Foundation 的另一个组成部分是运行时引擎。顾名思义,它包含程序运行所需的运行时类和服务。运行时引擎的这些运行时服务执行与提供者相同的作用。
运行时引擎为工作流默认运行提供了一些运行时服务。但如果您想自行添加服务,则可以通过在 web.config 中直接选择和添加新服务来实现。这是 .NET Framework 3.0 的主要优势之一。此外,您还可以创建自己的自定义服务并在工作流中实施它们。因此,WWF 的运行时服务是完全可扩展的。
托管应用程序或主机是托管工作流的应用程序。它们是实际包含嵌入在应用程序中的工作流的应用程序。
WF 工作流定义了带有方法和事件的接口来与外部世界通信。托管应用程序通常在运行工作流之前设置环境,提供实现这些接口的对象。当实现此类接口的对象引发事件时,将检索相应的工作流并将数据传递给它。
可视化设计器是 WWF 的一个组件,它提供工作流的流程图模型以及不同的活动。可视化设计器的重要功能与早期版本提供的设计器区分开来,因为它提供了一种将设计器包含在应用程序中的功能。确实,可以通过添加可视化设计器工具将工作流的可视化设计器模型引入应用程序。这有助于创建监视工具以及维护基于工作流的应用程序。
- 有关“Windows Workflow Foundation”的维基百科文章