首页>参考读物>计算机科学与技术>软件与程序设计

WWF开发指南
作者 : 张 瑾
丛书名 : 原创精品系列
出版日期 : 2008-06-23
ISBN : 7-111-24164-5
定价 : 17.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 252
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

“在当今软件技术高速发展的时代,对工作流开发技术的掌握成为企事业单位信息化成功的首要因素。本书作者不但理论知识丰富,而且能第一时间将所学知识和经验进行总结,与广大读者进行分享,可见其深厚的软件开发功底。本书所提供的范例体现了其务实的精神,充分反映了作者为读者着想的细心之处。我相信广大读者通过对本书的学习,可以迅速掌握WWF的相关知识,并在日后的工作中得以运用。”
  ——万举勇 赛宝认证中心总经理
  享受国务院特殊津贴专家 SEI授权CMMI主任评估师
  广东省软件协会软件过程改进专业委员会首任理事长

  WWF(Windows Workflow Foundation)作为微软的新技术之一,对广大软件从业人员和广大软件公司来说是非常重要的。WF在政府办公、OA系统、企业ERP等各个领域都有广泛的应用。只有真正意义上使用工作流的软件产品才能算作企业级的软件。
  本书可以作为软件开发技术人员的参考资料,它将带领软件从业人员快速掌握WWF技术,并且将其运用到企业的软件开发当中。

  本书特色
  ●针对最新的WWF技术,从最基础的WWF提供的各种活动讲起,每个活动都会配合范例进行描述,最后配合项目案例详细讲述如何在实际中进行运用。
  ●从具体操作和应用的角度来带领软件开发人员学习使用WWF,让广大软件开发人员迅速提高相关的知识和能力。
  ●为进一步学习《WF本质论》一书打下坚实基础。《WF本质论》一书主要是从一个比较高的层面上对WWF进行剖析。
  ●随书光盘中附带完整的范例代码和有用的参考资料。

图书特色

图书前言

工作流的概念对于广大计算机从业人员来说并不陌生,很多软件项目或软件产品都有工作流的影子,特别是在为企事业单位、厂矿和政府研发的产品中,都会广泛使用到工作流的技术。软件开发人员将各种抽象的工作流程转变为客观存在的、自动化的工作流模型,使得管理制度更加规范。
  五年前,在我所管理的数字医疗项目中用户就提出了对工作流的需求,通过此项目,我深刻意识到工作流在企业级应用软件中的重要地位。从那时起我对工作流技术就抱有非常高的热情和关注,在之后的日子里我还对WFMC的规范进行了研究,同时在随后的项目中通过BizTalk对微软的工作流技术有了初步的认识。
  伴随着.Net Framework 3.0 的推出,WWF终于诞生了。可以说它是一种非常成熟的、全面的工作流开发工具,它依旧延续了微软产品易用性的特点,将复杂的工作流技术和标准进行封装,软件开发人员只需要使用相应的活动或服务就可以轻松实现WFMC中定义的各种接口的功能。强大的工作流设计器完全集成到了Visual Studio 2005和2008的开发环境中,从而使工作流程的设计更加直观。WWF提供了很多标准的工作流活动,软件开发人员可以不用编写大量的代码,而通过对其属性的设置来完成工作流程的制定,它是一个当之无愧的通用性框架,这一切都使我对WWF充满了信心。
  在一个偶然的机会,我读到了《WF本质论》一书,该书详细讲解了WWF工作流的底层工作流原理,使我受益匪浅,但该书并没有详细讲解WWF的具体使用。由于对工作流技术多年的执着和对WWF长期的研究,我决定将自己积累下来的知识与广大读者分享,并真诚地希望广大软件开发人员可以通过本书快速掌握WWF的使用技巧。
  本书针对每个活动和服务都编写了对应的范例,通过详细的代码和介绍来展现WWF的各种功能。经过深思熟虑,我选择了Windows应用程序作为宿主程序,而没有选择控制台程序或当前流行的Web项目,因为控制台程序不能完全模拟实际的软件项目,而Web项目作为宿主程序对某些初学者而言在对范例的配置方面又可能会存在困难。在每个范例中我只写了与WWF相关的代码,对于其他无关紧要的代码以及有效性、完整性判断的代码都进行了省略,目的是为了让读者通过范例来学习WWF时能更加清晰、容易地把握重点。但这样做的负面效果就是范例的代码不够健壮,希望广大读者能够理解我的良苦用心。WWF是微软工作流产品的通用框架,也是当今最新的软件技术之一。我相信WWF一定会成为未来应用最广泛的技术,只要有应用软件的存在,WWF就一定不会消亡,而且会以旺盛的生命力持续发展下去。希望通过本书能让广大软件从业人员尽快掌握该通用框架,跟上技术发展的步伐,这正是我撰写本书的目的之所在。
  关于本书结构
  本书共分为11章。第1章介绍工作流的发展史和当今主要的工作流理论,然后通过一个范例“Hello World”来引出WWF,使读者对其有一个简单的了解。
