路漫漫其修远兮

吾将上下而求索

导航

WWF初探

 

摘要

介绍微软WWF技术和特性,为那些在微软.NET平台上开发工作流驱动应用的开发者提供帮助。

注意:这篇文章是基于WWF Beta1版本,在最终版之前会有所变化。

 

微软的WWF是在Windows平台上开发工作流方案的一个扩展框架。作为即将发布的微软WinFX的一部分,WWF提供了API和工具用来开发和定制基于工作流的应用。WWF提供了一个单一的,统一模型来创建端到端的应用范畴解决方案,包括面向人和面向系统的工作流模式。

WWF是一个广泛的并且是多方面的工作流框架,它在各个层次具有完全的扩展性。基于WWF的解决方案由组件相连构成支持.net代码并且可以运行在主机应用上。就象你在特定的环境中建立可视化的Web页面一样,你可以在一个可视化的设计器中定制你的工作流步骤,并且可以在工作流组件中加入代码用来执行特定的规则和定义业务流程。

WWF提供了一个工作流引擎,.net控制的API,运行服务,一个集成在vs2005中的可视化设计器和调试器。你可以使用WWF来创建和执行包括客户端和服务器端的流程,并且可以在所有类型的.net应用中执行。

工作流是一个由一系列活动图构成的面向人或者面向系统的模型。一个活动是工作流的一个步骤,也是一个执行单元,可以重复使用,它构成了一个工作流程。活动图表达了规则、状态和他们之间的关系。通过活动的布置,WWF工作流被编译、集成,并在WorkFlow runtimeCLR上执行。

创建第一个工作流程

WWF主要由一个.net驱动的运行环境构成,它用来处理在VS设计器中设计和实现的特定对象。为了支持WWF.net框架2.0是必须的。为此WWF设计器和项目模板作成一个VS2005的单独的安装包,在VS2005中我们可以看到一系列的崭新的项目节点列表,见图1

图表 1 VS2005中的工作流模板

你可以其中不通的选项,每一个都是工作流应用的类型。表格1展现了工作流项目模板的细节。

表格 1 VS2005中的工作流类型

类型

描述

建立一个顺序工作流应用

创建一个项目用来建立包含默认顺序的工作流以及一个测试host应用的控制台应用。

建立一个顺序工作流库

创建一个项目用来建立一个顺序工作流库

创建一个工作流节点库

创建一个项目用来建立节点库,它可以在后面的工作应用中进行重用。

创建一个状态机工作台应用

创建一个项目用来建立一个状态机工作流和工作台host应用。

创建一个状态机工作流库

创建一个项目用来建立一个状态机工作流库。

创建一个空的工作流项目

Creates an empty project that can include workflows and activities.

WWF支持两种基本的工作流模式:顺序工作流和状态机工作流。

顺序工作流是一个理想的操作表现方式,它顺序执行,必需在上一活动结束之后才能执行。毕竟顺序工作流在应用过程中不全是顺序的,它们可能接受到外部的事件或者开始平行的任务,这种情况下,执行的次序会多少有些变化。

状态机工作流由一系列的状态、转换和动作组成。一个状态,比如是开始状态,基于一个事件或者一个转换可以转换成另外一个状态。状态机工作流有一个结束状态来标志工作流程的结束。

我们假设你选择并创建了一个新的顺序工作流应用项目。VS2005Solution Explorer包括两个文件-workflow1.csworkflow1.designer.cs。一个WWF工作流包括工作流模型文件和代码文件类。Workflow1.cs类是你用来编写你自己工作流业务逻辑的类。Workflow1.designer.cs类描述了流程图。当你在工作流中增加一个活动,VS2005修改这个设计类的活动图构建的C#代码。接着工作流类似一个窗体空间发生相应改变。

posted on 2005-11-02 17:34  路漫漫其修远兮  阅读(657)  评论(0编辑  收藏  举报