zoukankan      html  css  js  c++  java
  • Windows工作流基类库(WF)探密

    虽然我们无法跟踪微软的所有新技术,但是Windows工作流基类库(WF)却是一项我们无论如何都不能错过的技术。本文将阐明WF的优势,并且建立我们的第一个基于WF的应用程序。WF是一套多功能的编程构架,这套框架用于建立图形化的商业规则控制流程序。
    WF是四项技术之一,其它三项技术为WPF、WCF和Windows CardSpace。这些技术同.NET 3.0框架一起发布。也许这个”3.0”非常带有迷惑性,有很多开发人员认为这些技术必须运行在新的.NET框架中,事实上,所有的技术都是运行在.NET2.0中的。

    现在面临的问题是有很多.NET开发商一直不愿意使用新版本的.NET framework,原因是如果使用这些新的framework,就必须在客户的机器上安装它们。但事实上,.NET 3.0技术只是在.NET 2.0的基础上加了一些库而已。我们可以在VS2005中象使用其他的第三方.net库一样使用它们。

    一、WF的优势
    按着长规,一种新的技术必须为他们的黄金时代做准备,以及在它们被广泛使用之前提供切实可行的解决方案。这两点WF都做到了。WF不仅采用了.NET3.0技术,而且是根据实际需要的功能和设计经验而精心实现的。下面是关于WF的一些实际的优势:

    1. WF提供了一套高度抽象和可视化的商业处理模型。这套模型可以非常容易地使用和被理解。无论使用它的是开发人员或是商业领域专家。
    2. WF可以非常容易地改变与之相关的商业处理规则,并且不必重新编译。
    3. WF编程模型可以使开发人员建立一套可测试的内核集合,并且可以在多个程序中使用它们。
    如果和UML的活动图进行比较的话,WF图表拥有最好的软件构架,我们并不用担心这套构架过时,或是和商业处理逻辑有分歧,因为WF就是商业处理逻辑。
    WF运行时为我们提供了一个强大的,可扩展的开发执行环境。为了可以长时间处理,当工作流处理空闲状态时,可以被保存在一个数据库中。当一个动作发生时,工作流被激活。

    二、面向动作编程(Activity-Oriented Programming,AOP)
    WF向.NET开发人员引入了一个而向动作编程的概念。这套编程模型可以通过组合动作集合来完成大规模的商业处理逻辑。
    下面我们来看看图2所示的部分工作流,一个工作流图包含了如validateProductActivity, sellProductActivity, backOrderProductActivity和shipOrderActivity等动作。在工作流中的每一个动作都拥有一个单独的执行单元。

    图2 工作流图:一个包含了动作的工作流图,它们中的每一个都执行一个商业处理逻辑。


    我们可以使用WF设计器将动作加到一个图表中,并且指定相应的条件以及基于一定规则的控制流指定工作流程。这种方法是非常强大的,它将使我们的应用程序非常容易编写,理解和配置。

    三、开始编写WF程序
    为了编写WF程序,我们需要如下的开发环境:

    1. .NET 2.0 Framework
    2. Visual Studio 2005
    3. .NET 3.0 Framework
    4. Visual Studio 2005 工作流扩展
    在.NET 3.0中的WF框架中定义了超过350个类,这些类分别在如下的三个命名空间中:

    1. System.Workflow.Activities
    2. System.Workflow.ComponentModel
    3. System.Workflow.Runtime


    当我们在VS2005中安装WF扩展时,WF扩展将VS2005中加入一个工作流模板工程,我们可以选择这个模板工程来建立或加一个新的WF项目。
    在安装完上术的软件后,我们就准备建立第一个工作流。下面的部分将描述建立和编写WF程序的一系列步骤。
    四、顺序工作流和状态机工作流的对比
    我们可以建立两个类型的工作流:顺序工作流和状态机工作流。在图2中显示的是一个顺序工作流,这个图类似于UML的动作图。这种工作流将按着预先定义的顺序来执行。
    与之大不相同,状态机工作流定义了一个状态的集合,在些状态之间可以互相转换。工作流的外部事件将处理状态之间的转换。为了简便起见,本文将只关注顺序工作流。
    最后,我们可以将任何顺序工作流描述成一个状态机工作流,反之亦然。然后,每一种工作流类型并不是对所有应用程序都适合,如在人机交互的情况下,状态机工作流将是最好选择。

  • 相关阅读:
    WCF 第四章 绑定 在多个绑定上暴露一个服务契约
    WCF 第五章 行为 事务跨操作事务流
    WCF 第五章 导出并发布元数据(服务行为)
    WCF 第五章 行为 通过配置文件暴露一个服务行为
    WCF 第五章 不支持会话的绑定的默认并发和实例
    WCF 第五章 并发和实例(服务行为)
    WCF 第五章 行为 总结
    WCF 第四章 绑定 绑定元素
    WCF 第五章 行为 事务之选择一个事务协议OleTx 或者WSAT
    WCF 第四章 绑定 比较各种绑定的性能和可扩展性
  • 原文地址:https://www.cnblogs.com/lilyzhang/p/1577972.html
Copyright © 2011-2022 走看看