WWF概念:Windows Workflow Foundation 是编程模型、引擎和工具,用于在 Windows 上快速生成启用工作流的应用程序。 它包括一个命名空间、一个进程内工作流引擎和多个 Visual Studio 2005 设计器。Windows Workflow Foundation 是一个框架,让用户可以在其为操作系统 (MS WINDOWS 系列)编写的应用程序中创建系统或人工工作流。 Windows Workflow Foundation 可用于解决简单方案,如根据用户输入显示 UI 控件,也可以用于解决大型企业遇到的复杂方案,如订单处理和库存控制。
WWF可以处理的方案(工作流):
1. 在业务线应用程序中启用工作流。
2. 用户界面页流。
3. 以文档为中心的工作流。
4. 人工工作流。
5. 面向服务器应用程序的符合工作流。
6. 业务规则驱动的工作流。
7. 系统管理的工作流。
WWF的特点(优势)简述:Windows Workflow Foundation 提供了与其他 .NET Framework 3.0 技术(如 Windows Communication Foundation 和 Windows Presentation Foundation)一致和熟悉的开发体验(个人理解WWF与WCP、WPF可以配合开发)。 WWF API 完全支持 Visual Basic .NET 和 C#、专用工作流编译器、在工作流中调试、图形工作流设计器,并支持完全用代码或标记开发工作流。 Windows Workflow Foundation 还提供了可扩展模型和设计器,用于生成为最终用户或跨多个项目重用封装工作流功能的自定义活动。
工作流的概述
(MS定义):工作流是一组存储为模型的名为活动的基本单元,活动用于描述实际进程。 工作流提供了一种方法,用于描述多项短期运行或长期运行的工作之间的执行顺序和依赖关系。 此工作从头到尾地贯穿模型,并且活动可以人工执行或由系统功能执行。
(WFMC定义):一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行
工作流的概述(个人总结):工作流就是工作从开始到完成的一个过程周期。
工作流的组成(WFMC定义):实体(Entity)、参与者(Participant)、流程定义(FlowDefinition)、工作流引擎(Engine)。PS:好像MS把实体+参与者定义统称为活动?我个人理解MS对于工作流组成的定义;若干个活动根据流程定义走完时,就完成了工作流。并且吧活动比喻成XML 中DOM 树中的子节点,可以动态添加。
工作流引擎:是驱动实体按流程定义从一个参与者流向下一个参与者的机制(使一个活动到下一个活动的驱动?)。
工作流运行时引擎:每个正在运行的工作流实例都是由进程中运行时引擎创建和维护的。这个引擎通常被叫做“工作流运行时引擎”, 在一个应用程序域中可以有多个工作流运行时引擎,并且运行时引擎的每个实例均可支持多个并发运行的工作流实例。也就是说一个引擎可以创建(生成),维护 多个工作流的实例。
活动的类型以及组合:活动的类型分为运行时活动与设计时活动。活动分为单一活动以及复合活动,复合活动的意思是指包含一组活动。
服务:WWF提供可满足多种应用程序需要的运行时服务的默认实现。例如在 SQL 数据库中存储工作流实例的执行详细信息的持久性服务。而且通过基类的服务还可以创建自定义的服务,用来扩展WWF平台。
服务的分类:运行时服务,计划服务、事务服务和跟踪服务。/
补偿:补偿是由于工作流中其他位置发生异常而做出的一种行为。个人感觉补偿类似于(try{}catch{}中)的catch,产生异常之后扔给catch解决。
本地通信:宿主进程可以通过经由自定义本地通信服务交换数据来与工作流进行通信。 这些本地通信服务实现了一些用户定义的接口,这些接口定义了将在工作流和宿主进程之间进行传递的方法和事件。封装的关于WWF中所有的关于通信的方法和事件??
关联: 通过使用在宿主进程和工作流之间作为事件参数传递的唯一 ID,宿主进程还可以在特定的工作流实例中与特定(HandleExternalEventActivity:定义用于处理由本地服务引发的事件的工作流通信活动)的活动进行交互。给我的感觉类似于一个临时的主外键。