第2章和第3章详细介绍了WWF提供的控制流程类型活动和事件类型活动,通过一个个具体的范例对WWF的大部分活动进行了讲述。
  第4章介绍了WWF的事务和异常处理类型活动,只要是做软件开发就要对各种异常情况进行考虑。在WWF工作流中除了“异常处理”的概念外还增加了“补偿”的概念,读者要对此特别留意。
  第5章主要是介绍工作流之间的相互调用方式,以及如何在工作流中调用Web Service,另外读者还可以通过WWF创建带有工作流程的Web Service。截止到本章,WWF提供的各种标准活动就介绍完了。
  第6章和第7章介绍了WWF的两个十分重要的服务:持续化和跟踪服务。工作流是典型的异步操作,如果没有了这两个服务,那么工作流也就无法实际应用了。
第8章主要讲解状态机类型工作流的开发方式。读者可以通过WWF创建两种类型的工作流项目。学习完本章内容,就可以掌握WWF的顺序类型工作流和状态机类型工作流项目所使用的开发技术和方法。
  第9章介绍了在WWF提供的标准活动基础上,如何开发具有特殊需求的自定义活动。
  第10章介绍了通过代码来实现对已经设计好的工作流程在运行时进行动态修改的方法。
  第11章以软件项目为例,实际模拟顺序类型工作流和状态机类型工作流的综合应用。
  本书的范例代码都十分简练,所模拟的场景都可以在实际项目中找到。附录A提供了本书的思考题的答案。附录B将本书的光盘和每章范例进行对应,使读者可以在阅读本书的同时,参考范例的代码来学习WWF的相关技术。附录C为范例数据库的恢复操作。
  致谢
  在本书的创作过程中,周围朋友给了我很大的支持和帮助。在此我要感谢陈冀康编辑,在本书开始创造时就给了我坚定的信心,并在整个创作的过程中给予了我及时的指导和帮助。
  同时要特别感谢Max和Bill,通过与他们的讨论和交流使我的思路更加清晰。
我还要感谢我的妻子蔡觅,谢谢你对我事业的支持,感谢我的家人,有了你们,这一切都那么美好。
  感谢为了这本书付出辛勤劳动的朋友,没有你们,本书也不可能这么快和读者见面。
  由于WWF是一门非常新的技术,而且时间仓促,若有错误和不当之处,敬请读者不吝指正,也可以通过我的网站与我进行交流http://www.zhang-jin.net。

  张  瑾
  2008-5-26

封底文字

“在当今软件技术高速发展的时代,对工作流开发技术的掌握成为企事业单位信息化成功的首要因素。本书作者不但理论知识丰富,而且能第一时间将所学知识和经验进行总结,与广大读者进行分享,可见其深厚的软件开发功底。本书所提供的范例体现了其务实的精神,充分反映了作者为读者着想的细心之处。我相信广大读者通过对本书的学习,可以迅速掌握WWF的相关知识,并在日后的工作中得以运用。” ——万举勇 赛宝认证中心总经理 享受国务院特殊津贴专家 SEI授权CMMI主任评估师 广东省软件协会软件过程改进专业委员会首任理事长 WWF(Windows Workflow Foundation)作为微软的新技术之一,对广大软件从业人员和广大软件公司来说是非常重要的。WF在政府办公、OA系统、企业ERP等各个领域都有广泛的应用。只有真正意义上使用工作流的软件产品才能算作企业级的软件。 本书可以作为软件开发技术人员的参考资料,它将带领软件从业人员快速掌握WWF技术,并且将其运用到企业的软件开发当中。 本书特色 ●针对最新的WWF技术,从最基础的WWF提供的各种活动讲起,每个活动都会配合范例进行描述,最后配合项目案例详细讲述如何在实际中进行运用。 ●从具体操作和应用的角度来带领软件开发人员学习使用WWF,让广大软件开发人员迅速提高相关的知识和能力。 ●为进一步学习《WF本质论》一书打下坚实基础。《WF本质论》一书主要是从一个比较高的层面上对WWF进行剖析。 ●随书光盘中附带完整的范例代码和有用的参考资料。

作者简介

