【翻译习作】 Windows Workflow Foundation程序开发-前言
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创建基于规则的解决方案。
【翻译习作】 Windows Workflow Foundation程序开发-前言的更多相关文章
- 【翻译习作】 Windows Workflow Foundation程序开发-第一章05
1.3 开发我们的第一个工作流 也许你曾经在这样的产品经理手下搞过开发:他总是在你身边转悠,并不时的问一句“你还没做完吗?”.在这一部分,我们将用一个简单的Windows Workflow程 ...
- 【翻译习作】 Windows Workflow Foundation程序开发-第一章04
1.2.3 Windows Workflow运行时 从Windows Workflow的角度看,可以将工作流活动当成是交给一个工作流处理器去执行的一系列指令或操作码.在Windows Workflo ...
- 【翻译习作】 Windows Workflow Foundation程序开发-第一章03
1.2.2.Visual Studio 2005扩展包 微软也为Windows Workflow开发者提供了Visual Studio 2005扩展包.扩展包将许多功能集成到Visual Studio ...
- 【翻译习作】 Windows Workflow Foundation程序开发-第一章02
1.2 Windows Workflow概览 微软的Windows Workflow Foundation(简称WF)是.NET框架3.0版的一部分..NET3.0其它主要部分是Window ...
- 【翻译习作】 Windows Workflow Foundation程序开发-第一章01
第 1 章 欢迎来到工作流的世界 …思想如蝴蝶般飞到我身边 —— Gossard / Vedder (译注:Gossard与Vedder是来自Pearl Jam乐队的2名乐手,该句出自他们的歌曲 ...
- 【翻译习作】 Windows Workflow Foundation程序开发
近期整理硬盘,把09年的翻译习作<Windows Workflow Foundation程序开发>找出来了.现在又把译文过了一遍,做了些修改,贴出来献丑了.原书是<Programmi ...
- 你还记得windows workflow foundation吗
很多年前,windows workflow foundation还叫WWF,而直译过来的名称让很多人以为它就是用来开发工作流或者干脆就是审批流的. 博主当年还是个懵懂的少年,却也知道微软不会大力推一个 ...
- Workflow-Microsoft:Windows Workflow Foundation
ylbtech-Workflow-Microsoft:Windows Workflow Foundation 1. Windows Workflow Foundation返回顶部 1.1. Windo ...
- 《WF in 24 Hours》读书笔记 - Hour 1 - Understanding Windows Workflow Foundation
1.1 Hour 1 - Understanding Windows Workflow Foundation 1.1.1 What workflow is in general A workflo ...
随机推荐
- CentOS生产机器禁止ROOT远程SSH登录
方法一 很多站长拥有linux主机,不管是虚拟机还是实体机,一般我们远程连接的时候,都是用的ssh(SecureShell建立在应用层和传输层基础上的安全协议). 它默认的端口22,默认使用root也 ...
- ifconfig报错:SIOCSIFFLAGS: Operation not permitted
# insmod mt7601Usta.ko rtusb init rt2870 --->usbcore: registered new interface driver rt2870 # iw ...
- Android 启动模拟器是出现“Failed to allocate memory: 8”错误提示的原因及解决办法
某天,Android 启动模拟器是出现“Failed to allocate memory: 8”错误,模拟器无法启动,如下图: 原因:设置了不正确AVD显示屏模式,4.0版默认的模式为WVGA800 ...
- MVC之Razor语法
Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活 ...
- WebAPI 安全性 使用TOKEN+签名验证(下)
//根据请求类型拼接参数 NameValueCollection form = HttpContext.Current.Request.QueryString; string data = strin ...
- Shell 重定向 &>file,2>&1,1>&2 的区别
Shell上:0表示标准输入1表示标准输出2表示标准错误输出> 默认为标准输出重定向,与1>相同2>&1 意思是 把标准错误输出重定向到标准输出1>&2 意思是 ...
- 加入ScrollView后OnGestureListener无效的解决办法
android中,ViewFlipper+OnGestureListener可以实现左右滑动效果. 但是在ViewFlipper加上了ScrollView就悲剧了,左右滑动事件无效了…… 这里其实只需 ...
- Tomcat发布项目时,浏览器地址栏图标的问题
最近在做一个Java网络应用程序,服务器是tomcat.在默认情况下,当用户访问该网络应用时,地址栏图标显示为tomcat猫.我希望把它换成自己的图标,于是研究了一下.在研究过程中,我发现网上的资料大 ...
- java中的xml与实体类之间的映射
实体类: package xml; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class User ...
- python 装饰器和 functools 模块
转自:http://blog.jkey.lu/2013/03/15/python-decorator-and-functools-module/ 什么是装饰器? 在 python 语言里第一次看到装饰 ...