Windows Workflow Foundation程序开发-基于XAML和C#的WF实战技术与例程
——C#程序员的WF功能与编程接口技术指导
前言
Windows Workflow Foundation(简称WF),是一项对工作流进行定义、执行和管理的技术。它是.NET框架3.0版的一部分,并且将来会被集成到Windows Vista操作系统中。
继COM+和分布式事务协调器之后,WF可被看作是Windows平台上最令人瞩目的一款中间件产品。WF与前两者的区别在于:不是每一个软件应用都需要进行分布式事务处理;但几乎每个软件都要在其内部实现工作流。
在本书帮助下,你可以为你的软件添加上工作流动力。
本书的内容
第1章向我们介绍了工作流的基本概念,说明了WF是如何处理那些存在于工作流解决方案中的疑难问题。“活动(Activity)”是构建工作流定义的基本模块,我们将对它们建立起初步的印象,并且会学习如何使用Visual Studio 2005编制一个简单的工作流。本章同时对WF提供的运行时服务进行了描述。阅读完本章内容,我们就会对WF的基本特征有所了解。
第2章的重点是如何编制工作流。特别地,我们会学习怎样应用C#和可扩展应用程序标记语言(英文简称XAML)构建工作流。通过使用工作流编译器,我们可以更为透彻地了解:WF是如何通过代码生成器从工作流标记码中自动产生类代码的,以及这些自动生成的代码又是如何与我们的手写代码联合产生一个工作流类型的。这一章将提供一些基础知识,这有助于我们了解WF在编译阶段是如何运行的。
在第3章里,我们关注的是顺序工作流。我们会对SequenceActivity进行一番研究,学习一些与事件相关的知识,这些事件都是在一个工作流实例的生存期内由工作流运行时引发的。利用Visual Studio,我们可以创建一些工作流,它们既可以接收参数也能够以调用方法和侦听事件的方式与其宿主进程进行通信。在本章的最后部分将介绍一个工作流例程,在这个例程中,工作流会首先产生一个异常,然后展示如何利用错误处理器捕获到该异常。
第4章会向我们介绍WF基本活动库中的每一个成员。我们会学习控制流活动、通信活动、以及面向事务的活动。本章也会提及Web服务活动、基于规则的活动和状态活动。本章的目的在于使我们不仅认识到基本活动库的所有功能,而且能够知晓每种活动所能处理的具体问题。
有了基本活动库的知识作铺垫,我们会在第5章尝试创建自定义活动。本章首先列举出了创建自定义活动的驱动力,随后提供了一个创建自定义活动的例程,并在具体开发过程中应用了2种方法:组合法和派生法。我们将会看到如何为自定义活动定制验证器和设计器,也将领略到使用依赖属性的优势所在。本章最后还要讲解活动的执行上下文,这对于开发出健壮的活动是必不可少的。
第6章讲述了工作流运行时、工作流诊断,以及由微软公司提供的一些开箱即用的WF服务。本章演示了如何使用声明和编程两种方法对服务进行配置。我们会通过一些例程学习如何使用调度服务、持久化服务和追踪服务。本章提供了足够多的有关WF服务的信息,这使得工作流开发者在面对多种不同应用场景和环境时都能够依照需求选择和配置出适合的服务。
第7章关注的是如何使用状态机构建事件驱动的工作流。我们会看到WF如何使用活动对传统的状态机进行建模,同时,我们将创建一个能够处理外部事件并驱动状态转换的工作流。我们还会看到如何对状态机的执行历史进行追踪和检验。本章最后部分对分层状态机进行了一番研究,掌握了这部分的知识,我们就可以处理事件驱动工作流中的一些棘手问题了。
第8章都是与工作流通信相关的内容。本章首先描述了通过相关本地服务与宿主进程通信的方法,随后说明了如何使用Web服务活动进行网络通信。最后,我们将了解到身处后台默默地为工作流协调和传送消息的队列服务。
最后的第9章会讲解WF中用到的规则与条件。这里讨论了业务规则在软件开发中的角色,随后提供了一个例程来说明WF的规则引擎如何能够减轻规则开发的工作量。本章对PolicyActivity中的规则执行进行了深入的说明,并记录了规则评估的诊断信息。在WF程序开发之旅的最后一程,我们将学习如何使用WF创建基于规则的解决方案。