张 瑾:张 瑾: 微软认证高级项目经理,广东省软件协会过程改进专业委员会专家,希赛顾问团专家。有多年项目管理经验,在软件项目管理、软件过程改进、软件自动化测试等方面有深入的研究。2007年撰写了《自动化软件测试》一书,《CMMI之功能点分析法》等众多论文被国内各大知名网站发表和转载,并多次受广东省软件协会过程改进专业委员会、ITPub和希赛网的邀请为企业和广大软件从业人员进行专题培训。张瑾的个人主页是www.zhang-jin.net。

图书目录

前言

第1章  工作流理论概述 1
1.1  工作流管理系统的组成 3
1.2  工作流的运行模式 3
1.3  工作流资源分配模式 6
1.4  WWF 7
1.5  范例“Hello World” 9
1.5.1  创建应用程序项目 10
1.5.2  运行结果 11
1.6  本章小结 12
1.7  思考题 12
第2章  控制流程类型活动 13
2.1  Code活动 13
2.1.1  创建工作流项目 13
2.1.2  运行结果 14
2.2  Sequence 14
2.2.1  创建工作流项目 15
2.2.2  运行结果 16
2.3  IfElse 16
2.3.1  创建工作流项目 16
2.3.2  运行结果 19
2.4  While 20
2.4.1  创建工作流项目 20
2.4.2  运行结果 23
2.5  Policy 23
2.5.1  创建工作流项目 23
2.5.2  设置逻辑判断规则 25
2.5.3  运行结果 27
2.6  ConditionedActivityGroup 28
2.6.1  创建工作流项目 28
2.6.2  创建应用程序项目 31
2.6.3  运行结果 32
2.6.4  修改范例结束条件 32
2.7  Replicator 32
2.7.1  创建工作流项目 33
2.7.2  创建应用程序项目 35
2.7.3  运行结果 36
2.8  SynchronizationScope 37
2.8.1  创建工作流项目 37
2.8.2  运行结果 40
2.9  本章小结 40
2.10  思考题 40
第3章  事件类型活动 41
3.1  HandleExternalEvent 42
3.1.1  创建接口项目 42
3.1.2  创建工作流项目 43
3.1.3  创建应用程序 44
3.1.4  运行结果 46
3.2  CallExternalMethod 46
3.2.1  创建接口项目 47
3.2.2  创建工作流项目 47
3.2.3  创建应用程序 40
3.2.4  运行结果 50
3.3  Listen 50
3.3.1  创建接口项目 50
3.3.2  创建工作流项目 51
3.3.3  创建应用程序项目 52
3.3.4  运行结果 55
3.4  Delay 56
3.4.1  创建接口项目 56
3.4.2  创建工作流项目 56
3.4.3  创建应用程序项目 57
3.4.4  运行结果 58
3.5  EventHandlingScope 59
3.5.1  定义接口项目 59
3.5.2  定义业务实体对象 60
3.5.3  创建工作流项目 61
3.5.4  创建应用程序项目 63
3.5.5  运行结果 65
3.6  Parallel 66
3.6.1  创建接口项目 66
3.6.2  创建工作流项目 66
3.6.3  创建应用程序项目 68
3.6.4  运行结果 69
3.7  本章小结 70
3.8  思考题 70
第4章  事务和异常处理类型活动 71
4.1  FaultHandler 71
4.1.1  创建工作流项目 71
4.1.2  运行结果 74
4.1.3  修改工作流项目 74
4.2  Throw 76
4.2.1  创建工作流项目 76
4.2.2  运行结果 77
4.2.3  修改Throw范例 78
4.3  Compensate 78
4.3.1  创建工作流项目 79
4.3.2  创建应用程序项目 83
4.3.3  运行结果 84
4.3.4  多补偿活动 84
4.3.5  多补偿活动运行结果 86
4.4  TransactionScope 87
4.4.1  创建数据库 87
4.4.2  项目架构 88
4.4.3  创建实体类 89
4.4.4  创建数据访问层 90
4.4.5  创建接口项目 92
4.4.6  创建业务逻辑层 92
4.4.7  创建工作流项目 94
4.4.8  创建应用程序项目 95
4.4.9  运行结果 96
4.4.10  注意事项 97
4.5  CompensatableTransactionScope 98
4.6  本章小结 99
4.7  思考题 99
第5章  Web Service和与WF相关的活动 100
5.1  InvokeWorkflow 100
5.1.1  创建业务实体类 101
5.1.2  创建接口项目 101
5.1.3  创建子流程 102
5.1.4  创建主流程 102
5.1.5  运行结果 104
5.2  Terminate和Suspend活动 105
5.2.1  创建工作流项目 105
5.2.2  创建应用程序 107
5.2.3  运行结果 109
5.3  WebServiceInput&Output 110
5.3.1  创建接口项目 111
5.3.2  创建工作流项目 112
5.3.3  发布Web Service 114
5.3.4  创建应用程序项目 115
5.3.5  运行结果 117
5.3.6  Input和Output控件其他功能 117
5.4  InvokeWebService 118
5.4.1  创建Web Service项目 118
5.4.2  创建工作流项目 119
5.4.3  创建应用程序项目 121
5.4.4  运行结果 123
5.5  本章小结 124
5.6  思考题 124
第6章  WWF的持续化功能 125
6.1  创建SqlPersistenceService数据库 125
6.2  创建接口项目 126
6.3  创建工作流项目 127
6.4  创建应用程序项目 128
6.5  运行结果 130
6.6  本章小结 132
6.7  思考题 132
第7章  WWF的跟踪功能 133
7.1  WorkflowTrackingRecord 134
7.1.1  创建工作流项目 134
7.1.2  创建应用程序项目 136
7.1.3  运行结果 138
7.1.4  注意事项 139
7.2  ActivityTrackingRecord 139
7.2.1  创建工作流项目 140
7.2.2  创建应用程序项目 142
7.2.3  运行结果 143
7.3  UserTrackingRecord 143
7.3.1  创建工作流项目 143
7.3.2  创建应用程序项目 144
7.3.3  运行结果 145
7.4  TrackingRuleActionEvent 146
7.4.1  创建工作流项目 146
7.4.2  创建应用程序 146
7.4.3  运行结果 147
7.5  TrackingProfile 147
7.5.1  TrackingInfo 148
7.5.2  创建应用程序 149
7.5.3  TrackingService 151
7.5.4  TrackingProfile 152
7.5.5  TrackingChannel 155
7.5.6  创建工作流项目 157
7.5.7  运行结果 158
7.6  本章小结 159
7.7  思考题 159
第8章  状态机工作流 160
8.1  状态机工作流范例 160
8.1.1  创建接口程序 160
8.1.2  创建工作流程序 161
8.1.3  创建应用程序项目 163
8.1.4  运行结果 167
8.2  “StateInitialization”和
“StateFinalization”活动 169
8.2.1  创建接口程序 169
8.2.2  创建工作流项目 170
8.2.3  创建应用程序项目 171
8.2.4  运行结果 172
8.3  本章小结 173
8.4  思考题 173
第9章  自定义工作流活动 174
9.1  自定义活动的类型 174
9.2  自定义活动的属性 176
9.3  自定义活动中事件类型的属性 180
9.4  自定义活动的验证方式 181
9.5  自定义活动的外观 185
9.6  自定义活动范例 186
9.6.1  创建自定义活动 186
9.6.2  创建工作流项目 190
9.6.3  创建应用程序项目 191
9.6.4  运行结果 191
9.7  本章小结 192
9.8  思考题 192
第10章  动态修改工作流 193
10.1  动态添加或移除活动 193
10.1.1  动态添加一个活动 193
10.1.2  动态移除一个活动 194
10.1.3  向容器中动态添加一个活动 196
10.1.4  从容器中动态移除一个活动 197
10.2  动态修改判断条件 199
10.2.1  创建工作流项目 200
10.2.2  创建应用程序项目 201
10.2.3  运行结果 204
10.3  动态添加StateActivity活动 205
10.3.1  创建接口项目 205
10.3.2  创建工作流项目 205
10.3.3  创建应用程序项目 207
10.3.4  运行结果 210
10.4  本章小结 211
10.5  思考题 211
第11章  WWF项目综合应用 212
11.1  顺序类型工作流项目 212
11.1.1  创建报销单信息实体 212
11.1.2  创建接口项目 214
11.1.3  项目架构分析 214
11.1.4  编写存储过程 216
11.1.5  创建数据访问层 220
11.1.6  创建业务逻辑层 222
11.1.7  创建工作流项目 223
11.1.8  创建应用程序 225
11.1.9  运行结果 231
11.2  状态机类型工作流项目 234
11.2.1  定义项目接口 234
11.2.2  创建业务逻辑和数据访问层 234
11.2.3  创建工作流项目 234
11.2.4  修改应用程序 237
11.2.5  运行结果 241
附录A  思考题答案 244
附录B  光盘内容 248
附录C  范例数据库的恢复 252

教学资源推荐
作者: [美] 基普·R.欧文(Kip R.Irvine) 著
作者: 曹青 邱李华 郭志强
作者: 陈帆 和红杰 周荣辉
作者: 苏运霖
参考读物推荐
作者: 张秀宏 著
作者: 雷 宁
作者: [美]马尔奇·哈弗贝克(Marijn Haverbeke)著